JSON整形ツール(無料・登録不要)
JSON整形ツールの使い方
- 左側の入力欄にJSONを貼り付ける
- インデント(2スペース / 4スペース / タブ)を選択する
- 「整形」ボタンを押す(または Ctrl+Enter)
- 右側に整形結果が表示される。エラーは行番号・列番号付きで表示
- 「コピー」で結果をクリップボードにコピーする
APIレスポンス・設定ファイル(package.json等)・DBのJSONカラムなど、JSONが書かれたテキストを左側の入力欄にそのまま貼り付けてください。スペースが崩れていても、改行がなくても構いません。
「2スペース」「4スペース」「タブ」から好みを選択。キーソートをオンにするとオブジェクトのキーがアルファベット順に並び替えられ、差分確認がしやすくなります。
「整形」:読みやすく整形。「圧縮」:本番環境用の1行JSON。「バリデーション」:構文エラーのみチェック(整形せず)。エラー時は行番号・列番号・原因が日本語で表示されます。
「ツリービュー」タブに切り替えると、JSONの階層構造を折りたたみ可能なツリーで視覚化できます。深いネストの確認や、配列の要素数確認に便利です。
主な利用シーン
API開発・デバッグ
curl やPostman のレスポンスを貼り付けるだけで即座に読みやすく整形。ネストした構造もツリービューで素早く把握できます。エラー行番号の表示でデバッグ時間を大幅削減。
設定ファイル管理
package.json・tsconfig.json・.eslintrc.json などの設定ファイルを整形・検証。インデントの揺れを統一したり、構文エラーを本番デプロイ前に発見できます。
データ確認・ログ解析
DBやログファイルから取り出したJSON文字列を整形して内容確認。圧縮JSONを人が読める形に変換し、データ構造を素早く把握できます。
コードレビュー・チーム共有
キーソートをオンにしてから整形すると、異なる順序で書かれたJSONを統一フォーマットに揃えられます。差分がキーの順序変更によって汚れることを防ぎます。
主要なJSON整形ツールと当サイトの機能を比較しました(2026年5月調査)。
| 機能 | tool-box.jp (当サイト) |
JSONLint | jsonformatter.org | lab.syncer.jp | studioasari |
|---|---|---|---|---|---|
| JSON整形 | ✅ | ✅ | ✅ | ✅ | ✅ |
| JSON圧縮 | ✅ | ✅ | ✅ | ❌ | ✅ |
| インデント選択 (2/4スペース/タブ) |
✅ 3種 | ❌ | ✅ 3種 | ❌ | ✅ 3種 |
| エラー行番号表示 | ✅ 行・列番号 | ✅ 行番号 | ✅ | △ 簡易 | ✅ |
| 日本語エラー説明 | ✅ | ❌ 英語のみ | ❌ 英語のみ | ❌ | ✅ |
| ツリービュー | ✅ | ❌ | ✅ | ❌ | ✅ |
| キーソート | ✅ | ❌ | ❌ | ❌ | ✅ |
| 圧縮率表示 | ✅ | ❌ | ❌ | ❌ | ✅ |
| ダークモード | ✅ | ❌ | ❌ | ❌ | △ |
| モバイル対応 | ✅ 最適化済 | △ | ❌ 劣悪 | △ | ✅ |
| 広告量 | 少ない | 多い | 極めて多い | 少ない | 少ない |
| JSON構文解説 | ✅ 詳細 | △ | ❌ | ❌ | △ |
✅=対応 ❌=未対応 △=部分対応。当サイト調査(2026年5月)。各ツールのバージョンにより変わる場合があります。
JSONはシンプルに見えて落とし穴が多い形式です。主要なルールを整理しました。
必須ルール(違反するとパースエラー)
"name": "太郎" ← 正しい'name': '太郎' ← エラー(シングルクォート不可)name: "太郎" ← エラー(キーも必ずクォート)
{"a": 1, "b": 2,} ← エラー(最後の要素の後のカンマ)["x", "y", "z",] ← エラー(配列も同様)JavaScriptとは異なりJSONでは末尾カンマは無効です。
// コメント も /* コメント */ もエラー。JSONにコメントを書く仕様はありません。設定ファイルにはJSONC(jsonc形式)や別途ドキュメントを使いましょう。
JSONで使えるデータ型
| 型 | 例 | 注意点 |
|---|---|---|
| 文字列 | "Hello, 世界" | ダブルクォートで囲む |
| 数値 | 42 / 3.14 / -1 | クォート不要。16進数は不可 |
| 真偽値 | true / false | 小文字のみ(Trueはエラー) |
| null | null | 小文字のみ(Nullはエラー) |
| 配列 | [1, "a", true] | 混合型も可 |
| オブジェクト | {"key": "value"} | キーは文字列のみ |
null と undefined の違い
JSONには undefined は存在しません。JSON.stringify() に undefined を渡すとそのキーごと省略されます。意図的に「値なし」を表現したい場合は null を使ってください。
エスケープシーケンス
JSON文字列内で特殊文字を表現する場合はエスケープが必要です:
\"→ ダブルクォート\\→ バックスラッシュ\n→ 改行\t→ タブ\uXXXX→ Unicode文字(例:\u3042= あ)
JSON整形・パース時によく遭遇するエラーと修正方法を紹介します。
Unexpected token } / Expected double-quoted property name
{"name": "太郎", "age": 30,}{"name": "太郎", "age": 30}最後のプロパティの後ろのカンマを削除します。エディタの「末尾カンマ自動削除」設定も有効です。
Unexpected token '
{'name': '太郎'}{"name": "太郎"}JSONはダブルクォートのみ有効です。テキストエディタの一括置換で ' → " に変換しましょう。
Unexpected token /
{"port": 3000 // デフォルトポート}{"port": 3000}JSONにはコメント機能がありません。VSCode等のエディタでコメント付きJSONを扱う場合は .jsonc 拡張子(JSON with Comments)を使用してください。
Unexpected token u
{"value": undefined}{"value": null}JSONには undefined 型はありません。JavaScript側で JSON.stringify() する前に undefined を null に置換してください。
Expected double-quoted property name
{name: "太郎"}{"name": "太郎"}JavaScriptオブジェクトリテラルとは異なり、JSONのキーは必ずダブルクォートで囲む必要があります。
Unexpected token N / I
{"ratio": NaN, "limit": Infinity}{"ratio": null, "limit": 1e308}NaN・Infinity はJSONでは無効です。APIレスポンスで返ってきた場合は null または最大値定数に置換してください。
- Q JSONを整形してもエラーが出る場合、何を確認すればよいですか?
- A まず「バリデーション」ボタンを押してエラーの行番号と原因を確認してください。多い原因は①末尾カンマ(最後の要素の後ろにカンマ)、②シングルクォート(→ダブルクォートに変換)、③コメントの混入(//や/* */はJSONで使えません)です。「よくあるエラーと対処法」セクションに具体例を掲載しています。
- Q 入力したJSONはサーバーに送信されますか?
- A いいえ、一切送信されません。すべての処理はブラウザ内のJavaScriptで完結しています。APIキー・パスワード・個人情報を含むJSONも安心して整形・バリデーションできます。
- Q 「2スペース」「4スペース」「タブ」のどれを選べばよいですか?
- A 一般的なウェブ開発では2スペース(JavaScriptエコシステムの慣習)が多く使われます。4スペースはJava・C#等で好まれます。タブはインデント幅をエディタ側で制御したい場合に便利です。チームの .editorconfig や ESLint 設定に合わせてください。
- Q JSON圧縮(minify)は何のために使いますか?
- A 本番環境でのネットワーク転送量削減が主な目的です。スペース・改行を削除することでファイルサイズを20〜40%程度削減できます。また、JSON文字列を別のJSONの値として埋め込む場合にも圧縮版が必要になります。
- Q キーソートをオンにするとどうなりますか?
- A オブジェクトのすべてのキーがアルファベット(辞書)順に並び替えられて整形されます。複数のJSONファイルを比較する際、キーの記述順の違いによる差分ノイズを防ぐのに有効です。ただし、順序に意味がある場合(ordered insert等)はオフのままにしてください。
- Q JSONとJavaScriptオブジェクトの違いは何ですか?
- A JSONはデータ交換のためのテキスト形式で、JavaScriptオブジェクトリテラルより厳格なルールがあります。主な違い:①JSONのキーは必ずダブルクォートが必要(JSはオプション)、②JSONにはundefined・Function・Symbol・Dateオブジェクトを直接書けない(JSは可能)、③JSONにはコメントが書けない(JSは可能)。
- Q JSON5やJSONCとは何ですか?
- A JSON5はJSONの拡張仕様で、コメント・末尾カンマ・シングルクォート・16進数表記などが使えます。JSONCはMicrosoftが提唱する「コメント付きJSON」で、VSCodeの設定ファイル(settings.json等)で使われています。本ツールは標準JSON(RFC 8259)に準拠しており、JSON5/JSONCは対象外です。
- Q 大きなJSONファイル(1MB以上)でも使えますか?
- A 対応していますが、処理時間が長くなる場合があります。ブラウザのJavaScriptエンジンでパース・整形を行うため、10MB超の超大容量ファイルはブラウザがフリーズする可能性があります。その場合はjq(コマンドラインツール)やVSCodeの整形機能(Alt+Shift+F)をご利用ください。