Zipscope: a zip viewer that answers three questions about your file

ZipscopeA zip viewer in your browser.

Demo These answers are for a sample archive, demo-app-2.4.0-release.zip.

What is in this zip?

In the sample archive: 879 entries in five folders: bin, lib, debug, config and share.

Where did the space go?

In the sample archive: debug/demo-app.debug is 12.0 MiB of the 18.8 MiB.

Largest folders
debug/12.2 MiB
share/4.6 MiB
bin/1.1 MiB

Is it healthy?

In the sample archive: 1 warning, 1 notice. One name is in the archive twice, and 3.0 KiB of data is after the end.

Drop your zip, jar, apk, whl, vsix or docx here to get these answers.Open your zip, jar, apk, whl, vsix or docx to get these answers.Drop the file to get its answers.Drop a zip anywhere on this page.

Does my file leave this device?

No. Zipscope is a static site, with no server that can receive a file. The page reads the file in your browser, and its Content Security Policy (default-src 'self') lets it connect only to its own origin. When you save a file to your disk, your browser’s own download check may send its name, hash and other details to a service such as Google Safe Browsing, as it does for other downloads. The page loads no third-party scripts. The source code is MIT licensed, so you can examine this: github.com/nickbabcock/zipscope.

Which files does it open?

Zipscope is a zip viewer for the zip family: .zip, .jar, .apk, .docx, .whl, .vsix and .ipa files, because all of them are zip files. Also zip64 archives larger than 4 GiB. It does not open 7z, rar or tar files.

How does it read a large archive?

Zipscope reads the central directory: the list of entries at the end of the file. It does not unpack the archive to list it. unzip -l prints the same list with one total, so it does not tell you which folder takes the space. The list fills in as it reads, so you can scroll, search and sort before it ends. At a memory limit, it stops and asks before it goes on.

What if the archive lies?

Zipscope does not trust what an archive says about itself. It tells you what it found, for example duplicate names, entries that overlap, and data before or after the entries.

Can I look inside a file?

Yes. The preview shows stored, Deflate and Zstandard entries. You can extract a file or a folder to your disk. Encrypted entries are listed and labeled, but Zipscope does not decrypt them.

Can I use only the keyboard?

Yes. The arrow keys move in the tree and in the table. Enter opens a folder or the preview of a file, Space shows or hides the preview, Escape closes it, and Backspace goes up one folder. / moves to the search field, and Escape clears it.

What is in a .jar file?

A Java archive holds compiled .class files, resources and META-INF/MANIFEST.MF. A fat or shaded jar also holds its dependencies, so look in the package folders for a library that you did not expect.

What is in an .apk file?

An Android package holds AndroidManifest.xml, classes.dex, resources.arsc and res/. Many also hold assets/ and native libraries in lib/, one folder for each processor type. Check lib/ for a processor type that your users do not need.

What is in a .whl file?

A Python wheel holds the package folders and a .dist-info folder. Open it to see what pip install puts on a machine, and whether the tests or large data files shipped.

What is in a .vsix file?

A Visual Studio Code extension holds an extension/ folder, extension.vsixmanifest and [Content_Types].xml. Did node_modules ship in this extension? Look in extension/, and look for source maps too.

What is in a .docx file?

A Word document holds XML in word/, and each embedded picture in word/media/. Sort by size to see which picture makes the document large.

What is in an .ipa file?

An iOS app holds a Payload/ folder with the app folder in it. That folder has the executable and the resources. Check Frameworks/ and PlugIns/ to see which of them makes the app large.

What is in your zip?