JSON圧縮ツール
整形されたJSONドキュメントを貼り付けると、トークン間のスペース、改行、末尾の空白、JSONCコメントといった不要なバイトがすべて削除された1行形式のデータが得られます。出力されるバイト数は同じデータの可能な限り最短のエンコードに匹敵し、<script>への埋め込み、URLパラメータ、バイト単位で課金されるペイロードにそのまま使える状態です。
JSONを圧縮する手順
-
1
JSONを貼り付ける
整形済み、またはすでに部分的に圧縮された状態でも構いません。入力は解析され、再シリアル化されます。
-
2
圧縮する
トークン間の空白はすべて削除され、コメントも削除されます。数値はそのまま保持されます。
-
3
サイズの差を確認する
処理前後のバイト数と削減率(%)。
-
4
出力をコピーする
1行のJSONで、コードファイルやAPIリクエストにそのまま貼り付けられます。
削除される内容
- トークン間の空白:スペース、タブ、改行。
- コメント(JSONC形式の
//および/* */)は、厳格なJSON規格で許可されていないため削除されます。 - ドキュメント先頭のBOMおよび先頭の空白。
削除されない項目
- 値:すべての文字列、数値、ブール値、nullは正確に保持されます。
- 数値の表記:すべての数値は入力したとおりに正確に保持されます。
1.50は1.50のまま、1e-3は1e-3のままです。このツールは入力した精度をそのまま維持します。 - キーの順序:オブジェクトは元の挿入順序を維持します。
なぜJSONを圧縮するのか
- より小さいペイロード:整形された120KBの設定ファイルは70KBまで縮小でき、これはすべてのリクエストにおいて重要です。
- インライン埋め込み:JSONを
<script>タグやURLパラメータに挿入する場合、空白文字は帯域幅の無駄になります。 - ハッシュの安定性:意味的に同一の2つのJSONドキュメントでも、空白が異なればハッシュ値は異なります。先に圧縮しておくと一貫したハッシュが得られます(ただし、真の正規化ではキーも並べ替えられます)。
バイト節約に関する参照
| 入力 | 整形済み(2スペース) | 圧縮後 | 削減量 |
|---|---|---|---|
| 小規模な設定(50キー) | 1.8 KB | 1.1 KB | 39% |
| API応答(ネストあり、5 KB) | 6.2 KB | 4.1 KB | 34% |
| 大規模データダンプ | 1.2 MB | 0.8 MB | 33% |
gzipを適用すると差は大幅に縮小します。なぜならgzipはすでに空白文字を効率的に圧縮しているからです。生バイトの用途(URLやインライン埋め込み)では圧縮を使い、通信経路上の処理にはgzipを活用してください。
ミニファイしない場合
- バージョン管理システムに保存された設定ファイルでは、可読性がデータ量よりも優先されます。
- 人が編集するファイル、圧縮されたJSONを手作業で編集して後悔しない人はほとんどいません。
- デバッグ用の成果物:クラッシュログに記録された1行400KBのJSONは、読み取ることが不可能です。
よくある間違い
- コメントに依存していたJSONの圧縮。 コメントは削除されるため、TODOマーカーがあった場合はパーサーの動作が変わる可能性があります。
- 浮動小数点数の圧縮。一部のツールは
0.1を入力とは異なる形で再シリアル化しますが、このツールは文字列表現を正確に保持します。 - 最小化をgzip圧縮の代わりに使うこと。 テキストでは、gzipのほうが最小化よりも多くのバイトを節約します。どちらか一方で置き換えるのではなく、両方を組み合わせて使ってください。
よくある質問
整形済みの入力の場合、通常は30~40%小さくなります。この削減効果はほぼ完全に空白の削除によるもので、実際のデータ内容は変わりません。gzip処理後は、圧縮版と整形版の差は通常5%未満になります。これはgzipが空白を効率的に処理するためです。
このツールは数値の文字列形式を正確に保持します。1.50は1.50のまま、1e-3は1e-3のまま保持されます。一部の圧縮ツールは数値を正規化しますが、本ツールはデフォルトで保守的に動作するため、意図しない精度の低下は発生しません。
いいえ。圧縮処理は完全にブラウザ内で実行されます。貼り付けたJSONがお使いの端末から外部へ送られることはありません。トークンやプライベートな設定を含むAPI応答にも安全に使えます。
はい。入力ではコメントが許容され、出力時に削除されます(厳格なJSONはコメントを許可していません)。コメントを残しておきたい場合は、整形済みのJSONCソースを保持し、デプロイ時にのみ圧縮してください。
関連ツール
Webpack設定ジェネレーター
短いフォームからwebpack 5のwebpack.config.jsを生成します。entry・出力フォルダー・モードを設定し、TypeScript、Babel、CSSローダー、HtmlWebpackPlugin、開発サーバーを切り替えるだけです。
CMYK から RGB への変換
標準的な計算式で CMYK の割合をおおよその RGB 値と Hex 値に変換し、画面用にすばやく確認できます。
.gitignore ジェネレーター
Laravel、Node.js、Python、Rails のプロジェクト用除外ルールを組み合わせます。結果をコピーするか、.gitignore 入りの ZIP をダウンロードできます。個人用ルールは別に表示します。
16進数から10進数への変換ツール
16進数を10進数(10進法)に変換します。メモリアドレス、エラーコード、RGBチャンネル、任意精度の整数に対応します。
Dockerfileジェネレーター
5つのアプリ構成に合うDockerfileと.dockerignoreを作成。実際の起動対象、作業ディレクトリ、内部ポートを入力し、両方のファイルを確認できます。
Markdownリンク生成ツール
URLとアンカーテキストからMarkdownリンクの記法を生成します。タイトルのツールチップや、長い文書を読みやすく整える参照形式のリンクにも対応しています。
このツールは他の言語でも利用できます
- Minificateur JSON [FR]
- Bộ rút gọn JSON [VI]
- JSON-minifierare [SV]
- Minifikator formatu JSON [PL]
- Minificador JSON [ES]
- JSON-minifier [NL]
- Minificador de JSON [PT]
- เครื่องย่อข้อมูล JSON [TH]
- Minifier JSON [ID]
- JSON 압축기 [KO]
- مُختصر بيانات JSON [AR]
- JSON-Minifier [DE]
- JSON Minifier [EN]
- Minificatore JSON [IT]
- Минифайер JSON [RU]
- JSON Minifier [TR]
- JSON 压缩器 [ZH]