ファイル・バイナリ・圧縮

Gzip圧縮・解凍ツール圧縮・解凍・サイズ比較をすべてブラウザ内で

ファイルを選ぶかテキストを貼り付け、アルゴリズムと方向を選んで実行するだけ。データはブラウザの外に出ません。

Gzip圧縮・解凍ツール

入力
方向
アルゴリズム

入力

ここにファイルをドロップするか、選択してください。

ファイルとテキストはブラウザ内だけで圧縮・解凍され、アップロードされません。

結果

ファイルを追加するかテキストを貼り付けてから、圧縮または解凍を選んでください。

6

ファイルを追加するかテキストを貼り付けてから、圧縮または解凍を選んでください。

数百KBの設定ファイルをGzipで圧縮すべきかBrotliの方が得なのか確かめるためだけに、コマンドラインでzlibやbrotliのコマンドを打つのは面倒すぎます。このGzip圧縮・解凍ツールはGzip・Deflate・Brotliという3つの実際のアルゴリズムをブラウザ内で実行し、ファイルやテキストを圧縮・解凍した結果、何バイト節約できたかをその場で確認できます。

手早く書いたスクリプトとの違いは細かい部分に表れます。圧縮レベルは既定値ではなく調整可能で、サイズ比較は推測ではなく正確なバイト数、そして解凍方向には明確な上限があります——出力が512MiBを超えそうになった瞬間にツールは処理を止め、結果全体を先にメモリへ確保しようとはしません。

このGzip圧縮・解凍ツールを使う理由

推測ではなく正確なサイズがわかる

実行するたびに元のバイト数と結果のバイト数が並べて表示され、節約できた割合も一緒にわかります。ダウンロードする前に、Brotliの高品質設定が本当に待つ価値があったのか判断できます。

元のファイルサイズと、より小さくなった圧縮結果を比較する棒グラフ。間に節約率が表示されている。

解凍が暴走しない

小さな圧縮ファイルでも数ギガバイトに膨れ上がることがあります。このツールは出力をストリームで処理しながらバイト数を数え、合計が512MiBを超えそうになった瞬間に停止します。結果全体を先にメモリへ確保しようとはしません。

小さな圧縮ファイルが膨張していく途中でゲージに止められ、固定の上限に達すると増加が止まる様子。

実行前に知っておきたい3つのこと

01

実行はあえて手動のまま

自動実行の切り替えはありません。Brotliを最高品質にすると大きな入力では本当に時間がかかり、キャンセルが意味を持つ必要があるからです。圧縮または解凍をクリックするか、Ctrl/Cmd+Enterを押すまで何も始まりません。アルゴリズム・レベル・入力を変えると現在の結果は古いものとして扱われ、再実行が必要です。

02

「結果を入力に入れ替え」で往復を確認できる

結果が出た後にこのボタンを押すと、その結果を入力に戻し方向を反転(圧縮なら解凍へ、その逆へ)するプレビューが表示されます。バイトがきちんと元に戻るか確認できます。実際に置き換わるのは適用を押した後だけで、元に戻すで一度だけ以前の入力と結果を復元できます。

03

テキストモードはBase64、生バイトではない

テキストを圧縮するとまずUTF-8としてエンコードされます。テキストモードでの解凍は、圧縮データのBase64形式を貼り付ける前提です。生の二進数をテキストとして貼り付けることはできないためです。解凍結果が有効なUTF-8であればそのまま読める文章として表示され、そうでなければ自動的にBase64表示に切り替わります。任意の二進データを扱うにはファイルモードを使ってください。

実際にできること

名前が違うだけの1アルゴリズムではなく本物の3種類

GzipとDeflateはfflateで実行され、レベル0〜9を選べます。BrotliはWebAssembly実装で実行され、品質1〜11を選べます。3つともブラウザ内で動作し、バックグラウンドのWorkerで実行されるためページが固まりません。

1つのファイル、または1つのテキスト

1つのファイルをドロップまたは選択するか、テキストを直接貼り付けます。テキスト圧縮ツールとしても使え、ファイル形式の変換やアーカイブの作成・展開は行いません——扱うのはGzip・Deflate・Brotliが本来そうである、単一の圧縮ストリームです。

判断材料になる比較結果

実行のたびに元のバイト数・結果のバイト数・変化率がまとめて表示されます。非常に小さい入力やすでに圧縮済みの入力が、圧縮後にわずかに大きくなるという正直なケースも含めてです。

本当に止まるキャンセル

圧縮も解凍も終了可能なWorker内で実行されます。キャンセルを押せば処理の完了を待たず、進行中のタスクをその場で破棄します。

このツールがしないこと、その理由

ZIP・TAR・7zなどのアーカイブ形式には対応しない
Gzip・Deflate・Brotliは単一ストリームの圧縮形式であり、アーカイブ形式ではありません。複数ファイルのまとめ、ファイル名やフォルダ構造の保存、既存アーカイブの読み込みには、まったく別の種類のツールが必要です。
方向を勝手に推測しない
このツールは入力の中身を調べて自分の判断で解凍することはありません。毎回、圧縮か解凍かを明示的に選ぶ必要があり、予期しない貼り付けが意図しない展開を引き起こすことを防ぎます。
512MiBの解凍上限は固定
これは説明文として表示されるだけで、設定項目ではありません。調整できるようにしてしまうと、エラーに遭遇した人がとりあえず数値を上げて通してしまい、解凍爆弾への防御という上限の意味そのものがなくなってしまいます。
壊れたデータや途中で切れたデータは拒否される
解凍後、GzipとDeflateは内蔵のCRC32またはAdler-32チェックサムで検証され、Brotliはストリーム終端マーカーを確認します。途中で切れたファイルや改変されたファイルは、不完全なバイト列を黙って返すのではなく、明確なエラーになります。
データは一切アップロードされない
このGzip圧縮・解凍ツールは圧縮も解凍もすべてブラウザ内で完結します。ファイル・貼り付けたテキスト・結果のいずれもどこにも送信されず、このツール自体が通信を行うこともありません。

Gzip圧縮・解凍ツールのよくある質問

Gzipのオンライン解凍はブラウザだけで安全にできますか?

はい。このツールは完全にブラウザ内で完結し、ファイルとテキストはローカルで読み込まれ、あなたの端末上で圧縮・解凍されます。サーバーへ送信されることはありません。ブラウザのネットワークパネルを開いて自分で確認することもできます。

Gzip・Deflate・Brotliの圧縮率はどれが一番違いますか?

Deflateはzlibヘッダーの中身にあたる素のアルゴリズムです。Gzipは同じアルゴリズムに独自のヘッダーとチェックサムを加えるため、同等のDeflate出力よりわずかに大きくなります。Brotliは特に品質を上げた場合、多くのケースでより高い圧縮率になりますが、圧縮に時間がかかるという代償があります(解凍速度は3つとも高速です)。互換性を最優先するならGzip、待ち時間を許容してでも最小サイズが欲しいならBrotliを選んでください。

Gzipの圧縮レベル1〜9で実際に何が変わりますか?

圧縮にかける時間とファイルサイズのトレードオフが変わります。0はほとんど圧縮せず最も速く終わり、9は繰り返しパターンを探すのに最も労力をかけて最小のファイルになります。6はよく使われるバランス型の既定値です。どのレベルを選んでも解凍結果は完全に同一で、変わるのはサイズと処理時間だけです。

解凍爆弾(zip爆弾)とは何ですか?このツールはどう対策していますか?

解凍爆弾とは、解凍すると膨大な量のデータに膨れ上がるように作られた小さな圧縮ファイルのことで、メモリを使い果たしてタブが固まったりクラッシュしたりする原因になります。このツールはストリームで解凍しながら出力バイト数を数え、合計が固定の512MiBを超えそうになった瞬間に、完全な展開結果をメモリに確保する前に処理を止めます。

信頼できない相手から受け取ったGzipファイルをここで解凍しても安全ですか?

アップロードが一切なく512MiBの上限が暴走的な膨張を止め、各形式に内蔵されたチェックサムも検証されるため、他の多くの方法より安全です。ただし解凍後の内容をマルウェアとしてスキャンする機能はないため、復元したバイト列は信頼できない相手からのファイルとして扱うのと同じ注意を払ってください。

Brotliのオンライン圧縮で品質レベルを選べますか?

はい。アルゴリズムでBrotliを選ぶと品質スライダー(1〜11)が使えます。品質11は最小の出力になりますが、大きなファイルでは目に見えて時間がかかります。値を下げると圧縮率と引き換えに速度が上がります。高品質設定の実行が想定より長くかかる場合は、いつでもキャンセルできます。

まだ疑問がありますか?

次のファイルを圧縮・解凍する

サンプルを読み込んで、繰り返しの多いテキストが大きく縮む様子を確認するか、自分のファイルやテキストをこのGzip圧縮・解凍ツールに持ち込んでみてください。