Compress or decompress zlib streams (DEFLATE with a two-byte header and an Adler-32 checksum) up to 2 GiB in your browser, with a level from 0 to 9.
Runs in your browser — your input is processed on this device and never uploaded.
Pasted text up to 100 MiB, read as UTF-8, or a file up to 2 GiB.
Results appear here.
zlib is a small wrapper around DEFLATE compressed bytes. It adds a two-byte header and an Adler-32 checksum. PNG image data and many network messages store their compressed bytes this way.
This tool compresses bytes into a zlib stream, or decompresses a zlib stream back to the original bytes.
Gzip is a file you can email. zlib is the form DEFLATE takes inside something that already has a length: a PNG chunk, a PDF stream, or a protocol message. The header is two bytes, so a short payload does not pay for a gzip file header.
The checksum is Adler-32. It is faster to compute than the CRC-32 in a gzip footer, and it still rejects a truncated or damaged stream.
Gzip is the same DEFLATE data with a file header and a CRC-32 footer, and it uses the .gz suffix. Raw DEFLATE has no header and no checksum. This page will not open either of those. A .br (Brotli) or .zst (Zstandard) file will not open here either.
The gzip and zlib commands on your computer do the same job for files larger than 2 GiB.
Jean-loup Gailly and Mark Adler defined the zlib wrapper. The format is RFC 1950. The compressed bytes inside are DEFLATE, RFC 1951.
There is no widely used file suffix for a bare zlib stream. This tool writes .zlib. It also accepts .zz when you decompress, because a few tools use that suffix.
The HTTP content encoding named deflate is specified as this zlib wrapper, not as raw DEFLATE. Some senders still emit the raw stream. If a download fails here, try the raw DEFLATE tool.
The checksum catches accidental damage. It does not tell you who created the stream, and it is not a signature.
Find similar tools by category or tag.