Skip to content

JSONアンエスケープ

JSON文字列を読みやすいテキストにブラウザ内でアンエスケープ。\n・\t・\"・\\・\uXXXX を、囲み引用符の有無にかかわらずデコード。完全プライベート、アップロードなし。

トラッキングなし ブラウザで動作 無料
0 文字
デコード済みテキスト
0 文字
JSON仕様のデコード、引用符が任意のパース、サロゲートペアの再構築、不正入力のエラー処理についてレビュー済み — Go Tools エンジニアリングチーム · Jun 10, 2026

JSONアンエスケープとは?

JSONアンエスケープはJSONエスケープの逆です。エスケープシーケンス(\n、\t、\"、\\、\uXXXX)だらけの文字列を受け取り、それぞれをそれが表す文字に戻して、元のテキストを復元します。エスケープが文字列をJSONドキュメント内に保存できるよう安全にするのに対し、アンエスケープは保存された文字列を再び読めるようにします。

その必要性はデバッグやデータ作業で絶えず現れます。構造化ログからフィールドをコピーすると、本当のメッセージを隠す \n と \" だらけ。アンエスケープすると実際の複数行テキストが現れます。APIがリクエストボディを文字列として保存し(JSON-in-JSON)、内側のオブジェクトを読む必要があるとき、アンエスケープが {\"a\":1} を {"a":1} に戻します。レガシーシステムが、すべてのアクセントが \uXXXX になったASCIIセーフ出力を吐き出したとき、アンエスケープが café や résumé を復元します。いずれの場合も、データは技術的には無傷ですが、デコードされるまで読めません。

このツールはそのデコード経路のために3つの利点を備えて作られています。第一に、囲み引用符に寛容です。完全なリテラルでも、エスケープ済み本文だけでも貼り付ければ、正しく処理します。エスケープ済み文字列は通常、文脈から切り離してコピーされるからです。第二に、\uXXXX を正しくデコードし、サロゲートペアを絵文字のような適切な追加面文字に結合します。これは準拠したJSONパーサーと同一なので、シリアライザーでエスケープされたものは完璧にラウンドトリップします。第三に、100%ブラウザ内で実行されるので、デコードするログフィールドやペイロード(個人情報や機密情報をよく含む)がサーバーに届くことはありません。後で再エスケープするには当社のJSONエスケープツールを、デコード済みJSONを検証するにはJSONフォーマッターをご覧ください。

// Escaped input (copied from a log, quotes optional)
User said: \"it works!\"\nSession ended.

// Unescaped output — readable again
User said: "it works!"
Session ended.

// \uXXXX and surrogate pairs decode too
caf\u00e9 \ud83d\ude00  ->  café 😀

// JSON-in-JSON
{\"a\":1}  ->  {"a":1}

主な機能

JSONエスケープの完全デコード

JSONエスケープの全集合(\n \r \t \b \f \" \\ \/ と \uXXXX)を本物の文字へ、準拠したJSONパーサーと同一にデコードします。シリアライザーがエスケープしたものはバイト単位で戻ってきます。

引用符は任意

囲み引用符付きの完全な文字列リテラルでも、引用符なしのエスケープ済み本文だけでも貼り付けられます。ツールがどちらかを検出して正しくデコードします。ログやドキュメントの途中からコピーした文字列に最適です。

正しいUnicodeと絵文字

\uXXXX エスケープはそのUnicode文字にデコードされ、連続するサロゲートエスケープは正しい追加面文字に結合されます。\ud83d\ude00 は 😀 に、\u00e9 は é になります。コードポイントが壊れることはありません。

明確なエラー報告

不正な入力(認識されない文字の前の単独バックスラッシュや、不均衡な引用符)は、静かにゴミを生成するのではなく明示的なエラーバナーを表示するので、何を修正すべきか正確にわかります。

ラウンドトリップ検証のためのスワップ

1つの「方向を切り替え」ボタンでその場でエスケープモードに反転し、デコード済みテキストを再エンコードするので、結果を信用する前にアンエスケープ → エスケープが元の文字列を返すことを確認できます。

100%ブラウザ内処理のプライバシー

すべてのデコードがクライアントサイドで実行されます。アンエスケープするログフィールドやペイロード(多くは個人情報や機密情報を含む)がブラウザを離れることはありません。ネットワークタブで確認できます。貼り付け時のリクエストはゼロです。

ログからコピーしたエスケープ済み文字列

"User said: \"it works!\"\nSession ended."

\" と \n を含むJSONエスケープ済みのログフィールドです。アンエスケープすると、実際の引用符を含む本物の2行メッセージ(記録されたそのまま)が読めます。

JSON-in-JSONペイロードを読む

{\"event\":\"signup\",\"user\":{\"id\":42}}

エスケープ済み文字列として保存された内側のJSONオブジェクトです。アンエスケープすると本物のJSONが現れ、読んだり再パースしたりできます。囲み引用符は不要で、自動的に追加されます。

\uXXXX Unicodeエスケープをデコード

caf\u00e9 \ud83d\ude00 r\u00e9sum\u00e9

レガシーシステム由来のASCIIセーフなエスケープです。アンエスケープすると \u00e9 が é に、サロゲートペア \ud83d\ude00 が 😀 に戻ります。

複数行スニペットを復元

function greet(name) {\n  return \"Hi \" + name;\n}

1つのJSON文字列に平坦化されたコードスニペットです。アンエスケープすると本物の改行が復元され、再び読みやすく実行可能になります。

使い方

  1. 1

    エスケープ済み文字列を貼り付ける

    JSONエスケープ済みの文字列を、囲みの二重引用符あり・なしのどちらでも入力または貼り付けます。デコード済みテキストが即座に表示されます。「例を読み込む」をクリックすると、エスケープ済みのログ行や \uXXXX エンコードされた文字列などのサンプルを試せます。

  2. 2

    デコード済み出力を読む

    エスケープシーケンスが本物の文字になります。\n は改行に、\" は引用符に、\uXXXX はUnicodeになります。入力が不正な形式の場合、エラーバナーが問題を説明するので、問題のあるバックスラッシュを修正できます。

  3. 3

    結果をコピーまたは検証する

    「コピー」をクリックして読みやすいテキストを取得するか、JSONフォーマッターに送って検証します。「方向を切り替え」をクリックするとその場で再エスケープし、ラウンドトリップが元の文字列と一致することを確認できます。

よくあるデコードの落とし穴

\q や \x41 のような無効なエスケープ

JSONが認識するのは \n \r \t \b \f \" \\ \/ と \uXXXX だけです。それ以外の前のバックスラッシュ(\q やC言語風の \x41)は有効なエスケープではなく、デコードは失敗します。\x41 は \u0041 に置き換え、リテラルのつもりだった余分なバックスラッシュは取り除いてください(リテラルなバックスラッシュは \\ と書く必要があります)。

✗ 誤り
value: \q and \x41
// \q and \x hex are not valid JSON escapes -> error
✓ 正しい
value: \\q and \u0041
// literal backslash doubled; hex written as \u -> decodes

引用符なし入力での不均衡な引用符

本文だけ(外側の引用符なし)を貼り付けると、ツールはデコード前にそれを引用符で囲みます。本文自体にエスケープされていない二重引用符が含まれていると、囲み処理が壊れデコードは失敗します。内側の引用符を \" としてエスケープするか、完全に引用符で囲んだリテラルを貼り付けてください。

✗ 誤り
say "hi" there
// interior unescaped " breaks auto-wrapping -> error
✓ 正しい
say \"hi\" there
// interior quotes escaped -> decodes to: say "hi" there

二重化されなかったリテラルなバックスラッシュを期待する

入力中の単独のバックスラッシュは、エスケープの開始として解釈されます。実際にはリテラルなバックスラッシュが欲しかった場合(例:Windowsのパス)、それは \\ として二重化されて現れる必要があります。普通の文字の前の単独 \ は無効なエスケープのエラーを引き起こします。

✗ 誤り
path: C:\Users\Alice
// \U and \A are invalid escapes -> error
✓ 正しい
path: C:\\Users\\Alice
// doubled backslashes -> decodes to C:\Users\Alice

よくある使用例

構造化ログフィールドのデコード
JSONログ行から \n と \" だらけのメッセージフィールドをコピーしてアンエスケープし、エスケープシーケンスを目を凝らして見る代わりに、出力されたそのままの本物の複数行メッセージを読みます。
JSON-in-JSONペイロードを読む
エスケープ済み文字列フィールドとして保存された内側のJSONオブジェクトを本物のJSONに戻し、読んだりパーサーに貼り付けたりできます。Webhookエンベロープや監査ログでよく見られます。
ASCIIセーフ出力からUnicodeを復元
レガシーシステムの \uXXXX だらけの出力をアクセント付き文字・CJK文字・絵文字に戻し、純粋なASCIIに強制されたデータの人が読める形を復元します。
コードスニペットの平坦化を戻す
1つのJSON文字列に折りたたまれたスクリプトやクエリ(すべての改行が \n)を、適切に整形された複数行の読みやすいコードに戻します。
二重エンコードされたデータのデバッグ
値が \\n や \\\" のように見えるとき、一度アンエスケープして、上流で誤って2回エスケープされていないか調べ、生成側を修正します。よくある連携バグです。
APIエラーメッセージの検査
多くのAPIは、JSONエンベロープ内のエスケープ済み文字列としてエラー詳細を返します。メッセージをアンエスケープして、エスケープシーケンスの陰に隠れたスタックトレースやネストされたペイロードを読みます。

技術的な詳細

デコードアルゴリズム
ツールは入力をJSON文字列としてパースします。すでに二重引用符で囲まれていればそのままデコードし、そうでなければ生の入力を先に引用符で囲むので、引用符なしのエスケープ済み本文でもデコードできます。認識される各エスケープ(\n \r \t \b \f \" \\ \/ \uXXXX)はその文字にマッピングされます。これは準拠したJSONパーサーを反映しており、シリアライザーでエスケープされた任意の文字列が正確な元の形に戻ることを保証します。
サロゲートペアの再構築
\uXXXX エスケープは1つのUTF-16コード単位を生みます。上位サロゲート(\uD800–\uDBFF)の直後に下位サロゲート(\uDC00–\uDFFF)が続くとき、2つは基本多言語面を超える1つのコードポイントに結合されます。よって \ud83d\ude00 は、壊れた2つの半分ではなく、1つの文字 😀 にデコードされます。
検証とエラー処理
入力に無効なエスケープ(認識されない文字が続くバックスラッシュや、不正な形式の \u シーケンス)や、囲み処理を壊す不均衡な引用符が含まれる場合、デコードはきれいに失敗し、破損した出力を吐き出す代わりにエラーバナーが表示されます。有効な入力は常に正確なデコード済み文字列を生成し、無効な入力が紛らわしい部分的な結果を生むことは決してありません。

ベストプラクティス

引用符あり・なしのどちらでも貼り付け可能
囲み引用符を切り取る時間を無駄にしないでください。ツールは "hello\nworld" と hello\nworld を同一にデコードするので、コピーしたものをそのまま(より大きなドキュメントの途中から取り出した断片を含めて)貼り付けて結果を読めます。
一度アンエスケープし、二重エンコードを確認する
デコード済み出力にまだ \n のようなバックスラッシュシーケンスが見える場合、元は上流で二重エスケープされていました。もう一度アンエスケープして確認し、繰り返しのデコードに頼るのではなく、生成側が1回だけエスケープするよう修正します。
デコード済みJSONを検証する
JSON-in-JSONペイロードをアンエスケープした後、結果を当社のJSONフォーマッターに通して、有効であることを確認し整形します。アンエスケープはテキストを復元し、フォーマッターは構造を確認します。
スワップでラウンドトリップを検証する
「方向を切り替え」をクリックしてデコード済みテキストを再エスケープし、開始時の文字列と一致するか確認します。不一致は、不正な形式の入力や予期しないエスケープを指し示し、問題が伝播する前にデータの問題を表面化させます。

よくある質問

このJSONアンエスケープツールは何をしますか?
JSONエスケープを逆変換します。JSONエスケープ済みの文字列を受け取り、エスケープシーケンスをそれが表す文字へとデコードして戻します。すべてブラウザ内で行われます。\n は本物の改行に、\t はタブに、\" は二重引用符に、\\ は1つのバックスラッシュに、\/ はスラッシュに、\uXXXX は対応するUnicode文字(絵文字や追加面の文字体系のサロゲートペアを含む)になります。結果は元の、人が読める形のテキストです。文字列は囲みの二重引用符あり・なしのどちらでも貼り付けられ、ツールは両方を検出して処理します。すべてがクライアントサイドで実行されるため、機密データを含むエスケープ済みペイロードがマシンを離れることはありません。
囲みの二重引用符を含める必要がありますか?
いいえ。ツールは両方の形式を受け付けます。"hello\nworld" のような完全なJSON文字列リテラル(外側の引用符あり)を貼り付ければ、そのままパースされます。エスケープ済み本文だけ hello\nworld(外側の引用符なし)を貼り付ければ、ツールがデコード前にそれを引用符で囲みます。これは便利です。エスケープ済み文字列はより大きなドキュメントの途中からコピーされることが多く、そこでは囲み引用符が置き去りにされるからです。どちらの方法でも同じデコード済みテキストが得られます。
私のデータはどこかにアップロードされますか?
いいえ。すべてのデコード処理はJavaScriptを使ってブラウザ内で完結します。貼り付けたエスケープ済み文字列がサーバーに送信・保存・記録・分析されることは一切ありません。そのため、個人情報や機密情報を含む可能性のあるログフィールド・Webhookペイロード・設定値のデコードでも安全です。ブラウザのネットワークタブで確認できます。貼り付けてもネットワークリクエストはゼロです。入力を取得するCookieも、貼り付けた内容を読むサードパーティ分析もありません。
なぜ「無効なエスケープシーケンス」エラーが出るのですか?
このエラーは、入力が有効なJSONエスケープ済み文字列ではないため、一意にデコードできないことを意味します。最も一般的な原因は、JSONがエスケープとして認識しない文字が続く単独のバックスラッシュです。たとえば \q や \x41 です(JSONには \x の16進エスケープがなく、\u を使います)。もう1つの原因は、引用符なし入力の中の不均衡な、または余分な二重引用符で、自動的な囲み処理を壊します。すべてのバックスラッシュが有効なエスケープ(\n \t \r \b \f \" \\ \/ \uXXXX)を開始しているか、そして引用符が正しく対になっているかを確認してください。
文字列として保存されたJSONオブジェクト(JSON-in-JSON)を読むにはどうすればよいですか?
エスケープ済み文字列(たとえば {\"a\":1})を貼り付けると、ツールがそれを本物のJSON {"a":1} にデコードして戻し、読んだりパーサーにコピーしたりできます。この二重デコードは、Webhookエンベロープ・メッセージキューのレコード・監査ログがリクエストボディをエスケープ済み文字列フィールドとして保存したときに、まさに必要となるものです。アンエスケープ後、結果を当社のJSONフォーマッターに貼り付けて整形・検証してください。逆方向に進んで埋め込み用にJSONをエスケープするには、JSONエスケープツールをお使いください。
\uXXXX と絵文字を正しくデコードしますか?
はい。各 \uXXXX はそのUTF-16コード単位にデコードされ、連続する上位/下位サロゲートエスケープは正しい追加面の文字に結合されます。よって \ud83d\ude00 は 😀 に、\u00e9 は é になります。これは準拠したあらゆるJSONパーサーが行うのと同じデコードであり、当社のJSONエスケープツール(または任意のシリアライザー)でエスケープされた文字列が、ここでバイト単位で正確な元の形にラウンドトリップして戻ることを意味します。

Base64エンコーダー&デコーダー

エンコーディングとフォーマット

Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。

Base64 画像変換ツール

エンコーディングとフォーマット

Base64 文字列やデータURIをブラウザ上で画像に戻します。プレビューし、寸法と MIME を確認して、PNG・JPG・GIF・SVG としてダウンロード。アップロード不要。

CSV to JSON 変換ツール

エンコーディングとフォーマット

CSVをブラウザ内で即座にJSONに変換。RFC 4180・型推論・ヘッダー行・大整数安全対応。100%プライベート、アップロード不要。

HTML Markdown 変換ツール

エンコーディングとフォーマット

HTML をブラウザ内できれいな Markdown に変換 — GFM のテーブル、タスクリスト、リンク対応。ATX/Setext 見出しとインラインまたは参照リンクを選択。Web コンテンツの移行や LLM への投入に最適。完全プライベートでアップロード不要。

画像 Base64 変換ツール

エンコーディングとフォーマット

画像を Base64 データURIに変換 — PNG・JPG・GIF・WebP・SVG・ICO 対応。HTML・CSS・Markdown・JSON 形式で出力&コピー。完全プライベートでアップロード不要。

JSON Diff(差分)

エンコーディングとフォーマット

2つのJSONファイルをブラウザで即座に比較・差分確認。サイドバイサイドのハイライト表示、RFC 6902 JSON Patch出力、タイムスタンプやIDなどのノイズフィールドを無視。100%プライベート、アップロード不要。