ホーム開発者ツール / JSON整形

JSON 整形・圧縮ツール

JSON を貼り付けて「整形」または「圧縮」を押すだけ。読みやすいインデント付きに整えたり、一行に圧縮(ミニファイ)したりできます。構文エラーがあれば内容を表示します。処理はすべてお使いのブラウザ内で完結します。

インデント

使い方

テキストエリアに JSON を貼り付け、目的のボタンを押してください。

「結果をコピー」ボタンを押すと、整形・圧縮した JSON をそのままクリップボードにコピーできます。

JSON とは

JSON(JavaScript Object Notation)は、RFC 8259 として標準化されている軽量なデータ交換フォーマットです。{"キー": 値} の形のオブジェクトと [ ] の配列を組み合わせて構造を表し、値に使えるのは文字列・数値・真偽値(true / false)・null・オブジェクト・配列の6種類だけです。文法がシンプルでプログラミング言語を問わず扱えるため、Web API のレスポンスや設定ファイルの形式として広く使われています。

よくある構文エラーと直し方

「構文エラー」と表示されたら、まず次の4パターンを疑ってください。いずれも JavaScript のコードでは許されても、JSON の仕様では認められない書き方です。

エラーの原因NG の例正しい書き方
末尾カンマ {"a": 1,} {"a": 1}(最後の要素の後ろにカンマを置かない)
シングルクォート {'name': '太郎'} {"name": "太郎"}(文字列は必ずダブルクォート)
キーの引用符漏れ {name: "太郎"} {"name": "太郎"}(キーにも必ず引用符を付ける)
コメントの記入 {"a": 1 // メモ} コメントは削除する(JSON にコメントは書けません)

エラーメッセージの読み方

エラーメッセージはお使いのブラウザの JSON パーサーが出力するもので、多くのブラウザでは「Unexpected token ...」のように想定外だった文字と、その位置(先頭から数えた文字数や行・列番号)が示されます。示された位置そのものではなく、その直前に原因があることも多いため、位置の少し手前のカンマや引用符を重点的に確認するのがコツです。エラーを直しては再度ボタンを押す、を繰り返せば構文チェッカーとしても使えます。

整形(フォーマット)と圧縮(ミニファイ)の使い分け

整形は「人が読む」場面に向いています。API レスポンスの中身の確認、エラー原因の調査、レビューや資料への貼り付けなど、構造を目で追いたいときに使ってください。圧縮は「機械が扱う」場面に向いています。余分な空白と改行を取り除いてデータ量を減らせるため、通信量の節約、設定値としての埋め込み、ログへの1行出力などに便利です。JSON では空白や改行はデータの意味に影響しないため、整形・圧縮のどちらを行っても中身の値は一切変わりません。

JSON と JavaScript オブジェクトの違い

見た目はよく似ていますが、JSON はあくまで「テキスト(文字列)の形式」であり、JavaScript のオブジェクトそのものではありません。JSON にはキーを必ずダブルクォートで囲む、シングルクォートを使えない、コメント・末尾カンマ・undefined・関数を書けない、といった JavaScript より厳しい制約があります。JavaScript 側では JSON.parse() でテキストをオブジェクトに、JSON.stringify() でオブジェクトをテキストに変換でき、本ツールの整形・圧縮・構文チェックもこの標準の仕組みに基づいて処理しています。

※ 処理はすべてお使いのブラウザ内で完結し、入力した JSON がサーバーへ送信されることはありません。計算結果はあくまで参考値です。

よくある質問

JSONの整形(フォーマット)とは?

改行とインデントを付けて読みやすく整えることです。本ツールはインデントを2スペース・4スペース・タブから選べます。

JSONの圧縮(ミニファイ)とは?

余分な空白や改行を取り除いて1行にすることです。通信量の削減やコピーに便利です。

構文エラーはチェックできますか?

はい。JSONの書式が正しくない場合は、エラー内容を表示します。

JSON にコメントは書けますか?

いいえ。JSON の仕様(RFC 8259)にはコメントの定義がなく、// や /* */ を書くと構文エラーになります。どうしてもメモを残したい場合は、"_comment" のようなキーを持つ通常のデータとして書く方法が使われます。

「\u30c6\u30b9\u30c8」のような表記(\uXXXX)を日本語に戻せますか?

はい。Unicode エスケープ(\uXXXX)を含む JSON を整形・圧縮すると、読める日本語の文字として出力されます。逆に、本ツールが日本語を \uXXXX 形式に変換して出力することはありません。

整形すると数値の表記が変わることがありますか?

あります。JavaScript の数値として解釈し直すため、「1.0」が「1」になるなど表記が正規化されるほか、約16桁を超える大きな数値は丸められることがあります。桁数の大きい ID などは文字列として扱うのが安全です。