DEB to ZIP

Nothing you choose here leaves your browser, and nothing is downloaded to make it work — not a library, not a compression module, nothing. Your browser already knows how to deflate and gzip; this page writes the ZIP around it.

One limit, before you choose a file: this opens a package whose contents are gzipped. Debian also allows xz and zstd, which your browser cannot decompress and which nothing here will download a library for — if yours is one of those, this page says which by name rather than failing vaguely.

…or drop one anywhere on this page.

The files a package would install, without installing it.

This works when the package's contents are gzipped. Debian's format allows gzip, xz, zstd, bzip2 or lzma, and your browser has gzip and nothing else — xz has been allowed since 2009 and zstd since 2022, so a recently built package quite likely uses one of them. If yours does, the page says which rather than failing vaguely. What comes out is the contents of data.tar — the files and the paths they would go to. Nothing is installed and nothing is run: the maintainer scripts live in control.tar and are deliberately left behind, because they are shell scripts that run as root.

How this works, and why nothing is fetched

A .deb is an ar archive — eight bytes of magic and a sixty-byte text header per member — holding a tar that has been gzipped. Both the ar layer and the tar are byte layouts rather than algorithms, and the gzip is your browser's own through DecompressionStream. Nothing is fetched.

Whether your package opens here depends on how it was built

A Debian package is an ar archive holding three members in a fixed order: debian-binary, which is four bytes of text; control.tar, the metadata; and data.tar, the files. The ar layer and the tar are both plain byte layouts and neither is any trouble.

The trouble is that those tars are compressed, and deb(5) allows several ways: .gz, .xz, .zst, .bz2, .lzma, or nothing at all. Your browser has gzip and deflate and nothing else, and nothing here downloads a compression library to make up the difference — the same reason .7z and .xz are not offered.

xz has been allowed in a .deb since 2009 and zstd since 2022, so a package built recently quite likely uses one of them and will not open here. That is said before you choose a file rather than after, and if yours does turn out to be xz the message names it rather than failing vaguely.

What it will not do

It will not open a RAR, and nothing ever writes one: RARLAB's licence forbids using their code to re-create the RAR algorithm, which is proprietary. That is a legal restriction and not a difficulty. It will not open a 7z, bzip2 or xz either — those need compressors your browser does not have, so supporting them would mean shipping one, which is the thing this page avoids. It says which of these it is looking at rather than just refusing.

It does not open password-protected archives, and it says so per file rather than failing silently. It reads plain ZIPs rather than ZIP64, so an archive over 4 GB or with more than 65,535 files is refused with that reason given.

Where to go next