Gzip の圧縮と解凍
エンコード処理はすべてブラウザ内で完結します。データは送信されません
テキストを gzip で圧縮し、あるいは gzip をテキストに戻します。まずはっきりさせておきます:gzip は暗号化ではありません。鍵がなく誰でも解凍でき、出力は「そのままでは読めない」だけです —— 多くのツールサイトが「暗号化」に分類していますが、それは歴史的な誤称です。本来の用途はデータを小さくすることで、JSON はたいてい3割程度まで縮み、ログや API のレスポンス、バックアップがこれを支えています。ここではブラウザ標準の実装を使うため、結果は `gzip` コマンドや zlib、各言語の標準ライブラリと1バイトまで一致し、そのまま相互にやり取りできます。出力には元のサイズ・圧縮後のサイズ・圧縮率が並びます —— なお、圧縮して逆に大きくなるのは正常です(短いテキストに gzip のヘッダ一式が付くためです)。その旨も画面に明示します。
機能
- 双方向:テキスト ⇄ gzip
- 出力は Base64 または16進数。入力時はどちらも受け付けます(16進数は空白・コロン・改行を許容)
- gzip コマンド・zlib・各言語の標準ライブラリと1バイトまで一致し、そのまま交換できます
- 元のサイズ・圧縮後のサイズ・圧縮率を同時に表示します
- 逆に大きくなった場合は理由を明示し、ツールの不具合と誤解させません
- 有効な gzip でない場合は、切断・改行・zlib / deflate の可能性を指摘します
使い方
- 方向を選びます:圧縮または解凍
- データ形式を選びます:Base64 または16進数
- 内容を貼り付け、Ctrl/⌘ + Enter か「実行」を押します
- 結果をコピーします —— 行ごとに個別のコピーボタンがあります
よくある質問
- gzip は暗号化に使えますか?
- 使えません。gzip は圧縮であって暗号化ではありません:鍵がなく誰でも解凍でき、データが「そのままでは読めない」だけです。機密の内容を圧縮してから送るのは、平文で送るのと変わりません —— 圧縮後のバイト列に情報はすべて残っています。機密性が必要なら AES か、正規の暗号アルゴリズムを使ってください。
- 圧縮したら逆に大きくなったのはなぜですか?
- gzip には固定のヘッダとフッタのオーバーヘッド(約 18 バイト)があり、内容が短い場合やすでに圧縮済みの場合(zip・画像・動画・PDF 内のストリーム)、DEFLATE は符号化する価値のある繰り返しを見つけられず、逆に「そのまま格納した」ことを記録する分だけ増えるからです。これはすべての圧縮アルゴリズムに共通する性質で、不具合ではありません。基準は単純です:圧縮は冗長でまだ圧縮されていないデータにしか効きません。
- 解凍できず「有効な gzip ではない」と出ます
- まずコピーが途中で切れていないか確認してください —— 圧縮結果にはバイナリが含まれるため、チャットやフォームに貼ると切れたり改行が混ざったりします。次に形式の確認です:`zlib`(0x78 で始まる)、`raw deflate`(ヘッダもフッタもない)、`gzip`(0x1f 0x8b で始まる)は互換性のない3つの形式で、しばしば一括りに「圧縮」と呼ばれますが、gzip で zlib のデータを解こうとすれば必ず失敗します。本ツールは gzip のみを扱います。
- 出力は gzip コマンドと同じ形式ですか?
- 完全に同じです。`echo -n "内容" | gzip -c | base64` の結果と本ツールの Base64 出力は1バイトまで一致します —— どちらも標準の DEFLATE と gzip のラッパーを使っており、gzip ヘッダのタイムスタンプ欄には 0 が書き込まれるためです(だから同じ入力からは必ず同じ出力になり、比較もキャッシュも安全にできます)。
関連ツール
AES / DES
エンコードAES・DES・3DES でテキストを暗号化・復号します。CBC・GCM・CTR・ECB の4モードに対応し、鍵はテキスト・16進数・Base64 で指定できます。
Base64 変換
エンコードテキストを Base64 に変換し、Base64 からテキストへ戻します。日本語や中国語、emoji も UTF-8 として正しく処理。すべてブラウザ内で完結し、内容は送信しません。
ハッシュ計算
エンコードMD5・SHA-1・SHA-256・SHA-512 のダイジェストを計算します(旧システム向けの MD4・MD2 も可)。日本語も UTF-8 バイトで計算します。
URL エンコード
エンコード日本語や中国語、空白・記号を %XX にエスケープし、復元します。URL 全体とパラメータ値では方式が異なり、間違えるとリンクが開けません。ブラウザ内で処理します。
HTML 実体参照
エンコード< > & と引用符を HTML 実体参照に変換し、文字へ戻します。デコードは1回だけで、&lt; は山括弧ではなく < になります。すべてブラウザ内で処理します。
JWT デコードと検証
エンコードJWT を header・payload・signature に分け、秘密鍵で HS256/384/512 の署名を検証します。exp・nbf は読める日時に変換。すべてブラウザ内で処理します。