文字列エスケープ・アンエスケープ|JavaScript/JSON/HTML/正規表現の4形式対応無料ツール
JavaScriptやHTML・JSON・正規表現の特殊文字をエスケープ/アンエスケープできる無料オンラインツール。リアルタイム変換、ブラウザ内処理でデータはサーバーに送信されません。
エスケープ形式
このツールについて
使い方・特徴・補足情報
文字列エスケープ・アンエスケープとは
文字列エスケープツールは、特殊文字をエスケープ・復元するツールです。JavaScript・JSON・HTML・正規表現の4形式に対応します。
エスケープとは、特別な意味を持つ文字を、ただの文字として扱えるよう変換する処理です。
HTML で < をそのまま書くとタグになりますが、< と書けば不等号の文字として正しく表示されます。
入力はすべてブラウザ内で処理し、外部へ送りません。コードや設定ファイルも手元で安全に扱えます。
👤 こんな人におすすめ✨
コードを書く開発者
✅ 楽になること
特殊文字のエスケープ・復元
✍️ 避けたい手間
エスケープ漏れや多重エスケープ
解決できる困りごと
- HTML や JSON に貼る文字列で <, " のエスケープ漏れを防ぎやすい
- 正規表現のメタ文字を手でエスケープして書き間違える手間を減らせる
- ログから取り出した文字列を元の形に戻す作業を短縮できる
使い方
- 上部のタブで変換したい形式(JavaScript / JSON / HTML / 正規表現)を選択します。
- 「エスケープ」または「アンエスケープ」の方向を選択します(正規表現はエスケープのみ)。
- 入力テキストエリアに変換したい文字列を貼り付けます。
- リアルタイムで変換結果が下のテキストエリアに表示されます。
- 「コピー」ボタンで結果をクリップボードにコピーして利用します。
使用例
JSON 文字列のエスケープ
改行・タブ・ダブルクオートを含む文字列を JSON に埋め込めるエスケープ済み形式に変換する例です。
入力
モード: JSON / 方向: エスケープ
入力:
田中さんは「こんにちは」と言った。
改行を含む文章です。
出力
"田中さんは「こんにちは」と言った。\n改行を含む文章です。"
HTML エンティティ化
ブログ記事に HTML タグをそのまま表示するため、特殊文字をエンティティ参照に変換する例です。
入力
モード: HTML / 方向: エスケープ
入力:
<p class="alert">価格は 5 < 10 円</p>
出力
<p class="alert">価格は 5 < 10 円</p>
活用シーン
HTMLテンプレートのXSS対策
ユーザー入力を HTML に出す前にエスケープをかけ、XSS を防げます。静的サイトでも SSR でも、表示前の保護に使えます。
JavaScriptコードの動的生成
データを JS に埋め込むとき、文字列リテラルとして正しくエスケープできます。テンプレートエンジンの動作確認にも向きます。
JSON文字列のデバッグ
API レスポンスの文字列に含まれるエスケープシーケンスを確認・修正できます。ネストした改行やタブもすぐ復元できます。
正規表現の入力安全化
検索キーワードを new RegExp() へ渡す前に正規表現エスケープをかけられます。メタ文字による誤動作を防げます。
エスケープ済み文字列の復元確認
ログの \n や \uXXXX などのシーケンスを、実際の文字に戻して確認できます。デバッグの見通しが良くなります。
翻訳ファイルの動作検証
翻訳ファイル(JSON/PO)のエスケープ表現を、復元・再エスケープできます。表示時の見え方を即座に確かめられます。
技術的な解説
補足: 仕組み
4形式それぞれに対象文字マップを持ち、String.prototype.replace() を文字単位で適用します。
HTML は < などを < に変換します。& を最初に処理しないと多重エスケープになるため、置換順を固定しています。
JSON は RFC 8259 準拠で、制御文字を \uXXXX に変換します。正規表現は .* +? などのメタ文字をバックスラッシュで保護します。
もっと詳しく
アンパサンドを最初に変換する理由
HTML エスケープでは & を必ず最初に処理します。先に < を < にすると、その & を後から再変換し、&lt; という二重エスケープが起きるためです。
& は他のエンティティの起点になる文字です。本ツールは置換順をハードコードし、どんな入力でも多重エスケープが起きないようにしています。
正規表現エスケープに逆変換がない理由
JS・JSON・HTML は復元と1対1で対応しますが、正規表現はエスケープ専用です。\. を機械的に外すと、リテラルのドットか、手で \ を付けた . かを区別できません。
意味を壊さず戻す方法がないため、正規表現だけ復元を提供していません。new RegExp() へ動的な文字列を渡す前の保護に使ってください。
関連ツール
同じカテゴリの他のツールも合わせてどうぞ。