本サイトは広告(アフィリエイトリンク・Google AdSense)を含みます。

JSON整形・圧縮・検証

APIの応答やログに埋もれたJSONを読みやすくしたいとき、設定ファイルのどこが壊れているか知りたいときに。貼り付けた瞬間に構文を確認します。

🔒 入力内容はお使いのブラウザ内だけで処理され、サーバーには送信されません。

JSON を入力すると、ここに構文チェックの結果が出ます。
0入力サイズ(バイト)
0出力サイズ(バイト)
-最上位の型
0階層の深さ

使い方

  1. 上の欄に JSON を貼り付けます。入力中に構文チェックが自動で走り、エラーがあれば行・列と周辺の文字を表示します。
  2. インデント(スペース2・4、タブ)を選び、「整形」を押すと読みやすい形に、「1行に圧縮」を押すと空白を取り除いた最小の形になります。
  3. 「ツリー表示」を押すと、折りたたみできる階層表示になります。深い構造の全体像を把握するときに便利です。
  4. 結果は「結果をコピー」でクリップボードへ、「.json をダウンロード」でファイルに保存できます。

変換の決まり

項目 扱い
構文チェック 自前の構文解析で、最初にエラーになった位置(行・列)と、その行の内容を表示します
緩い入力の自動修正 オンのとき、末尾のカンマ、シングルクォートの文字列、クォートなしのキー、// と /* */ のコメント、NaN・Infinity を受け付けます。出力は正しい JSON になります(NaN と Infinity は null になります)
キーをソート すべての階層で、キーを文字コード順に並べ替えます
非ASCII文字を \uXXXX にする 日本語や絵文字を あ のような表記に置き換えます。ASCII しか通らない環境へ渡すときに使います
数値 JavaScript の数値として扱うため、2^53 を超える整数や桁数の多い小数は丸められます
重複するキー 後に書かれた値が残ります
ツリー表示 要素数 20,000 個までを表示します。それ以上は整形結果をご覧ください

こんな時に

  • APIの応答が1行で返ってきて読めないとき。貼り付けて「整形」を押すだけで階層が見えます。
  • 設定ファイル(package.json、tsconfig.json など)を編集して動かなくなったとき。エラーの行と列が分かります。
  • 2つのJSONの差分を取りたいとき。両方を「キーをソート」で整形してから比較すると、順番の違いに惑わされません。
  • ログに \" で埋め込まれたJSON文字列を取り出したいとき。「エスケープ解除」で元に戻せます。

注意

入力内容はブラウザの中だけで処理され、サーバーには送られません。ただし、認証トークンや個人情報を含むJSONを扱うときは、作業後に「クリア」を押すことをおすすめします。

よくある質問

「予期しない文字」のエラーが出ますが、どこが悪いのか分かりません

エラー欄に行番号と列番号、その行の内容と「^」の位置を表示しています。よくある原因は、最後の要素の後ろに付いた余分なカンマ、'(シングルクォート)で囲んだ文字列、クォートで囲んでいないキー、コメントです。これらは「緩い入力を自動修正」をオンにすると読み込めます。

整形したら大きな数値が変わってしまいました

JavaScriptの数値は 2^53(約9007兆)を超える整数を正確に表せないため、それより大きな整数や桁数の多い小数は丸められます。IDなどの大きな数値を扱うJSONは、数値を文字列として扱うのが安全です。

キーの順番が変わるのはなぜですか?

「キーをソート」がオンの場合だけ、すべての階層でキーをアルファベット順(文字コード順)に並べ替えます。オフなら入力の順番を保ちます。JSONの仕様上、キーの順番に意味はありませんが、差分を取るときはソートしておくと比較しやすくなります。

「エスケープ解除」は何をするボタンですか?

ログやAPIの応答に {\"a\":1} のように \" や \n で埋め込まれたJSON文字列を、元のJSONに戻します。入力全体が1つのJSON文字列("..." で囲まれている)でも、囲みのない中身だけでも解除できます。

最終更新: 2026-10-24 / 監修: 飛田 宏紀(情報処理安全確保支援士(登録セキスペ))