JSON整形
貼り付けるだけで自動整形。エラーは行番号と列で指摘、インデントは 2/4/Tab から選択、圧縮も1クリック。
使い方
- 左の入力欄に JSON を貼り付けます。入力した瞬間に自動で整形が走るので、最初の1回だけ「整形」を押せば、あとは編集するたびに右の出力欄が追従します。
-
構文エラーがあると下部の赤いバーに
エラー (○行×列): ...の形式で位置が出ます。ボタン押下時はキャレットが該当位置に自動で飛ぶので、目で行をたどる手間が省けます。 -
インデントは
2 / 4 / Tabから選択できます。pretty モード中に切り替えれば即座に再整形されます。Tab はそのまま\t文字として出力されるので、読み手のエディタの Tab 幅設定に従います。 - 「圧縮」ボタンで改行と空白を取り除いた 1行 JSON (minify) に切り替えできます。再度「整形」を押せば pretty に戻ります。圧縮モード中はインデント切替は効きません。
- 右下のステータスバーに「文字数 / バイト数 (UTF-8) / 行数」が常時表示されるので、API のサイズ上限調査や、ペイロード削減の効果測定にもそのまま使えます。
-
「結果をコピー」で出力をクリップボードへ。「サンプル」を押すと動作確認用の JSON が入力欄に入ります。
Cmd / Ctrl + Kで入力欄に即フォーカスできるショートカット付きです。
こんな時に使えます
API レスポンスの中身を読みたい
ターミナルや DevTools に出てきた1行 JSON を貼り付けて整形すれば、ネストの構造がそのまま目で追えるようになります。デバッグ時にレスポンスを Slack に貼るときも、整形済みのほうがレビュアーに親切です。
構文エラーの原因を特定したい
末尾カンマ、シングルクォート、キーの引用符抜けなどの「ありがちな壊れ方」を、行番号と列番号でピンポイント指摘します。長文 JSON でも、エラー位置に直接ジャンプできるので原因調査が早く終わります。
ペイロードを最小化したい
設定ファイルや埋め込み用の JSON を minify モードで圧縮し、文字数・バイト数の差をその場で確認できます。CDN 配信のサイズ削減や、URL クエリ・data-* 属性への埋め込みに便利です。
機密を含む JSON を扱いたい
パース・整形はすべてブラウザ内で完結します。入力は端末の localStorage に保存されるのみで、サーバーには一切送信されません。社外秘のトークンや個人情報を含む JSON でも、外に出ない設計です。
仕様のポイント
- 厳密な JSON 仕様に準拠: 内部で標準の
JSON.parseを使用しています。コメント・末尾カンマ・シングルクォート・キーの引用符抜けはすべて構文エラー扱いです (JSON5 / JSONC には対応していません)。 - エラー位置を行・列で表示: V8 (Chrome / Edge) と Firefox の両方のエラー形式を解析し、共通の
○行×列形式で指摘します。ボタン押下時はキャレットを該当位置に移動するので、修正がそのまま再開できます。 - 入力中も自動で再整形 (debounce 200ms): タイピング中に随時パースが走り、エラー中は前回の整形結果を半透明で残します。「直すたびに整形ボタンを連打」する必要はありません。
- インデントは 2 / 4 / Tab を選択可能: 内部実装は
JSON.stringify(value, null, spacer)相当で、エディタや言語の慣習にあわせて切り替えられます。 - サイズはバイト (UTF-8) と行数で常時表示:
TextEncoderで UTF-8 のバイト数を正確に計算します。マルチバイト文字 (日本語・絵文字) を含む JSON も、実際の転送サイズで判断できます。 - すべてブラウザ内で完結: 入力内容はサーバーに送信されません。次回も同じ内容で開けるよう、入力は端末の
localStorageにのみ保存されます (容量超過時はトーストで通知)。
もっと詳しく:JSON でつまずきやすいポイント
壊れやすい典型パターン
JSON が構文エラーになる原因はだいたい決まっています。末尾カンマ([1,2,])、シングルクォート(JSON はダブルクォートのみ)、キーの引用符抜け({name:1})、先頭の BOM 混入、文字列内の未エスケープな改行・制御文字、そして NaN / Infinity(JSON には存在しない値)あたりです。本ツールは壊れた位置を行番号と列で示すので、長い JSON でも原因の1か所にすぐ辿り着けます。
JSON / JSON5 / JSONC / NDJSON の違い
「JSON だと思っていたら別仕様だった」もよくある詰まりです。JSON5 はコメント・末尾カンマ・シングルクォートを許す拡張、JSONC はコメント付き JSON(VS Code の設定ファイルなど)、NDJSON は1行に1つの JSON を並べたログ向け形式です。本ツールは 厳密な JSON のみを扱うため、これらの記法はエラーになります。元データがどの方言かを意識すると、エラーの理由が腑に落ちます。
大きな数値は精度が落ちる
JSON の数値そのものに桁数の上限はありませんが、JavaScript の JSON.parse は数値を IEEE 754 の倍精度浮動小数として読みます。そのため 253(9,007,199,254,740,992)を超える整数は正確に表現できず、末尾が変わってしまうことがあります。Twitter の Snowflake ID や 64bit の DB 採番など、巨大な整数 ID は文字列として持つのが定石です。整形時に数値が変わって見えたら、この丸めを疑ってください。
関連ツール
他にもいくつかの単機能ツールを揃えています。
- Unix Timestamp 変換 — 秒・ミリ秒・日時を双方向変換。UTC/JST/任意タイムゾーン対応。
- 文字数カウント — 文字数・バイト数・行数・Twitter文字数を即時カウント。絵文字対応。
- B2クラウド 使えない文字チェッカー — ヤマトB2クラウドで弾かれる機種依存文字・囲み数字などを即時検出し、推奨置換を提示。
- PDF 結合・分割 — PDFの結合・分割・ページ並び替え・回転をブラウザ内で完結。アップロード不要・サーバーに送信しません。
よくある質問
コピペした JSON がエラーになります
[1,2,])、シングルクォート、キーに引用符が無い、BOM 混入など。エラーは「○行×列」で位置を示すので、そこから前後を見直してみてください。コメントは使えますか?
データはサーバーに送信されますか?
localStorage にのみ保存されます。巨大な JSON でも動きますか?
JSON.parse を使っているため、数十MB程度までは実用的に動きます。ただし UI への表示は数百万文字を超えると重くなるので、必要な部分だけ整形するのを推奨します。