GZIP decompress

Paste gzip-compressed bytes as Base64 and read UTF-8 output locally.

{{ gzipUnpack.message }}

Overview

Modern data compression has two founding dates: 1977, when Abraham Lempel and Jacob Ziv published the LZ77 algorithm in IEEE Transactions on Information Theory, and 1978, when they published LZ78. Those two papers defined the theoretical foundation for virtually all lossless compression used today. DEFLATE — the algorithm inside every gzip file — was created by Phil Katz in 1989 for his PKZip program, combining LZ77 with Huffman coding. The story of Phil Katz is one of the most tragic in computing: he revolutionized software distribution by making compressed file sharing accessible on BBS boards and floppy disks, but died alone in a motel room in April 2000 at only 37 years old, after years of legal battles with PKWARE. The GZIP format itself — RFC 1952, published in 1996 by Jean-Loup Gailly and Mark Adler — was created specifically as a free alternative to Unix `compress`, which used the LZW algorithm protected by a Unisys patent. When that patent expired in 2003, gzip was already the web's consolidated standard.

Today GZIP is in virtually every HTTP communication. When a browser makes a request, it sends the header `Accept-Encoding: gzip, deflate, br`, telling the server it accepts compressed responses. The server replies with `Content-Encoding: gzip` and sends compressed content. For text files — HTML, CSS, JavaScript, JSON — the savings are impressive: a 100 KB response typically shrinks to 15 to 25 KB, a 75 to 85 percent reduction. nginx enables this with a single configuration line. CDNs like Cloudflare apply compression automatically. Node.js ships with the built-in `zlib` module for working with gzip in streams. The original `zlib` library by Gailly and Adler, from 1995, is probably the open source software with the most running instances in the world — embedded in browsers, operating systems, game consoles, digital cameras, and IoT devices.

This tool exists for the moment when you need to inspect gzip-compressed data without installing anything. Typical situations: an API response arrived compressed but the HTTP client did not decompress it automatically, and you have the raw bytes as Base64 in the log; a `.gz` file you want to quickly check without using gunzip; a binary protocol — such as Elasticsearch snapshots, WebSocket payloads, or Minecraft message formats — that uses gzip internally and you want to see the JSON inside. Base64 is necessary because browsers cannot paste raw binary bytes into a text box: encoding the bytes as Base64 first converts them into pure ASCII text that can be pasted and processed. The `DecompressionStream` API, available in all modern browsers since 2022, performs the actual decompression in the browser itself without sending anything to a server.

Technical deep dive

Common questions summarized

  • What is this tool for?: It runs fully in your browser: useful to validate, format, or convert data in everyday development.
  • Are my inputs sent to a server?: Processing happens locally with JavaScript. We do not store what you paste into the text areas.
  • Can I use this for real production data?: Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.

Sample payload to try

  • See also the larger "Code Snippets" sample; paste this excerpt to try locally: Flow — gzip -c arquivo.txt | base64 → cole aqui → texto

Tool guide

  • What GZIP is A common compression format for HTTP, logs, and .gz files.

  • What the tool does Takes gzip-compressed bytes as Base64, decompresses with the browser API, and displays UTF‑8 text when possible.

  • Why use it Peek inside a .gz payload without the CLI when the payload is mostly text.

Code Snippets

Code example
gzip -c arquivo.txt | base64 → cole aqui → texto

Flow

gzip -c arquivo.txt | base64 → cole aqui → texto

FAQ

What is this tool for?

It runs fully in your browser: useful to validate, format, or convert data in everyday development.

Are my inputs sent to a server?

Processing happens locally with JavaScript. We do not store what you paste into the text areas.

Can I use this for real production data?

Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.