JSON Formatter|整形・検証
ブラウザ上でJSONを即時に整形・検証・圧縮。スキーマ検証、スキーマ生成、ツリービュー機能を搭載。ログイン不要、完全無料。
JSON Formatterとは?
JSON Formatterは、生のJSONテキストや不正なJSONテキストを数秒できれいにインデントされた読みやすい出力に変換するブラウザベースのツールです。開発者は常に読みにくいJSONに遭遇します。1行に圧縮されたAPIレスポンス、空白を失ったコピーした設定フラグメント、微妙な構文エラーのある手動編集ファイルなどがその例です。このツールは3つの問題を同時に解決します。設定可能なインデントでフォーマットし、構文を検証し、jsonrepairライブラリを使用して一般的な誤りを自動的に修復します。
サーバーサイドの代替手段とは異なり、JSON FormatterはブラウザだけWで完全に動作します。データがあなたのマシンを離れることはありません。アカウント、レート制限、費用は一切不要です。
主な機能
- カスタマイズ可能なインデント(2スペースまたは4スペース)でフォーマット — Formatをクリックする前に、アクションバーのドロップダウンから好みのインデントサイズを選択します。プリセットの保存と組み合わせると、セッション間で選択が保持されます。
- エラーメッセージでJSON構文を検証 — このツールは自動修復の試みの後に
JSON.parseを実行し、入力が解析できない場合は正確なエラーメッセージを表示します。アクセシブルなrole="alert"属性を持つ出力パネルに表示されます。 - 不正なJSONを自動修復 —
jsonrepairライブラリは、解析前にシングルクォートの文字列、末尾のカンマ、引用符なしのキー、その他の一般的な逸脱を修正します。修復が適用された場合、はっきりとしたトースト通知がその旨を伝えます。 - JSONを圧縮(空白を削除) — フォーマットの空白をすべて除いた1行の出力を生成します。設定ファイルにJSONを埋め込む場合やペイロードサイズを削減する場合に便利です。
- フォーマットした出力をクリップボードにコピー — Clipboard APIを使用したワンクリックコピー。古いブラウザへのフォールバック付き。
- .jsonファイルとしてダウンロード —
application/jsonMIMEタイプでformatted.jsonとして出力を保存します。 - スキーマバリデータタブ — JSONデータとJSON Schema draft-07ドキュメントを貼り付けると、ツールが正確なパス(例:
root.user.email)とともにすべての違反を報告します。 - スキーマジェネレータタブ — 任意のJSONオブジェクトを貼り付けると、ツールが検出したフォーマット(email、date、UUID、URI)を含むJSON Schema draft-07ドキュメントを推論します。
- ツリービュータブ — 解析されたJSONを、色分けされたタイプ、検索ハイライト、すべて展開/折りたたみ、ワンクリックパスコピー付きのインタラクティブな折りたたみ可能ツリーとしてレンダリングします。
JSON Formatterの使い方
ステップ1:JSONを貼り付ける
Format/Minifyタブ(デフォルトビュー)を開きます。左側のInputパネルにJSONを貼り付けます。テキストエリアは任意のサイズの入力を受け付け、下端をドラッグして縦方向にリサイズできます。同僚からの共有リンクを読み込む場合、ツールはURLから入力を自動的に読み取り、トースト通知を表示します。
ステップ2:インデントを選択する
パネルの下にあるアクションバーで、インデントドロップダウンを開きます。2スペース(デフォルト)または4スペースを選択します。これは出力のネストレベルごとに使用するスペース数を制御します。4スペースのインデントはPythonプロジェクトや一部のスタイルガイドで一般的です。2スペースはJavaScriptとNode.jsエコシステムの標準です。
ステップ3:Formatをクリックする
Formatボタンをクリックするか、Cmd+Enter(Mac)/ Ctrl+Enter(Windows/Linux)を押します。フォーマットされたJSONが右側の読み取り専用Outputパネルに表示されます。入力に末尾のカンマや引用符なしのキーなど修正可能な問題が含まれている場合、「JSON formatted and repaired」というトースト通知が表示され、修復が適用されたことを確認します。JSONが修復不可能な場合、特定の解析エラーとともに出力パネルの下にエラーメッセージが表示されます。
入力例(圧縮されたAPIレスポンス):
{"user":{"id":4821,"name":"Maria Santos","email":"maria@example.com","roles":["admin","editor"],"active":true,"lastLogin":null}}
2スペースインデントでの出力:
{
"user": {
"id": 4821,
"name": "Maria Santos",
"email": "maria@example.com",
"roles": [
"admin",
"editor"
],
"active": true,
"lastLogin": null
}
}
ステップ4:圧縮する(オプション)
JSONを1行に戻すには、Minifyをクリックするか、Cmd+Shift+M / Ctrl+Shift+Mを押します。環境変数や設定文字列に埋め込む必要があるフォーマット済みJSONがある場合に便利です。
ステップ5:出力をコピーまたはダウンロードする
Copyをクリックして出力をクリップボードに配置します。Downloadをクリックしてformatted.jsonをダウンロードフォルダに保存します。Copyボタンは出力が存在するまで無効になっており、誤った空のクリップボード操作を防ぎます。
スキーマバリデータを使用する
スキーマバリデータタブに切り替えます。左パネルにJSONデータを、右パネルにJSON Schemaドキュメントを貼り付け、Validateをクリックします。有効なデータには緑のチェックマーク、違反には赤いリストとともに結果が下に表示されます。各違反はドット記法パス(例:root.addresses[0].postalCode)と何が失敗したかの平易な英語の説明(例:「String does not match pattern: ^\\d{5}$」)を示します。
スキーマジェネレータを使用する
スキーマジェネレータタブに切り替えます。サンプルJSONオブジェクトを貼り付けてGenerate Schemaをクリックします。ツールはサンプルから推論されたJSON Schema draft-07ドキュメントを数秒で生成します。メール、日付(YYYY-MM-DD)、ISO日時、UUID、URIのような文字列のフォーマットヒントが含まれます。
ツリービューを使用する
ツリービュータブに切り替えます。JSONを貼り付けると、500msのデバウンス後にツリーが自動的に構築されます(ボタンを押す必要はありません)。任意のオブジェクトまたは配列ノードをクリックして展開または折りたたみます。検索ボックスを使用して、キーまたは値があなたのタームと一致するノードをハイライトします。Expand Allをクリックして一度に全体の構造を開くか、任意のノードにカーソルを合わせてコピーパスボタンを表示し、そのフィールドへのドット記法パスをコピーします。
実用的な例
APIレスポンスのデバッグ
REST APIがトラブルシューティング用に圧縮されたユーザープロファイルを返します:
{"profile":{"id":"a3f8-bc21","created":"2025-11-03","tier":"pro","quota":{"used":14200,"limit":50000},"features":["export","api","webhooks"]}}
貼り付けて、2スペースインデントでFormatをクリックします。出力はすぐにネスト階層を表示し、quotaが2つのフィールドを持つネストされたオブジェクトで、featuresが3つの文字列の配列であることが明確になります。結果をコピーしてバグレポートに貼り付けます。
スキーマに対する設定ファイルの検証
アプリケーションは1から65535の間の必須port整数と必須host文字列を持つ設定を期待しています。スキーマバリデータの左パネルに設定JSONを、右パネルに次のようなスキーマを貼り付けます:
{
"type": "object",
"required": ["host", "port"],
"properties": {
"host": { "type": "string" },
"port": { "type": "integer", "minimum": 1, "maximum": 65535 }
}
}
portが"8080"(整数ではなく文字列)の場合、バリデータは報告します:root.port — Expected integer, got string。
新しいAPI契約のスキーマを生成する
新しいサードパーティAPIのサンプルレスポンスがあり、それに対するJSON Schemaをすばやく記述する必要があります。スキーマジェネレータタブにサンプルを貼り付けてGenerate Schemaをクリックします。ツールは数秒でdraft-07スキーマを生成し、その後minLength、pattern、enum値などの制約を追加して手動で洗練できます。
ヒントとベストプラクティス
キーボードショートカットを使用してください。 Cmd+Enterでフォーマット、Cmd+Shift+Mでマウスに触れることなく圧縮します。YAML FormatterのJSON変換に相当するショートカットはCmd+Shift+Jですが、このツールではCmd+Shift+Mは常に圧縮を意味します。
修復通知を確認してください。 成功トーストが「formatted successfully」ではなく「formatted and repaired」と表示される場合は、元のソースを確認してください。修復によって設定ファイルのソースで修正されるべき本物の誤りが修正された可能性があります。
ツリービューは自動的に構築されます。 Build Treeをクリックする必要はありません。入力の編集を止めてから500msでツリーがレンダリングされます。入力を編集しながら未知のデータ構造をすばやく探索するのに便利です。
JavaScriptアクセス用のパスをコピーしてください。 ツリービューで任意のノードにカーソルを合わせ、表示されるコピーアイコンをクリックします。コピーされたパス(例:root.users[2].address.city)は、JavaScript でJSON.parse()の後にその値にアクセスするために必要なドットブラケット記法です。
スキーマジェネレータはすべての既存キーをrequiredとしてマークします。 スキーマを生成した後、required配列を確認し、データモデルで本当にオプションのフィールドを削除してください。
一般的な問題とトラブルシューティング
貼り付け後の「Invalid JSON syntax」エラー — 入力を自動的に修復できませんでした。一般的な原因は、コピー中に二重エスケープされた引用符(\"ではなく\\")や、ターミナルから貼り付けられたバイナリ文字です。ソースアプリケーションでJSONを選択して再コピーするか、不可視文字を確認してください。
Formatをクリックした後に出力が空 — 入力フィールドが空か空白のみです。入力が空の場合Formatボタンは無効ですが、何らかの方法でトリガーされた場合、「Please enter JSON to format」というエラーメッセージが出力パネルの下に表示されます。
スキーマバリデータが「Invalid JSON data」を表示 — スキーマバリデータの左パネルのテキストが有効なJSONではありません。Formatタブとは異なり、スキーマバリデータは自動修復を適用しません。まずFormatタブに貼り付け、修正された出力をコピーし、スキーマバリデータに戻ってください。
ツリービューが「Invalid JSON」を表示 — ツリービューは修復なしにJSON.parseで解析します。JSONに軽微な問題がある場合は、まずFormatタブでフォーマットしてクリーンなコピーを取得し、それをツリービューに貼り付けてください。
ダウンロードで毎回formatted.jsonというファイルが生成される — これは設計上の動作です。ダウンロード後にファイル名を変更してください。
プライバシーとセキュリティ
JSON FormatterはJavaScriptを使用してブラウザ内ですべてを処理します。機密APIキー、トークン、パスワード、JSONに埋め込まれた個人データを含む入力は、いかなるサーバーにも送信されません。ページが読み込まれた後、ツールは完全にオフラインで動作します。フォーマットロジック自体にアナリティクスフックはありません。データがマシンを離れることなく、本番シークレット、データベース認証情報、または個人情報を安全に貼り付けることができます。
よくある質問
JSON Formatterは無料ですか? はい、JSON Formatterは使用制限なしで完全に無料です。Format、Minify、スキーマバリデータ、スキーマジェネレータ、ツリービュータブはすべて無料で利用できます。保存されたプリセット、セッション履歴、ツールノートなどのGlyph Widgetsサポーター向けプレミアム機能はサポーターが利用できますが、コアのフォーマット機能には何も必要ありません。
オフラインで動作しますか? はい。ブラウザでページが読み込まれると、すべてのフォーマットと検証の操作がJavaScriptでローカルに実行されます。インターネットから切断して機能を失うことなくツールを使い続けることができます。
データをここに貼り付けても安全ですか? はい。すべての処理はブラウザで行われます。入力テキストはサーバーに送信されることも、ログに記録されることも、ブラウザセッションの外に保存されることもありません。APIキー、パスワード、個人データを含むJSONを安全にフォーマットできます。
自動修復はどのようなJSONフォーマットを処理しますか? ツールはjsonrepairライブラリを使用し、シングルクォートの文字列、オブジェクトと配列の末尾のカンマ、引用符なしのプロパティキー、コメント(//と/ /)、欠落した閉じ括弧、およびJSON仕様からの他のいくつかの一般的な逸脱を処理します。
スキーマバリデータはどのような制約をサポートしていますか? バリデータはtype、enum、required、properties、additionalProperties、minProperties、maxProperties、minLength、maxLength、pattern、format(email、uri、date、date-time、ipv4、ipv6、uuid)、minimum、maximum、exclusiveMinimum、exclusiveMaximum、multipleOf、minItems、maxItems、uniqueItems、itemsをサポートします。
スキーマジェネレータは自動的にどのようなフォーマットを検出しますか? ジェネレータはメールアドレス、ISO日付(YYYY-MM-DD)、ISO日時、UUID、URIを検出します。また数値に対してintegerとnumber型を区別します。
オブジェクトの代わりに配列を検証できますか? はい。スキーマバリデータとスキーマジェネレータはどちらも、配列、文字列、数値、ブール値を含む任意の有効なJSON値をルートレベルで受け付けます。オブジェクトだけではありません。
フォーマットのキーボードショートカットは何ですか? macOSではCmd+Enter、WindowsとLinuxではCtrl+EnterでFormatをトリガーします。Cmd+Shift+MまたはCtrl+Shift+MでMinifyします。これらのショートカットはFormat/Minifyタブがアクティブなときのみ機能します。
非常に大きなJSONファイルを処理できますか? ツールは履歴エントリごとに最大10,000文字を保存しますが、フォーマット自体にはブラウザメモリを超える組み込みの制限はありません。非常に大きなファイル(数メガバイト)は正しくフォーマットされますが、ローエンドデバイスではテキストエリアが重く感じる場合があります。
生成されたスキーマはどのスキーマドラフトを対象にしていますか? ジェネレータはJSON Schema draft-07ドキュメントを生成し、出力の"$schema": "http://json-schema.org/draft-07/schema#"で識別されます。
関連ツール
XML Formatter — 同じインデント制御と圧縮サポートでXMLドキュメントをフォーマットして検証します。
YAML Formatter — YAMLファイルをフォーマットし、設定可能なインデントで直接JSON出力に変換します。
JSON Converter — JSONをCSV、XML、YAML、その他のデータ形式に変換します。
JSON Formatterを今すぐ試す: JSON Formatter