ByteScope

Create ZIP

Pick files or a folder, stream a ZIP to disk on Chromium, or download a size-capped archive — locally, nothing uploaded.

Files are read and packed in this tab. Nothing is uploaded, and the zip is written on your machine.

Files

Drop files or a folder. Paths inside the zip stay relative to what you dropped, with nested folders kept.

Drop files or a folder here

or click to browse — multiple files, packed locally

Folder

Or pick one folder. Every file inside it is packed, subfolders included. Large files are read in chunks so they never sit in memory as a whole zip.

folder
files
0

Compression

0 is fastest. 6 is the usual default. 9 is slowest. Types that are already compressed (jpg, png, mp4, zip, gz, and the rest of that list) are stored as-is, whatever level you pick.

Browser support

Renaming and deleting files where they sit needs the File System Access API, which only Chromium browsers ship. Everything below happens on your machine either way — nothing is ever uploaded.

capabilityChromeEdgeFirefoxSafari
Open a folder from diskwindow.showDirectoryPicker — Chrome/Edge 86 and later, desktop onlysupportedsupportednot supportednot supported
Rename a file in placeFileSystemFileHandle.move — Chrome/Edge 111 and latersupportedsupportednot supportednot supported
Delete a file in placeFileSystemDirectoryHandle.removeEntrysupportedsupportednot supportednot supported
Remember the folder for next timethe handle is kept in IndexedDB on this device; permission is asked againsupportedsupportednot supportednot supported

detected in this browser

  • window.showDirectoryPicker
  • FileSystemFileHandle.move
  • indexedDB

On Firefox or Safari, or on any phone or tablet, this page can explain the job but cannot do it. Open it on desktop Chrome or Edge.

About this tool

Drop files or pick a folder and pack them into a zip, entirely in this tab. Nested paths stay nested. Nothing is uploaded: the bytes are read here and written here. On Chromium the archive is streamed through showSaveFilePicker straight onto disk, so a large folder never becomes one giant blob in memory. Firefox and Safari fall back to an in-memory download with a hard size cap, and the page says so before it starts.

Store vs deflate

Already-compressed types (jpg, png, mp4, zip, gz, and the rest of that list) are stored as-is — re-deflating them burns CPU for almost no gain. Everything else is deflated at the level you pick (0–9, default 6). That choice is compressionForEntry from the shared engine, not a second guess at extensions on this page.

Limits, not silent truncation

This writes ZIP32. One file larger than 4 GiB, a 65 536th entry, or an archive that would overflow the 32-bit size fields is listed and left out, not truncated. Stop is always available; a cancelled run does not save a half-written zip. AES-encrypted zip is not offered — fflate's streaming Zip writer has no AES (or traditional zip crypto) on the write path.

Pair with Extract Archive

Create ZIP packs. Extract Archive unpacks zip, 7z, rar and tar, including passworded archives, and refuses zip-slip paths. Archive Inspector lists a container without writing anything. Use them as a loop: pack here, inspect or extract there, all on this machine.

Frequently asked questions

Are my files uploaded to zip them?

No. The walk, the compression and the write all run in your browser. On Chromium the zip is streamed to a file you pick; on other browsers it is assembled in memory up to a published cap and then downloaded. The page is a static file with no server behind it, so there is no upload path even in principle.

Why is there a size limit in Firefox or Safari?

Those browsers have no showSaveFilePicker, so the only way to hand you a zip is to build it in this tab's memory and trigger a download. A multi-gigabyte archive would freeze or crash the tab, so the page refuses to start when the projected size is over 512 MiB and tells you to use Chrome or Edge, which can stream to disk with no such cap besides ZIP32 itself.

Why didn't my jpg get smaller?

It is already compressed. The packer stores jpg, png, mp4, zip, gz and similar types as-is (method store) instead of running deflate on them again. A large text file or a .csv will deflate. The deflate level control only affects files that are not on that already-compressed list, and files under 1 KB are stored either way because deflate cannot pay for itself there.

Can I make an encrypted zip?

Not in this version. fflate's streaming Zip / ZipDeflate / ZipPassThrough writer has no AES and no traditional zip crypto. Spec 1012 leaves encrypted zip for a later pass rather than faking a lock that would not open in 7-Zip. If you need a passworded archive today, pack here and encrypt the zip as a file with Encrypt File, or extract a passworded archive with Extract Archive.

How large a folder can it zip?

ZIP32 caps one file at 4 GiB, the archive at 4 GiB and the entry count at 65,535. Anything past those limits is listed, not truncated. Chromium streams to disk so RAM is not the ceiling; Firefox and Safari are capped at 512 MiB in memory. The walk stops past 200,000 files so a home directory picked by mistake cannot freeze the tab. Stop discards the half-written zip.