99tools

Zip, Unzip & File Inspector

runs in your browser

Pack files into a zip, look inside one without unpacking it, and see what any file really is from its first bytes. All in the page.

Drop files here, or .

Drop a ZIP to look inside it, or any files to pack into one. Everything happens in this page.

about this tool

Three jobs, one drop zone

Drop a single ZIP and it is opened for reading. Drop anything else and it is queued for packing, with the first file inspected. Nothing is uploaded: fflate does the compressing and decompressing inside the page.

Looking inside an archive

The listing does not unpack anything. A ZIP keeps a catalogue at its end — the central directory — recording each entry's name, its size before and after compression, the method used, a checksum and a timestamp, and that catalogue is read here directly rather than through a library, because the usual unpackers give you the contents and throw the rest away.

That is what makes the listing worth having: you can see how each file compressed, which entries are stored rather than deflated, and when they were last changed. The timestamp is the MS-DOS format the format has always used, with two-second resolution and no time zone at all, so it means local time wherever the archive was made.

Four things are flagged before you unpack. Encrypted entries, which need a password this tool does not take. Entries using a method beyond stored and deflate, such as LZMA or zstandard, which the unpacker will not read. Paths that climb out of the archive, like ../../etc/passwd — the "zip slip" trick, harmless here because nothing is written to disk, but worth knowing about. And the ZIP64 extensions, which mean the archive is very large or holds a great many files.

Names are decoded as UTF-8 only when the entry says they are; otherwise the older code page is meant, and Windows-1252 is the nearest a browser has.

Making one

Add files, choose how hard to try, and the archive is built and saved. If everything you have added is already compressed — JPEGs, MP4s, other zips — the tool suggests storing rather than compressing, which is just as small and much quicker. Two files of the same name are pointed out, since only one of them will survive.

What a file really is

Nearly every format starts with a signature: eight distinctive bytes for a PNG, %PDF for a PDF, PK for a ZIP, ustar 257 bytes into a tar. The inspector matches those, tells you when the name and the bytes disagree, and shows the first 128 bytes as a hex dump. For text it works out the encoding from any byte-order mark and reports the line endings. It also measures the entropy of the first 64 KB, which says at a glance whether there is anything left to compress.

Limits

ZIP and gzip only: no tar, no 7z, no RAR — those are identified but not unpacked. Encrypted archives are listed but not opened. Everything is held in memory at once, so a multi-gigabyte archive will not work on a phone. Extracting several files saves them one at a time, because a browser cannot create folders, and each file's path is dropped from its name.

To confirm an archive downloaded intact before you open it, the hash generator checks it against a published checksum. Images pulled out of a zip often carry location tags — EXIF viewer & remover strips them.

questions

Is my file uploaded anywhere?
No. The archive is read and written by fflate inside this page, and the file never leaves your machine. That also means the work is done by your device, so a very large archive is limited by its memory rather than by an upload.
Can it open a password-protected zip?
No. Encrypted entries are listed, with a note saying which they are, but unpacking them needs the password and the older ZIP ciphers, neither of which this tool handles.
How does it know what a file is?
By its first bytes. Nearly every format begins with a signature — PNG starts with a byte that cannot be mistaken for text followed by the letters PNG, a PDF with %PDF, a ZIP with PK. The name is only a label, and where the two disagree the tool says so. A tar file is the odd one out: it has nothing at the start, so the word ustar is looked for 257 bytes in.
Why does it say my document is a zip file?
Because it is. A .docx, .xlsx, .epub, .jar and .apk are all zip archives with particular files inside, which is why you can open one here and see its parts.
What does the entropy number mean?
It is how unpredictable the bytes are, from 0 to 8 bits per byte. Plain text sits around 4 to 5 and compresses well; anything near 8 is already compressed or encrypted, and zipping it again will save nothing. The tool suggests “store” when everything you have added is in that state.