主な機能
- デュアルモード:人間に優しい<strong>フォーマット</strong>またはコンパクトな<strong>圧縮</strong>をワンクリックで
- 厳格なJSON解析(RFC 8259 / ECMA-404)— 無効なJSONは明確なエラーで早期に拒否
- 整形モードはインデントと改行を正規化し、読みやすくレビューしやすくします
- 圧縮モードはデータ値を保持しながら無意味な空白と改行を除去
- フォーマットモードで設定可能なインデントサイズ(1〜8スペース)とインデントスタイル(スペースまたはタブ)
- ⏎ ファイル末尾に常に最終改行を挿入するオプション(`insertFinalNewline`)
- UTF-8安全:文字列内のUnicodeコードポイントとエスケープシーケンスを保持
- 100%クライアントサイド — JSONはブラウザ内で直接処理
🛠️ JSONの整形または圧縮方法 for json-minifier
1. JSONを貼り付けまたはアップロード
📥 JSONをエディタに貼り付けるか、<code>.json</code>ファイルをドロップゾーンにドロップ。ツールは厳格なJSONパーサーを使用して入力を検証 — コメントと末尾のカンマは許可されません。
2. フォーマットまたは圧縮を選択
🎛️ アクションセレクターまたは<strong>フォーマット</strong>/<strong>圧縮</strong>ボタンを使用してモードを選択。フォーマットはインデント付きで整形表示、圧縮はコンパクトな1行(または数行)表現を生成。
3. インデント設定を調整(フォーマットモード)
📏 フォーマットモードで、インデントサイズ(1〜8)とスペースまたはタブの使用を選択。ファイル末尾に最終改行を挿入するかどうかも決定可能。圧縮モードは常に最もコンパクトな空白を使用。
4. 結果をコピーまたはダウンロード
📤 整形または圧縮されたJSONを確認し、コピーまたはファイルに保存。APIレスポンス、設定ファイル、ドキュメント、テストフィクスチャで使用。
技術仕様
コア変換(厳格かつ安全)
有効で標準準拠のJSON出力を生成するために適用される操作。
| 操作 | 適用 | 備考 |
|---|---|---|
| 厳格なJSON解析 | ✅ | 制御文字、コメント、末尾のカンマ、NaN/Infinity/undefinedおよびその他の非標準トークンを拒否します。 |
| Minifyモードでの空白文字の削除 | ✅ | トークン間のスペース、タブ、改行が削除されます。文字列の内容は正確に保持されます。 |
| Formatモードでの整形出力 | ✅ | 設定可能なインデントとクリーンな改行でJSONを再出力します。 |
| キーの順序保持 | ✅ | オブジェクトキーの順序は解析/出力の動作に従います(ほとんどのユースケースで機能的に保持されます)。 |
| 数値リテラル | ✅ | 数値は基盤となるJSONエンジンに従ってシリアライズされます。任意の丸めは追加されません。 |
| Unicode処理 | ✅ | 生のUTF-8文字と<code>\uXXXX</code>エスケープの両方がJSONパーサー/ストリンギファイによって認識されます。 |
互換性と安全性に関する注意
エッジケースや非標準パターンに対するツールの動作。
| ケース | 動作 | 推奨事項 |
|---|---|---|
| コメント(<code>//</code>、<code>/* ... */</code>)または末尾のカンマ | ❌ 無効なJSONとして拒否 | 別のJSONCプリプロセッサを使用するか、このツールを使用する前にコメントを削除してください。 |
| 大きな整数(> 2^53−1) | ⚠️ JSON数値として解析 | 正確な64ビットIDが必要な場合は、エンドツーエンドで文字列として表現してください。 |
| 日付とカスタムタイプ | ✅ 文字列として保持 | JSONにはネイティブな日付やカスタムタイプはありません。利用者はそれらを解釈する必要があります。 |
| NDJSON(行区切りJSON) | ⚠️ 特別な処理なし | NDJSONを使用する場合は、CLIツールで各行を個別にMinifyしてください。 |
Minifyモードでの典型的なサイズ削減
実際の削減効果は元のフォーマットとコメントの密度によって異なります。
| 入力スタイル | 典型的な削減率 | |
|---|---|---|
| 高度にフォーマットされた(多くのスペース/改行) | 20%–40% | 整形された設定ファイルやAPIレスポンスで一般的です。 |
| 中程度に整形済み | 10%–25% | 適切にインデントされたコンパクトなJSON。 |
| 既にコンパクト | 5%–10% | 一部のツールは既に最小限の空白を出力します。 |
JSON整形と圧縮のためのCLI代替手段
大規模ファイル、自動化、CI/CDのためには、このオンラインツールを同じ動作を模倣するコマンドラインユーティリティと組み合わせてください。
Linux / macOS / Windows
jq — JSONを圧縮
jq -c . input.json > output.min.jsonドキュメントごとに1行でコンパクトなJSONを解析して書き出します。
jq — 2スペースインデントで整形表示
jq . input.json > pretty.json読みやすくするため一貫したインデントでJSONを再フォーマットします。
Python
Python標準ライブラリで圧縮
python -c "import sys,json; print(json.dumps(json.load(sys.stdin), separators=(',',':')))" < input.json > output.min.json厳格なパーサー。トークン間の空白と改行を除去します。
2スペースインデントで整形表示
python -c "import sys,json; print(json.dumps(json.load(sys.stdin), indent=2))" < input.json > pretty.jsonオンラインツールと同様のインデントでJSONをフォーマットします。
Node.js
Nodeワンライナー — 圧縮
node -e "const fs=require('fs');const s=fs.readFileSync(0,'utf8');process.stdout.write(JSON.stringify(JSON.parse(s)));" < input.json > output.min.jsonJSON.parse + JSON.stringifyを使用してコンパクトな出力を生成します。
Nodeワンライナー — 整形表示
node -e "const fs=require('fs');const s=fs.readFileSync(0,'utf8');process.stdout.write(JSON.stringify(JSON.parse(s), null, 2));" < input.json > pretty.json2スペースインデントでJSONをフォーマットします。
一般的な使用例
WebとAPIパフォーマンス
- CDN経由で提供する前にJSON APIレスポンスを圧縮します。
- HTMLやJSに埋め込まれた設定ペイロードを縮小します。
- コンパクトなJSONを使用してlocalStorage/sessionStorageの容量を削減します。
CI/CDとデータパイプライン
- キャッシュや差分比較の前にJSON成果物を正規化します。
- OpenAPI仕様、マニフェスト、設定に一貫したフォーマットを適用します。
- 大規模なJSONデータセットをオブジェクトストレージにアップロードする前に圧縮します。
デバッグ、ログ&テレメトリ
- 深くネストされたJSONログを整形してインシデント調査を行います。
- 帯域幅を節約するため、送信するログペイロードを圧縮します。
- バグレポート用にAPIレスポンスの読みやすいスナップショットを準備します。
❓ Frequently Asked Questions
JSONのフォーマットや圧縮はデータを変更しますか?
JSONデータは保持されます。フォーマットモードは構造を読みやすくするために空白とインデントのみを変更します。圧縮モードはトークン間の意味的に重要でない空白を除去しますが、キー、値、配列、オブジェクトは意味的に同一に保たれます。コメントや末尾のカンマはサポートされていますか?
JSON(RFC 8259)を強制し、コメントと末尾のカンマを拒否します。JSONCを扱う場合は、別の前処理ツールでコメントを除去し、その結果の厳密なJSONをここでフォーマットまたは圧縮してください。キーの順序は変更されますか?
JSONエンジンがオブジェクトを出力する方法を反映します。コンシューマーがキーの順序に依存する場合は、それを文書化しテストを追加してください。ただし、JSON自体は順序のセマンティクスを定義していないことを覚えておいてください。大きな整数を失わないようにするにはどうすればよいですか?
JSONの数値はIEEE-754の倍精度浮動小数点数として表現されます。大きなIDや機密性の高い数値(例:64ビット整数)については、エンドツーエンドで文字列としてエンコードし、システム間で精度が失われることがないようにしてください。処理は本当にクライアント側で行われますか?
Pro Tips
差分やコードレビューのために、リポジトリには圧縮されていない整形済みJSONバージョンを保持し、本番環境ではパフォーマンス向上のために圧縮されたJSONを提供します。
キーの順序や特別な数値処理に関する前提条件を文書化し、テストとリンターで強制します。
JSON圧縮とHTTP圧縮(GZIP/Brotli)を組み合わせて、可能な限りの転送効率化を実現します。
繰り返し発生するタスク(例:OpenAPI仕様のクリーンアップ)には、同等のCLI(jq/Python/Node)をスクリプト化し、このオンラインツールは単発のクイックチェックに使用します。
Additional Resources
Other Tools
- CSSビューティファイア
- HTMLビューティファイア
- JavaScriptビューティファイア
- PHPビューティファイア
- カラーピッカー
- スプライト抽出ツール
- Base64デコーダー
- Base64エンコーダー
- C#フォーマッタ
- CSVフォーマッタ
- Dockerfile Formatter
- Elmフォーマッタ
- ENVフォーマッタ
- Goフォーマッタ
- GraphQLフォーマッタ
- HCLフォーマッタ
- INIフォーマッタ
- JSONフォーマッタ
- LaTeXフォーマッタ
- Markdownフォーマッタ
- Objective-Cフォーマッタ
- Php Formatter
- Protoフォーマッタ
- Pythonフォーマッタ
- Rubyフォーマッタ
- Rustフォーマッタ
- Scalaフォーマッタ
- シェルスクリプトフォーマッタ
- SQLフォーマッタ
- SVG フォーマッタ
- Swift フォーマッタ
- TOML フォーマッタ
- Typescript Formatter
- XML フォーマッタ
- YAML フォーマッタ
- Yarn フォーマッタ
- CSSミニファイア
- Html Minifier
- Javascript Minifier
- XML ミニファイア
- HTTPヘッダービューア
- PDFからテキストへ
- 正規表現テスター
- SERPランクチェッカー
- Whois ルックアップ