Archive tools

Zlib decompress

Zlib decompress a file locally. Nothing leaves your device.

Runs on your device. The file is never uploaded.

Zlib decompress expands a zlib stream with fflate unzlibSync, stripping .zz from the name or appending .out when the name ends in nothing it recognises. It refuses raw deflate and gzip bytes, since the wrapper it looks for is the two-byte header and Adler-32 pair. A stream compressed against a preset dictionary cannot be expanded here.

Input

Questions

What is a zlib stream and why would I have one?

It is deflate compressed data wrapped in a two byte header with an Adler-32 checksum. You meet it inside other formats: PDF stream objects, PNG image data and many network protocols all carry zlib. If you pulled such a blob out of a container, this is the tool that expands it.

What do I get back?

Your file with the .zz stripped off, or with .out appended if the name did not end in a recognised suffix, so the result never collides with its source. The bytes are exactly what was compressed, since this is lossless.

Why did it fail on my file?

Because the bytes are not a valid zlib stream. The commonest reason is raw deflate with no wrapper, in which case use Deflate decompress, or gzip, in which case use Gzip decompress. A truncated or corrupted stream fails the same way.

Are there any settings?

None. The tool takes one file and expands it, so the result is the same every time. There is no dictionary option, which means a stream compressed with a preset dictionary cannot be read here. The output is not configurable either, since the expanded bytes are simply whatever was compressed in the first place.

Is there a size guard?

No. Unlike Extract ZIP, which reads declared sizes from the archive headers before unpacking, a zlib stream gives no size up front, so the data is expanded into memory as it arrives. A large or deliberately crafted stream can exhaust the tab. Use a tool that streams to disk if you are unsure what is inside.

Does the data leave my device?

No. Everything is decompressed in a Web Worker in your own tab, with no upload and no account, and the page keeps working with the network off after the first visit. The compressed input and the full expanded output are both held in memory at once, so a large stream is bounded by your browser tab.

Related Archive tools