本文へスキップ
jsonbeautifiers
日本語

あなたのJSONを一度も見ないJSON整形ツール。

ペイロードを貼れば、読める形で返ってきます。すべてブラウザ内で動くので、本番のレスポンスもトークンも設定ファイルも、あなたのマシンから出ません。

JSONPathで絞り込む

RFC 9535の構文です。結果は、このダイアログを開いたパネルを置き換えます。

 

貼り付けたものがブラウザの外に出ることはありません。 connect-src の許可リストにより、これは約束ではなくブラウザによる保証になっています。 自分で確かめる

たいていのJSONツールは信用を求めます。これは確かめさせます。

2025年11月、大手の整形サイト2つが、保存された貼り付け8万件超を流出させました。行政・医療・航空宇宙の組織に属するActive Directoryの資格情報、クラウドの鍵、アクセストークン、銀行取引記録です。そのトップページには「データはブラウザ内で扱われる」と書かれていました。そしてファイルアップロードは、そのデータをサーバーへ送っていました。

右にあるヘッダーは、このサイトがすべてのレスポンスで送っているものです。そのconnect-srcの行は許可リストで、挙げている宛先はひとつ、ページビューを数える解析用のエンドポイントだけです。それ以外にこのページが試みうる要求はすべて拒否されます。あなたのペイロードをどこかへ運ぶfetchもXHRもWebSocketもbeaconも通りません。これは私たちの意図についての主張ではありません。ここで動くあらゆるコードにブラウザが課す規則であり、私たちが後日うっかり追加してしまうコードにも及びます。

レスポンスヘッダー jsonbeautifiers.com
Content-Security-Policy:
  default-src 'self';
  connect-src https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com;
  script-src 'self' https://www.googletagmanager.com;
  style-src 'self' 'unsafe-inline';
  img-src 'self' data: https://*.google-analytics.com https://*.googletagmanager.com;
  font-src 'self';
  form-action 'none';
  frame-ancestors 'none';
  base-uri 'self';
  object-src 'none';
  worker-src 'self' blob:

Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Permissions-Policy: interest-cohort=(), browsing-topics=()

ほかのツールが壊れるペイロードのために作りました。

以下の例はすべてこのパーサーの実際の出力であり、そのどれもがJSON.parseを包んだ整形ツールでは間違えるものです。

大きな数値が生き残る

整形は、貼り付けたとおりの桁をそのまま出し直します。floatにパースして文字列化し直すツールは、あなたがボタンを押す前にすでにSnowflake IDを変えています。

ここでは

{ "id": 12345678901234567890 }

JSON.parseで往復すると

{ "id": 12345678901234567000 }

不可視文字を名指しする

ドキュメントやチャットクライアントから貼り付ければ、目に見えない文字が入ってきます。ほかのツールはUnexpected tokenとしか言いません。

4:8  Invalid whitespace:
     no-break space (U+00A0).

閉じていない括弧の位置

ファイルが途中で切れているとき、役に立つ情報は「文書が終わった」ことではなく、開いた括弧のそれぞれがどこで始まったかです。

The document ends while 3 brackets
are still open: { opened at line 1,
column 1; [ opened at line 2, column 8;
{ opened at line 3, column 5.

自分で説明する修復

寛容モードはほぼJSONを直し、加えた変更をすべて列挙します。安全なものと判断を伴うものを分けて示します。

2:3  Converted a single-quoted string
     to a double-quoted JSON string.
5:11 Quoted 02134 as the string
     "02134", because dropping the
     leading zero would change a
     zip code.

キーの重複を警告

RFC 8259は重複を未定義のままにしており、ほとんどのパーサーは黙って最後のものを採ります。

3:3  Duplicate key "email",
     first defined at line 2,
     column 3.

タブを固まらせずに大きなファイルを

パースと整形はWeb Workerで動くので、大きな文書を処理している間もインターフェースは反応し続けます。下の数字は整形にかかった時間で、あるデスクトップ機で2回計測したものです。ベンチマークではなく幅として受け取ってください。10MBともなればメインスレッドを完全に止めるだけの仕事量であり、だからこそここではメインスレッドで行いません。

9 to 13 ms

100 KB

70 to 119 ms

1 MB

0.6 to 0.8 s

10 MB

すべてのツール

整形と検査

変形

変換

「Unexpected token」の代わりに得られるもの
{
  "user": "priya",
  "roles": ["admin",],
}

3:20 ] の前に末尾カンマがあります。

閉じ括弧の前のカンマを削ってください。末尾カンマはJavaScriptとJSON5では正当ですが、JSONでは違います。

JSONのエラーを、ひとつずつきちんと。

V8は2022年にJSONのエラーメッセージをほぼ全面的に書き直しましたが、ネット上に書かれていることの多くはいまも古い文言を教えています。これらのページは、パーサーを実際に走らせて計測した現行の正確な文字列を載せ、実際に起きる頻度の順に本当の原因を並べています。

エラー解説の一覧

知っておく価値のあること

JSON beautifier が実際にやっていること

JSON beautifier はドキュメントを読み込み、オブジェクト、配列、文字列、数値、真偽値、null からなる木構造へとパースし、その木を1行に1つの値と一定のインデントで書き戻します。大事なのはパースするという点です。正規表現でカンマのたびに改行を挿入しているわけではありません。ウェブに転がっているスニペットの多くはそのやり方で、カンマや波かっこを含む文字列を黙って壊してしまいます。

ここからすぐに気づく帰結があります。正しいJSONでないドキュメントは整形できません。出力すべき木が存在しないからです。このサイトで整形と検証が2つのボタンではなく同じ操作になっているのはそのためで、無効なテキストを貼ったときに空の出力欄ではなく、行と列と「何が期待されていたか」が返るのもそのためです。

文字列の外側の空白はJSONでは何の意味も持ちません。RFC 8259 は任意のトークンの間にスペース、タブ、復帰、改行を許しているので、整形し直してもドキュメントの意味は変わりません。一方で文字列の内側の空白はデータであり、元のまま手を触れずに残されます。木構造ではなくテキストを相手に処理する整形器はこの2つを区別できません。整形がペイロードを壊す原因として、これが最も多いパターンです。

キーの順序は保たれます。仕様上オブジェクトは順序を持たないことになっていて、何かがその順序に依存してはいけないのですが、貼り付けたときの順序は差分表示やコードレビュー、そして読む人間がほぼ常に期待する順序です。キーを並べ替えれば、以後の比較がすべて無駄に騒がしくなるだけで、得るものはありません。

オンラインの JSON beautifier を使う

左の欄に貼り付けて「整形」を押してください。整形されたドキュメントが右に現れ、そのままコピーもダウンロードもできます。アカウントもアップロード手順も1日あたりの上限も、どこにも課金の壁もありません。JSON beautifier をオンラインで無料で探している人の多くが求めているのは、デスクトップ製品の体験版ではなく、まさにこれです。

既定のインデントは半角2文字で、多くの言語エコシステムとスタイルガイドが落ち着いた値です。リポジトリ側ですでに決まっているなら4文字とタブも選べます。その選択はサーバーではなくブラウザのローカルに覚えられます。覚えておくためのサーバーが存在しないからです。

すべてが Web Worker の中で動くので、ドキュメントをパースしている間も画面は反応し続けます。100 KB のペイロードでおよそ9〜13 ms、1 MB で70〜119 ms、10 MB でおよそ0.6〜0.8秒です。デスクトップ機1台で2回測った値なので、ベンチマークではなく幅として受け取ってください。ただし意味があるのは規模の方です。10 MB はメインスレッドを完全に固めるには十分な仕事量であり、ここではメインスレッドで動いていません。

初回訪問のあとページはキャッシュされるので、このオンライン JSON beautifier はネットワークを切っても動き続けます。service worker の小細工ではありません。処理をすべて手元で行う静的ページの自然な帰結です。ネットワークがなくなれば解析の ping が失敗するだけで、どのツールもそのまま動き続けます。もともとどれもサーバーを必要としていないからです。

一方通行の箱ではなく、JSON beautifier 兼エディタ

大半の整形ツールはテキスト欄とボタンだけです。貼ったものが入り、整形されたテキストが出て、ドキュメントが壊れていたら自分のエディタに戻って当てずっぽうを始めることになります。ここの欄は本物のコードエディタで、シンタックスハイライト、かっこの対応表示、コード折りたたみ、インクリメンタル検索、行内のエラーマーカーを備えています。貼ったものをその場で直し、ページを離れずに整形し直せます。

折りたたみは見かけよりずっと重要です。4,000行の設定ファイルは、インデントされただけでは読めるようになりません。実際に読めるようにするのは、関心のある枝以外をすべて畳むことであり、それは整形器ではなくエディタの性質です。

同じドキュメントをテキストではなく折りたためる木として見たいなら、JSONビューアがその形で表示します。検証は最初の1件で止まらず、すべての問題を報告します。修復はシングルクォート、末尾カンマ、引用符のないキーといった「ほぼJSON」を扱い、行った変更をすべて列挙するので、修正ではなく判断が入ったものだけを拒否できます。

最良のJSONビューア兼 JSON beautifier をオンラインで探している人が本当に尋ねているのは、どのツールも正しくできるインデントのことではありません。ツールが壊れるドキュメントのことです。JavaScript が保持できる範囲を超える整数、重複キー、チャットクライアントやワープロから紛れ込んだ不可視文字。それらはここで扱われ、上のカードに実際の出力として示されています。議論する価値があるのはその部分だけです。

Notepad++、Sublime Text、VS Code でJSONを整形する

ブラウザのタブが常に作業したい場所とは限りません。ファイルがすでにエディタで開いているなら、いちばん速い JSON beautifier はそこでキーに割り当てられているものです。

Notepad++ にJSON整形機能は入っていません。定番の答えは JSTool プラグインです。Plugins から Plugins Admin を開き、JSTool を検索してインストールし、再起動すると Plugins、JSTool、JSFormat にコマンドが現れます。動作しますし、日常的なペイロードにはこれが正しい道具です。ただし JSTool は数値を64ビット浮動小数点としてパースするため、9007199254740991 を超える Twitter や Snowflake 形式のIDは、入れたときとは違う桁で、何も言わずに返ってきます。

Sublime Text では Pretty JSON パッケージを使います。Package Control から入れ、既定で Ctrl+Alt+J に割り当てられます。Python を通して整形するので大きな整数はそのまま正確に残り、これは JavaScript ベースの選択肢に対する実質的な利点です。その代わり重複キーは何も告げずに捨て、最後の1つだけを残します。

VS Code はプラグインすら要りません。ドキュメントのフォーマット、Windows と Linux では Shift+Alt+F、macOS では Shift+Option+F で、エディタがJSONと認識したファイルを整形します。コマンドパレットには Format JSON という専用コマンドもあります。

これらのどれもが与えてくれないのが診断です。有効なドキュメントを整形し、無効なものは拒否する。ドキュメントが無効で4万行になるその日までは、それで何の問題もありません。このページが想定しているのはまさにその場面であり、プラグインのインストールを許されていないマシンもまた同じです。

Chrome、Firefox、そして拡張機能が要らない理由

Chrome の JSON beautifier 拡張機能は、確かに有用なことをしています。application/json として返ってきたレスポンスを横取りし、アドレスバー上で整形済みかつ折りたためる形で描き直すので、いじっているAPIが整形ツールを往復しなくても読めます。Firefox はバージョン44から同じことを標準で行っており、そのための拡張機能は一切不要です。

インストールする前に、その代償を読む価値があります。訪問先のあらゆるAPIのページを書き換えるために、拡張機能は「すべてのウェブサイトでデータを読み取り、変更する」権限を要求しなければなりません。これは Chrome が与える中で最も広い権限です。その権限は銀行にも、メールにも、勤務先の管理コンソールにも及び、その後に拡張機能が配信するあらゆる無言の更新をまたいで残り続けます。信頼する理由のある開発者が公開した JSON beautifier 拡張機能を入れるのは妥当ですが、検索結果の一番上だったからという理由で入れるのは妥当ではありません。

このページにはそのどれも必要ありません。Chrome でも Firefox でも Safari でも Edge でも同じように動き、何もインストールせず、あなたが訪れるほかのどのサイトに対しても権限を持ちません。ページは拡張機能ではないからです。読めるのは自分自身だけで、ほかには何も読めません。横取り型の拡張機能との違いは、貼り付けというキー操作が1つ増えることだけです。

自分のコードでJSONを整形する: HTML と React

これにライブラリは要りません。JSON.stringify にはインデントを制御する第3引数があり、あらゆる JavaScript ランタイムに組み込まれています。JSON.stringify(value, null, 2) は半角2文字でインデントし、数値ではなく文字列を渡す JSON.stringify(value, null, "\t") はタブでインデントします。

結果をページに流し込むところが、HTML での JSON beautifier がしくじる場所です。出力は <pre> 要素の中に置かなければ連続した空白が潰れて整形が台無しになりますし、HTMLとして挿入する前にエスケープしなければなりません。さもなければ </script> や不等号を含む文字列値を、マークアップとしてパーサーに手渡していることになります。それは手順が少し増えただけのクロスサイトスクリプティングの穴です。

React ではそのエスケープがすでに済んでいます。デバッグ目的でいえば <pre>{JSON.stringify(data, null, 2)}</pre> がReact の JSON beautifier のすべてであり、React は補間したテキストを既定でエスケープするので、信頼できない入力に対しても安全です。規則は単純で、JSONを描画するために dangerouslySetInnerHTML に手を伸ばさないことだけです。その保証を失う道はそれ1つしかありません。

これらすべてに共通する注意点が数値の精度です。JSON.parse はあらゆる数値を double に変えるので、2^53-1 を超える識別子は JSON.stringify が見るより前にすでに別の数になっており、どれだけ整形しても桁は戻りません。大きなIDを含むペイロードを扱うなら、先に2^53-1 を超える整数に何が起きるのかを読んでください。このページの beautifier は貼り付けられた桁をそのまま出し直します。その出力と JSON.parse を往復させた結果が必ずしも一致しないのは、そのためです。

JSON beautifier についての質問

JSON beautifier とは何ですか。
JSON beautifier はJSONドキュメントをパースし、一定のインデントと1行1値の形に書き直すツールです。途切れのない1本の文字列として届いたペイロードが読める形になります。テキストを書き換えるのではなくパースするため、そのドキュメントが正しいJSONでない場合には、そのことと場所も教えてくれます。
JSON beautifier の使い方は。
左の欄にJSONを貼り付けるか入力し、「整形」を押してください。整形されたドキュメントが右に現れます。インデントは半角2文字、4文字、タブから選べ、そのままコピーもダウンロードもでき、その場で編集を続けることもできます。貼ったものが正しいJSONでない場合は、行と列、そしてそこで何が期待されていたかが返ります。ドキュメントを出力するには、まずパースしなければならないからです。
最良の JSON beautifier ツールはどれですか。
インデントはどのツールも正しく行うので、問うべきはそこではありません。壊れる場所で比べてください。2^53-1 を超える整数がそのまま残るか、重複キーが報告されるか、不可視文字が「予期しないトークン」ではなく名前で示されるか、そして入力がサーバーに送られるか。この4つの答えが、互いに置き換え可能なツールとそうでないツールを分けます。
この JSON beautifier はオンラインで無料ですか。
はい。アカウントも登録も1日あたりの上限も有料プランもありません。このサイトのすべてのツールはブラウザの中で動くので、回収すべきサーバー費用がなく、計測する対象もありません。
貼り付けたJSONはどこかにアップロードされますか。
いいえ。このページが送っている Content Security Policy ヘッダーの connect-src の行は許可リストで、そこに挙がっている宛先は Google Analytics だけです。これはページビューを数えるもので、エディタには一切触れません。それ以外の外向きの要求はすべてブラウザが拒否します。fetch も XMLHttpRequest も WebSocket も、あなたの文書を運びうる beacon も通りません。私たちが約束するのではなくブラウザが強制しており、開発者ツールのネットワークタブでご自身で確認できます。
Notepad++ でJSONを整形できますか。
Notepad++ にJSON整形機能は組み込まれていません。Plugins から Plugins Admin を開いて JSTool プラグインをインストールし、再起動してから Plugins、JSTool、JSFormat を使ってください。注意点が1つあります。JSTool は数値を64ビット浮動小数点としてパースするため、9007199254740991 を超える整数IDは桁が変わって返ります。
Chrome でJSONを整形するには。
インストールの手間が少ない順に3つあります。何も要らないこのページに貼り付ける方法。開発者ツールでリクエストを開き、ネットワークパネルのプレビュータブを見る方法で、JSONレスポンスはそこで自動的に整形されます。そして application/json のレスポンスを自動で整形し直す拡張機能を入れる方法です。3つのうち、訪問するすべてのサイトに対する権限という代償を伴うのはこれだけです。
Chrome の JSON beautifier 拡張機能は必要ですか。
貼り付けるJSONには不要です。拡張機能にはこのページにできないことが1つあり、それはAPIのレスポンスをアドレスバー上で自動的に整形することですが、そのためには訪問するすべてのサイトでデータを読み取り変更する権限を要求しなければなりません。すでに手元にあるJSONを整形したいだけなら、権限を一切持たないページの方がリスクは小さくなります。
Firefox でも JSON beautifier として使えますか。
はい。Chrome、Safari、Edge でも同じです。Firefox はバージョン44以降、独自のビューアでJSONレスポンスを標準で整形するので、ブラウザで直接開いたAPIレスポンスについてはそちらでも何もインストールする必要がありません。
VS Code でJSONを整形するには。
VS Code にこのための拡張機能は要りません。ファイルを開き、ステータスバーの言語モードが JSON になっていることを確かめて、ドキュメントのフォーマットを実行してください。Windows と Linux では Shift+Alt+F、macOS では Shift+Option+F です。保存済みファイルではなく断片を扱いたいときは、新しい無題タブに貼り付け、言語を JSON に設定してから整形します。
Sublime Text でJSONを整形するには。
Package Control から Pretty JSON パッケージをインストールし、Ctrl+Alt+J を押してください。Python を通して整形するので大きな整数は正確な桁を保ちますが、重複キーは何も告げずに捨てられ、最後の1つだけが残ります。
HTML や React でJSONを整形するには。
JSON.stringify(value, null, 2) を使い、空白が保たれるよう pre 要素の中に描画してください。素のHTMLでは挿入前に結果をエスケープする必要があります。そうしないとマークアップを含む文字列がクロスサイトスクリプティングの穴になります。React では pre 要素の中に式を書くだけで十分です。React が補間したテキストを自動的にエスケープするからです。
JSON beautifier 兼エディタとして使えますか。
はい。入力欄はシンタックスハイライト、かっこの対応表示、折りたたみ、インクリメンタル検索、行内のエラーマーカーを備えた本格的なコードエディタなので、壊れたドキュメントをその場で直し、別のツールに移さずに整形し直せます。
JSON beautifier 兼ビューアとして使えますか。
両方できますが、ページが分かれています。こちらはドキュメントをエディタの中でテキストとして整形します。JSONビューアは同じドキュメントを折りたためる木として描くので、ペイロード全体を読むのではなく、深くネストした中から1つの値を探しているときはそちらが適しています。
JSON beautifier のダウンロード版はありますか。
ここにインストーラーはありませんし、必要もありません。このページは静的で初回訪問のあとキャッシュされるため、ネットワークを切っても動き続けます。ダウンロードが求められる理由は普通それです。手元のマシンに常駐する整形ツールが欲しいなら、VS Code には最初から入っていますし、jq や python -m json.tool を使えばターミナルから同じことができます。
GitHub にオープンソースの JSON beautifier はありますか。
いくつもあります。ブラウザではなくビルドの中で整形したい場合は、そちらが正解です。jq はコマンドラインで jq . file.json と書けば整形しますし、Prettier はリポジトリの他のファイルと同じようにJSONを整形します。Python は標準ライブラリに json.tool を同梱しているので、何もインストールせずに済みます。
この JSON beautifier はどれくらいのサイズまで扱えますか。
10メガバイトはデスクトップ機でおよそ0.6〜0.8秒で整形されます。それより大きなファイルもブラウザのメモリが尽きるまでは動き、その限界はどのツールでも512 MB付近です。パースは Web Worker で動くので、処理中もページは反応し続けます。