仕様と根拠
対象にする文字
Unicode の C0 制御文字(U+0000〜U+001F)と DEL(U+007F)、C1 制御文字(U+0080〜U+009F)、BOM(U+FEFF)、ゼロ幅スペースなどのゼロ幅文字、NBSP・全角スペース・幅の違う空白、行・段落区切り、左右の向きを変える双方向制御文字、ソフトハイフンです。LF(U+000A)は行の区切りとして扱い、一覧には出しません。
位置の数え方
行は貼り付けた文章の行(LF で区切る)、列はその行の先頭から数えた何番目のコードポイントかです。絵文字などの 2 つの UTF-16 の単位でできた文字も 1 つと数えます。コードポイントは U+ に 16 進数を付けた形で示し、名前は自前の日本語の表記です。
埋め込み表示
本文のまま、見つけた文字の場所に ⟦U+200B⟧ のような印を置いた文章を作ります。文章の前後関係の中で、どこに不可視文字があるかを確かめるのに使えます。元の文字は印に置き換わるので、そのまま保存して使うときは元の文章を使ってください。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| Unicode 18.0 C0 Controls and Basic Latin のコード表 | 2026年10月29日 | C0 制御文字 U+0000〜U+001F と DEL U+007F のコードポイントを PDF で確認(チャートの文字名は転載せず、名前は自前の日本語表記)。BOM U+FEFF・ゼロ幅・NBSP などのコードポイントは Unicode の一般的な定義による |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 見た目が似た別の文字(全角の A と半角の A、ゼロと O など)の違いは検出しません。不可視のものだけが対象です。
- ここに挙げた文字以外の不可視の文字(私用領域、書式制御文字の一部など)は検出しない場合があります。
- ファイルの文字コードそのものの判定はしません。UTF-8 として貼り付けられた文字列を調べます。
ご利用にあたって
- この結果は挙げた範囲の不可視文字を調べた結果です。指摘がなくても、他の原因が残っていないとは言えません。
- 大きなテキストは端末の性能により処理に時間がかかることがあります。