空白文字(見えない文字)とは?
空白文字とは、空白として表示されるか、まったく何も表示されないにもかかわらず、テキストとして扱われるUnicode文字のことです。空の名前や空のメッセージを受け付けないアプリでも、ソフトウェアから見れば入力欄は空ではないため、これらの文字なら通ります。コピー&ペーストできる透明文字や「空の文字」が探されているのはこのためです。
最もよく使われているのは Hangul Filler(ハングル・フィラー、U+3164、ㅤ)です。韓国語のハングルに属する文字で、音節の空いた位置を埋める役割を持ち、ほとんどのフォントでは文字1つ分の幅の空白として描画されます。Braille Pattern Blank(点字の空白、U+2800)は、点がひとつも盛り上がっていない点字のマスです。Zero Width Space(ゼロ幅スペース、U+200B)は幅をまったく持ちません。
このツールでは、そのすべてを利用できます。上のボタンから必要な文字をコピーしたり、最大1,000個をまとめて生成したり、隠れた文字を検出・削除に切り替えて、ほかの場所から貼り付けたテキストにどんな不可視文字が紛れ込んでいるかを確認したりできます。処理はすべてブラウザ内で行われ、貼り付けた内容がアップロードされることはありません。

空白文字をコピー&ペーストする方法
空白文字のコピーは2回タップするだけです。コピーした文字は目で確認できないため、ツールでは空白部分をハイライト表示し、文字が入っていることがわかるようにしています。
ページ上部のHangul Fillerカードで コピー をクリックします。最も多くの場所で使える空白文字です。
名前の入力欄やチャット欄、プロフィール文にCtrl+V(Macは Cmd+V)で貼り付けます。スマホでは長押しして「ペースト」を選びます。
アプリが文字を削除したり、名前が空だと表示されたりする場合は、一覧表のBraille Pattern BlankやHalfwidth Hangul Filler(半角ハングル・フィラー)を試してください。
空白テキスト生成を使えば、最大1,000個の空白文字を一度にコピーできます。名前の最低文字数を満たしたいときなどに便利です。
Advertisement
どの空白文字を使えばいい?
空白文字はいくつかのグループに分かれていて、どれが適しているかは貼り付ける場所によって変わります。特に重要なのは次の6つです。
空白として表示されるハングルの文字です。アプリはスペースではなく文字として扱うため、通常のスペースを取り除く処理(トリム)をすり抜けます。空白の名前や空のメッセージには、まずこれが定番です。
点のない点字のマスです。ホワイトスペースではなく記号なので、プロフィールやキャプション、投稿で詰められてしまう空行を残せます。
幅をまったく取りません。長い単語やURLを折り返せるようにしたり、単語を分割してリンクやメンションに変換されないようにしたりするのに使います。
U+200Dは複数の絵文字をつないで1つの絵にします(👨👩👧は3つの絵文字をこの文字でつないだものです)。U+200Cは、ペルシア語やヒンディー語などの文字で文字同士がつながるのを防ぎます。
見た目は普通のスペースですが、その位置で改行されなくなり、「10 km」や「Mr. Smith」が行をまたいで分かれるのを防ぎます。HTMLでは と書きます。
中国語・日本語・韓国語の組版で使われる全角のスペースで、CJK文字1文字分の幅があります。日本語入力中にスペースキーで入る「全角スペース」は、通常この文字です。
ゲームやアプリで名前・メッセージを空白にする
多くのゲームやアプリは、名前やメッセージが空でないかをチェックしており、その前に先頭と末尾のスペースを取り除くことがよくあります。通常のスペースだけで作った名前は削られて何も残らず、はじかれてしまいます。Hangul FillerやBraille Pattern Blankは、ソフトウェアから見るとスペースではないため、チェックを通過しつつ空白のように見えます。
ルールはプラットフォームごとに異なり、フィルターも随時変更されます。使う文字は必ず事前に試してから頼るようにしてください。特に、ゲーム内通貨を消費する名前変更の前には注意が必要です。
ゲームの空白ネーム:Free FireやPUBG Mobileなどのモバイルゲームでは、空白の名前や間隔を空けた名前にHangul Fillerがよく使われます。単語の間に入れれば、スペースを広げることもできます。
空のチャットメッセージ:LINEやWhatsApp、Telegramなどで、Hangul FillerまたはBraille Pattern Blankを1文字だけ送る方法がよく使われます。アプリには文字として認識され、相手には空の吹き出しに見えます。送れるかどうかはアプリの仕様次第なので、まず試してください。
プロフィールやキャプションの空行:何もない行にBraille Pattern Blankを1つ置くと、InstagramやTikTokで詰められてしまう行間を保てます。
Windowsで名前のないフォルダー:デスクトップのフォルダー名を変更するときにテンキーでAlt+255と入力すると、Windowsがノーブレークスペースを挿入し、名前のないフォルダーに見えます(日本語版Windowsなど、環境によっては入力できない場合があります)。
単語を離さない:数値と単位の間にノーブレークスペースを入れると、その途中で改行されなくなります。
Advertisement
空白文字・スペース・ゼロ幅文字の違い
どれも空っぽに見えますが、ソフトウェアでの扱いは異なります。この違いを知っておくと、ある文字はアプリで使えて別の文字は使えない理由がわかります。
空白の文字・記号
Hangul Filler、Halfwidth Hangul Filler、Braille Pattern Blank。目に見える幅があり、ホワイトスペースではなく文字や記号に分類されるため、JavaScriptの trim() のようなトリム関数でも削除されません。
Unicodeのスペース
No-Break Space、En Space、Em Space、Thin Space、Hair Space、Ideographic Space(全角スペース)。幅の異なるホワイトスペースで、ほとんどのトリム関数に削除されるため、空白の名前として使えることはまずありません。
ゼロ幅文字
Zero Width Space、Zero Width Joiner、Zero Width Non-Joiner、Word Joiner、そしてバイトオーダーマーク(BOM、U+FEFF)。幅を持たず、ほとんどが表示されない書式制御文字で、そのせいで見つけにくいバグの原因にもなります。
不可視文字を見つけて削除する方法
隠れた文字は、本来あるべきでない場所に紛れ込むとトラブルの原因になります。Webページ、PDF、Word文書、スプレッドシート、チャットアプリからコピーしたテキストには、ゼロ幅スペースやノーブレークスペース、バイトオーダーマークが含まれていることがよくあります。2025年には、一部のAIチャットボットの回答にナローノーブレークスペース(U+202F)が含まれているという報告もユーザーから寄せられました。
隠れた文字を検出・削除タブに切り替えて、テキストを貼り付けてください。隠れた文字はすべて、その位置にコードポイント(例:U+200B)として表示され、種類ごとの個数もわかります。ワンクリックできれいなテキストをコピーでき、ゼロ幅文字とフィラー文字は削除され、特殊なスペースは通常のスペースに置き換えられます。

コンパイルできないコード:「illegal character U+200B」のようなエラーや、JSONパーサーが先頭バイト(バイトオーダーマーク)で失敗するケース。
一致しないパスワードやユーザー名:パスワードと一緒にゼロ幅スペースをコピーしてしまうと、別のパスワードになってしまいます。
リンクや検索がうまくいかない:URLやメールアドレス、検索語の中に隠れた文字があると、見た目は正しくても失敗します。
データ取り込みの乱れ:バイトオーダーマークで始まるスプレッドシートやCSVファイル、数値の解析を妨げるノーブレークスペースを含むデータ。
Advertisement
HTML・JavaScript・Pythonでの不可視文字
開発者は、不可視文字を貼り付ける代わりにエスケープコードで書くことができ、ソースコードを読みやすく保てます。生のバイトを確認したい場合は、文字を二進数変換ツールに貼り付けてください。Hangul FillerはUTF-8で3バイト、11100011 10000101 10100100 です。
ㅤ <!-- Hangul Filler -->
⠀ <!-- Braille Pattern Blank -->
​ <!-- Zero Width Space -->
<!-- No-Break Space -->const HIDDEN = /[\u00AD\u200B-\u200F\u2060-\u2064\uFEFF\u115F\u3164\uFFA0\u2800]/g
text.match(HIDDEN) // list them
const clean = text.replace(HIDDEN, '')import re
HIDDEN = re.compile('[\u00ad\u200b-\u200f\u2060-\u2064\ufeff\u115f\u3164\uffa0\u2800]')
clean = HIDDEN.sub('', text)grep -nP '[\x{200B}-\x{200F}\x{FEFF}]' file.txtその他のテキスト・Unicodeツール
不可視文字は、Unicodeのほんの一角にすぎません。日常的なテキスト変換のそれ以外の部分は、次のツールでカバーできます。