Archive tools

Extract ZIP

Unpack a .zip into its files, on your device. Refuses an archive whose own headers declare more than 1 GB of uncompressed content, so a decompression bomb cannot take the page down with it.

Runs on your device. The file is never uploaded.

Extract ZIP writes out every file inside a .zip as its own download, keeping nested paths in the names and dropping directory entries. Any dot or double dot segment is stripped, so no entry can climb above the extraction root. A zip declaring over 1 GB of content in its headers is turned away before anything is inflated.

Input

Questions

Why did it refuse to unpack my archive?

Most likely the 1 GB guard. Before any entry is inflated, the declared uncompressed sizes from the zip headers themselves are added up, and if the total passes 1 GB the tool stops with "this zip declares more than 1 GB of uncompressed content", naming the entry that crossed the line, and suggests a desktop tool that can stream to disk. That is what stops a decompression bomb from taking the tab down.

Is the size check reliable?

Only as far as the archive is honest. The figures come from the entry headers, so an archive that lies about them is not covered. This stops the ordinary 42.zip shaped bomb, not every possible one. It is one absolute cap rather than a compression ratio rule, because what fills your memory is total bytes, and a ratio rule would refuse ordinary small archives of highly compressible text.

What happens to folders inside the zip?

Nested paths are preserved in the file names, such as docs/report.txt, but directory entries themselves are dropped since they carry no content. Any dot and double dot segments in a path are removed rather than resolved, so no entry can escape above the extraction root no matter what the archive claims.

Do I get the files separately or as one download?

Separately. Each entry is listed as its own file with its own download, so you can take only what you need. If the archive contains nothing but directory entries, or nothing at all, the tool says "zip is empty". Nested paths are kept in the names, so a file that lived in a folder inside the archive still shows that folder in its name.

Why did it say my file is not a valid zip?

Because fflate cannot read it. That covers a truncated download, a file renamed to .zip that is something else, and archive features the reader does not support. The underlying error is included after the file name so you can see what it tripped on.

Is the archive uploaded?

No. It is read into memory and unpacked in your browser, and every extracted file is held in memory until you download it. Nothing is sent to a server. That memory use is exactly why the 1 GB guard exists.

Related Archive tools