不可視文字ビューア
テキストを貼り付けると、普段は痕跡を残さない文字をすべて表示します。スペース、タブ、改行を印として示し、さらに実際に問題を起こす文字を強調します。ゼロ幅スペースや結合子、バイトオーダーマーク(BOM)、ノーブレークスペースやその他の Unicode 空白、ソフトハイフン、双方向制御文字、C0・C1 制御コードなどです。各印は種類ごとに色分けし、Unicode 名称とコードポイントを添えて表示し、まとめ欄でそれぞれの出現回数を数えます。あってはならない文字を見つけたら、通常のスペースや改行はそのままに、ゼロ幅・制御・双方向の各文字をワンタップで削除できます。すべてブラウザ内で処理し、確認したテキストはアップロードされません。
- スペース・タブ・改行・ゼロ幅文字・BOM・Unicode 制御コードをその場で表示
- 各文字を種類ごとに色分けし、Unicode 名称とコードポイントを表示
- 隠れた文字ごとの件数を集計し、コピーした断片の中身を把握できる
- ゼロ幅・制御・双方向の文字をワンタップで削除し、通常の空白は保持
- すべてブラウザ内で動作し、貼り付けた内容はアップロードしない
文字数
136
不可視
14
種類
12
- ↵改行(LF)空白U+000A3
- ⇥タブ空白U+00091
- ␍復帰(CR)空白U+000D1
- NBSPノーブレークスペースUnicode 空白U+00A01
- SHYソフトハイフンゼロ幅U+00AD1
- ZWSPゼロ幅スペースゼロ幅U+200B1
- ZWNJゼロ幅非結合子ゼロ幅U+200C1
- ZWJゼロ幅結合子ゼロ幅U+200D1
- BOMバイトオーダーマークゼロ幅U+FEFF1
- U+202C双方向制御文字双方向U+202C1
- U+202E双方向制御文字双方向U+202E1
- U+0007制御文字制御U+00071
概要
見えない文字に絞った検査ツールです。テキスト中の位置を示し、正確に名前を付け、数えることで、コピーした文字列の謎を解きます。
- 01
その場で表示
隠れた各文字を元の位置に小さな印で示すため、ゼロ幅スペースや余分な制御コードが可視の文字のどこにあるかが正確に分かります。
- 02
正確な名称
各印には Unicode 名称とコードポイントが付くので、ただのスペースから右から左への上書きまで、ドキュメントやバグ報告と照合できます。
- 03
種類ごとの色分け
空白、Unicode 空白、ゼロ幅文字、双方向制御文字、制御コードをそれぞれ別の色で示し、怪しい文字が通常の空白から際立ちます。
- 04
件数とまとめ
まとめ欄が隠れた文字を種類ごとに件数付きで一覧します。断片に余分な印が一つだけか、数百あるかを一目で確認できます。
- 05
不要な文字を削除
ゼロ幅・制御・双方向の文字をワンタップで削除し、スペース・タブ・改行は保持するため、レイアウトを崩さずに文字列を整えられます。
- 06
ローカルで安全
検出はすべてブラウザ内で行われます。確認するテキスト(他所から貼り付けた機密を含むことがあります)はサーバーに送信されません。
使い方
確認したいテキストを貼り付け、印を読み取り、必要なら整えます。
- 01
左の入力欄にテキストを貼り付け・入力します。表示結果は入力に合わせて更新されます。
- 02
印を読み取ります。スペース・タブ・改行は控えめに、ゼロ幅・制御・双方向の文字はそれぞれの色で際立ちます。
- 03
任意の印にカーソルを合わせると Unicode 名称とコードポイントが表示され、まとめ欄では種類ごとの合計を確認できます。
- 04
通常のスペースが邪魔で、珍しい文字だけを見たいときは「スペースを表示」をオフにします。
- 05
「隠れ文字を削除」でゼロ幅・制御・双方向の文字を取り除き、整えたテキストをコピーして戻します。
詳細
隠れた文字をはっきり見せ、正しく名付け、推測なしに対処できるようにすることが狙いです。
- スペース・タブ・改行(LF)・復帰(CR)を示し、行末の空白や混在した改行コードを把握できます。
- ゼロ幅スペース・結合子・非結合子・ワードジョイナー、そしてバイトオーダーマークを検出します。
- 通常のスペースに見えるノーブレークスペースや全角スペースなどの Unicode 空白を示します。
- テキストを誤った順序で表示させる上書きを含む、双方向制御文字を強調します。
- パーサーや端末を壊しかねない C0・C1 制御コードと削除文字を表示します。
- 各文字に Unicode 名称とコードポイントを付け、曖昧さなく報告できます。
- 種類ごとの件数と、テキスト中の隠れた文字の合計を数えます。
- 通常の空白を保ったまま、ゼロ幅・制御・双方向の文字を一度に削除します。
- ローカルで動作しアップロードしないため、私的な文書からコピーした内容も安心です。
活用シーン
隠れた文字はコピー&ペースト、リッチエディタ、各種エクスポートから紛れ込みます。見えるようにすれば、分かりにくいバグが明白になります。
-
コピペ不具合の調査
ドキュメントやチャットから紛れ込み、検索・一致・ビルドを壊したゼロ幅スペースやノーブレークスペースを見つけます。
-
コードと設定の整理
ソース・YAML・JSON の中で、パーサーが理由もなく拒否する余分な制御コード、ノーブレークスペース、先頭の BOM を見つけます。
-
隠しテキストの確認
リンクやファイル名、見た目と実行が異なるコードを偽装するのに使われるゼロ幅文字や双方向上書きがないか確認します。
-
公開前の内容の正規化
CMS やデータベースに入れる前に、貼り付けた文章に不要な不可視文字がないか確認して取り除きます。
-
そっくりな二つの文字列の比較
見た目は同じなのに比較すると違う二つの値について、不可視文字を表示して実際の相違点を突き止めます。
-
データ取り込みの点検
CSV や表計算のエクスポートから一行のサンプルを取り、後続処理を壊す行末の空白や制御コードがないか調べます。
使い方のヒント
いくつかの習慣で使い勝手が増し、整えた結果も予測しやすくなります。
- 文章がほとんど通常の空白で、珍しい文字だけを目立たせたいときは「スペースを表示」をオフにします。
- 削除する前に Unicode 名称とコードポイントを確認します。ノーブレークスペースなど意図的な文字もあるためです。
- 「隠れ文字を削除」はスペース・タブ・改行を残します。行末の空白も直したい場合は別途処理してください。
- どの文字が含まれるかを確認するだけなら、ファイル全体ではなく代表的な短いサンプルを貼り付けます。
- 整えた後はテキストをコピーして、問題が起きた場所で再確認します。貼り先が独自の文字を加えることがあるためです。
- コードやファイル名の双方向上書きは、単なるノイズではなく調査に値する警告として扱います。
制限事項
限界を知れば、完全な Unicode 解析器やセキュリティスキャナーと取り違えずに済みます。
- 検出するのは厳選した不可視・制御文字のセットで、完全な Unicode プロパティのデータベースではありません。
- 文字と件数を報告しますが意図は判断しないため、印が付いた文字が攻撃の証拠になるわけではありません。
- 「隠れ文字を削除」はゼロ幅・制御・双方向の文字のみを削除し、ノーブレークスペースを含む空白はすべて残します。
- 非常に長いテキストではその場のプレビューに上限がありますが、集計は入力全体を反映します。
- 対象は文字であり、ファイルやエンコーディングではありません。ファイルのエンコーディング不一致を単独で検出することはできません。
- 処理はローカルで行われるため精度はブラウザに依存し、整えたテキストの使い道は利用者次第です。
よくある質問
よくある質問は、何を検出するか、削除の仕組み、アップロードの有無についてです。
ここで言う不可視文字とは何ですか。
スペース・タブ・改行に加え、幅や字形を持たずに描画される文字です。ゼロ幅スペースや結合子、バイトオーダーマーク、ノーブレークスペースやその他の Unicode 空白、ソフトハイフン、双方向制御文字、C0・C1 制御コードを含みます。
見た目が同じ二つの文字列の挙動が違うのはなぜですか。
多くは見えない文字が原因です。通常のスペースの代わりにノーブレークスペースが入っていたり、隠れたゼロ幅スペースが挟まっていたりします。両方をここに貼ると、印が相違点を示します。
「隠れ文字を削除」は実際に何を消しますか。
ゼロ幅文字、バイトオーダーマーク、双方向制御文字、ソフトハイフン、C0・C1 制御コードを削除します。通常のスペース・タブ・改行は残るので、レイアウトは保たれます。
通常のスペースを表示しないようにできますか。
できます。「スペースを表示」をオフにすると通常のスペースは普通の文字として扱われ、タブ・改行とより珍しい文字だけが印付けされます。
双方向テキストの仕掛けにも対応しますか。
はい。左から右・右から左へのマークや、埋め込み・上書き・分離の制御文字を示します。これらが、テキストを誤った順序で表示させるのに使われる文字です。
テキストはどこかにアップロードされますか。
いいえ。検出・集計・削除はすべてブラウザのタブ内で行われるため、私的なファイルからコピーしたテキストを確認しても端末から外に出ません。
関連ツール
テキストツール群を続けて使えます。書いた内容を数える、整える、英字の大小を変える、いずれも隠れた文字を表示する作業と自然に組み合わせられます。