§

貼上或輸入您想要壓縮的文字。

對於二進位資料(例如圖片、文件),請使用下方的檔案上傳表單。
§

Output

gzip
原始(位元組): 0 · 已壓縮(位元組): 0 · 比率:
§

使用 GZIP 壓縮檔案

選擇要上傳並壓縮的檔案。

拖曳檔案到此處或點擊以選擇

對部署於 AWS 台北區域(預定)或東京區域的台灣團隊而言,GZIP 壓縮是控管雲端成本的關鍵手段:Lambda 函式回應、CloudFront 邊緣快取、S3 物件——每一個位元組都計入 NTD 帳單。中華電信 HiCloud、PChome OpenStack Swift、以及國家高速網路與計算中心(國網中心)的 TWCC 容器服務,皆預設啟用 gzip 傳輸編碼。處理電子發票每月對帳大檔(動輒上百 MB 的 CSV)或 iThome 鐵人賽部落格的 sitemap.xml.gz 時,壓縮可節省可觀頻寬;Cloudflare Workers Taipei 邊緣節點亦自動 gzip 動態回應。

什麼是 GZIP 壓縮?

GZIP 是由 RFC 1952 定義的無損檔案壓縮格式。它將由 DEFLATE 演算法(RFC 1951)產生的有效負載包裝起來,該演算法結合 LZ77 反向引用與 Huffman 編碼,將重複資料壓縮成緊湊的位元組流。

GZIP 壓縮是如何運作的?

您的輸入完全在瀏覽器中透過原生 CompressionStream('gzip') API 進行處理。主要步驟如下:

  1. 工具將您的文字或檔案轉換為位元組流(文字輸入使用 UTF-8)。
  2. 這些位元組會通過設定為 gzip 格式的 CompressionStream 進行處理。
  3. 瀏覽器套用 DEFLATE:滑動視窗 LZ77 掃描尋找重複序列,Huffman 編碼為常見符號分配較短的編碼。
  4. 在 DEFLATE 負載外包裹 10 位元組的 gzip 標頭與 8 位元組的尾段(原始資料的 CRC32 加上原始長度對 2^32 取餘),產生標準的 .gz 容器。
  5. 文字輸入的結果會以 Base64 或十六進位形式呈現;二進位輸入則提供可下載的 .gz 檔案。

為什麼使用 GZIP 進行壓縮?

  • 更小的負載:文字、JSON、HTML、CSS 與原始碼通常會壓縮為原始大小的一小部分。
  • 業界標準:幾乎所有 HTTP 伺服器、CDN、瀏覽器、封存工具與程式語言標準函式庫都能識別 GZIP。
  • 隱私:壓縮完全在您的瀏覽器中進行。輸入永遠不會到達我們的伺服器。
  • 支援來回操作:輸出可使用 gunzip 指令列、HTTP Content-Encoding: gzip,以及 Python、Node.js、Go、Java 或 Rust 中的任何 RFC 1952 讀取器進行解壓。

GZIP 壓縮有哪些常見應用?

GZIP 在整個網路和命令列工具中被廣泛使用:

  • HTTP 傳輸:Web 伺服器使用 GZIP 壓縮回應,使頁面在網路上載入得更快。
  • 日誌封存:長期保留的伺服器日誌以 .gz 檔案形式儲存以節省磁碟空間。
  • 備份與打包:tarball(.tar.gz)將整個目錄樹壓縮以便攜帶式分發。

GZIP 壓縮範例是什麼樣子?

包含許多重複欄位名稱的 1 KB JSON 文件通常可壓縮到約 200–300 位元組——大小減少四到五倍。大型文字日誌的壓縮率通常達到 90% 或更高。已經壓縮過的輸入(JPEG、PNG、MP4、ZIP)無法再進一步壓縮,反而可能因 GZIP 包裝而增加幾個位元組。

此 GZIP 壓縮器直接在您的瀏覽器中產生標準 RFC 1952 輸出。無論是在傳輸前壓縮負載,還是產生用於封存的 .gz 檔案,結果都能與網路上所有相容 GZIP 的工具互通。