JSON 整形

JSON を読みやすくインデント整形、または1行に圧縮(minify)します。構文エラーがあれば位置を添えてお知らせします。

入力

インデント

結果

※ ブラウザ内ですべて処理します(サーバーに送信しません)。標準の JSON.parse で解釈するため、末尾カンマやコメント付き JSON は受け付けません。

解説

このツールはJSON文字列を解析し、改行とインデントを付けて読みやすく「整形(pretty print)」するか、空白を取り除いて1行に「圧縮(minify)」します。APIのレスポンスや設定ファイルなど、人が読みにくい詰まったJSONを見やすくしたり、逆に転送用にコンパクトにしたいときに使います。

整形のインデントは「スペース2個」「スペース4個」「タブ」から選べます。たとえば {"a":1,"b":[2,3]} を整形すると、各キーや配列要素が改行・字下げされた階層の見える形になり、圧縮を押すと再び {"a":1,"b":[2,3]} の1行に戻ります。インデントを切り替えると、すでに表示中の整形結果はその場で新しいインデントに作り直されます。

解析と出力にはブラウザ標準のJSON.parse/JSON.stringifyを使います。整形は JSON.stringify の第3引数にインデント指定を渡すことで、圧縮は指定なしで呼び出すことで実現しています。そのため出力は標準のJSON仕様に厳密に従います。

構文に誤りがある場合は、できる範囲で「○行目・○文字目の付近を確認してください」とエラー位置を案内します。これは解析エラーに含まれる文字位置を、入力テキスト上の行・列に変換して表示しているものです。位置が取り出せないときは、元のエラーメッセージを添えて案内します。

注意点として、本ツールは標準のJSON.parseを使うため、JSONの仕様で認められていない書き方はエラーになります。具体的には、末尾カンマ([1,2,]など)、// や /* */ のコメント、キーや文字列をシングルクオートで囲む書き方、キーの引用符省略はいずれも無効です。これらを含むファイルは、修正してから貼り付けてください。

処理はすべてお使いのブラウザ内で完結し、入力内容がサーバーへ送信されることはありません。そのため、機密を含む設定ファイルやAPIレスポンスでも安心して貼り付けて確認できます。

よくある質問

JSONの整形(フォーマット)とは何ですか?

詰まった1行のJSONに、改行と字下げ(インデント)を付けて階層を見やすくすることです。本ツールではスペース2個・4個・タブから選べます。逆に空白を取り除いて1行にまとめる「圧縮(minify)」も同じツールで行えます。

整形と圧縮(minify)の違いは何ですか?

整形は改行とインデントを付けて人が読みやすくする処理、圧縮は不要な空白・改行を取り除いてデータを1行に小さくする処理です。たとえば整形した {"a": 1} を圧縮すると {"a":1} になります。

末尾カンマやコメント付きのJSONも整形できますか?

できません。標準のJSON.parseを使うため、末尾カンマ・// や /* */ のコメント・シングルクオート・引用符なしのキーなどは構文エラーになります。

構文エラーの場所はどう表示されますか?

可能な範囲で「○行目・○文字目の付近を確認してください」と、入力テキスト上のおおよその行・列を案内します。位置が取り出せない場合は元のエラーメッセージを表示します。

インデントは後から変えられますか?

はい。整形結果が表示された状態でインデント(2/4/タブ)を切り替えると、その場で新しいインデントに整形し直されます。

貼り付けたJSONはサーバーに送られますか?

送られません。整形・圧縮はすべてブラウザ内で処理され、入力はどこにも送信されません。