JSON フォーマッター

ブラウザで JSON を整形・圧縮・検証。2/4 スペースやタブのインデント、キーの再帰ソート、大きな数値をそのまま保持し、.json ファイルの読み込みと保存にも対応。

入力内容とファイルはブラウザ内に留まります

入力 JSON

JSON を貼り付けるか .json ファイルをここにドロップすると、整形・圧縮・キーの並べ替えができます。

エディター内では Tab でインデントします。Esc を押してから Tab でエディターの外に移動します。

このページの内容

JSON ドキュメントを貼り付けるか開いて、インデントのそろった読みやすいテキストに整形したり、1 行に圧縮し直したりできます。エディターは構文ハイライト、オブジェクトや配列の折りたたみ、パーサーのエラー位置の表示に対応し、データはどこにも送信されません。

詳細な機能

整形 は階層ごとに 2 スペース、4 スペース、またはタブでドキュメントを書き直し、コンパクトモード (圧縮) は意味のない空白と改行をすべて取り除きます。キーをソート はすべてのネストレベルで各オブジェクトのキーを並べ替えるので、2 つの JSON ファイルを diff で比較しやすくなります。JSON.rawJSON に対応したブラウザ (現行の Chrome、Edge、Firefox) では、数値はソースどおりに出力され、12345678901234567890 や 1.0 が丸められたり短縮されたりすることはありません。

入力はブラウザの厳格な JSON パーサーでチェックされます。コメント、末尾のカンマ、シングルクォートはエラーになり、メッセージが問題の箇所を示します。たとえば Chrome では Expected double-quoted property name in JSON at position 7 (line 1 column 8) と表示されます。1 行に圧縮された JSON を含め、数 MB のファイルでもエディターは軽快に動作し、Ctrl/Cmd+F で中を検索できます。

.json ファイルを開くかエディターにドロップし、結果をコピーするか formatted.json としてダウンロードします。インデント、ソート、コンパクトの設定はこのブラウザに記憶されますが、JSON テキスト自体が保存やアップロードされることはありません。

実用例

レスポンスを圧縮する: コンパクトモードをオンにすると、複数行にわたる { "a": [1, 2], "b": "x" } が {"a":[1,2],"b":"x"} になります。

すべての階層でキーをソートする: {"b":1,"a":{"d":true,"c":[1,2]}} にキーのソートとコンパクトモードを適用すると {"a":{"c":[1,2],"d":true},"b":1} になります。

大きな ID をそのまま保つ: {"id": 12345678901234567890, "price": 1.0} は {"id":12345678901234567890,"price":1.0} に圧縮されます。単純に JSON.parse + JSON.stringify を通すと、ID は 12345678901234567000 に、価格は 1 になってしまいます。

構文エラーを見つける: {"a":1,} は整形されず、エラーは位置 7 (1 行目 8 列目)、つまり } の前の末尾カンマを指します。

このツールの使い方

  1. JSON を追加する

    テキストを 入力 JSON エディターに貼り付けるか、開く をクリックして .json ファイルを読み込むか、ファイルをエディターにドロップします。

  2. 整形方法を選ぶ

    インデントサイズ (2スペース、4スペース、タブ) を選び、必要に応じて キーをソート や コンパクトモード (圧縮) をオンにします。

  3. 整形する

    整形 をクリックするか Ctrl+Enter (macOS では Cmd+Enter) を押します。無効な JSON はエディターの上に表示され、テキストはそのまま残ります。

  4. 結果を使う

    コピー をクリックして結果をクリップボードに入れるか、ダウンロード で formatted.json として保存します。

ヒントとベストプラクティス

  • インデント、キーのソート、コンパクトモードを変更すると、現在のテキストがすぐに再整形されます。
  • JSON5 風の入力 (コメント、末尾のカンマ、シングルクォート、クォートなしのキー) は正しい JSON ではありません。パーサーは最初のそうした文字で停止します。
  • キーのソートは単純な文字順なので、"B" は "a" より前に来ます。また "2" や "10" のような整数風のキーは常に先頭に並びます (JavaScript オブジェクトの仕様)。
  • 行番号の横の矢印をクリックすると大きなオブジェクトや配列を折りたためます。Ctrl/Cmd+F はスクロールで見えない行のテキストも検索できます。
  • エディター内では Tab でインデントが入ります。フォーカスを外すには Esc を押してから Tab を押します。
  • 一度開いた後はオフラインでも動作し、JSON がブラウザの外に出ることはありません。