ZIP archive creator
Pack multiple files into a single ZIP in your browser: edit the paths inside the archive, add a common prefix folder, pick a compression level and see file count, original size, ZIP size and saved ratio.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Files
Drop files here, or pick them with the buttons below
Everything runs locally in your browser — files are never uploaded.
No files selected yet
Archive options
Result
Saved = 1 - ZIP size / original size; a negative value means ZIP overhead made the archive bigger.
What this tool does
- Bundle scattered files into one ZIP to hand over: drop them in or pick a folder, check the in-archive paths, then pack and download.
- Prepare an upload by adding a common prefix folder (bundle/ for instance) so unzipping does not scatter files across the download directory.
- Duplicate paths never need renaming by hand: repeats get a -1 / -2 suffix while the original file name is kept for reference.
- Pick the compression level: 0 stores only (fastest for images and video), 6 is the default, and 9 chases the smallest size.
Example
Input
Files: C:\docs\report.pdf (2048 bytes), docs/report.pdf (512 bytes), ../notes.txt (128 bytes) Common prefix folder: bundle/
Output
bundle/docs/report.pdf bundle/docs/report-1.pdf bundle/notes.txt
These are the in-archive paths from the packing plan. Drive letters, leading slashes and backslashes are normalised, and .. can only climb back to the root; the second duplicate gets a -1 suffix; the original total is 2688 bytes.
Frequently asked questions
Are my files uploaded to a server?
No. Reading, compressing and generating the ZIP all happen locally in your browser, the page makes no network requests, and it works offline. The download button uses a local Blob link, so the archive never leaves your device either.
Which compression level should I pick?
Level 0 stores without compressing and is the fastest, which suits already-compressed JPG, PNG or MP4 files. Level 6 is the default balance of speed and size, and level 9 gives the smallest archive at the cost of time. A wrong choice never corrupts data, it only trades size against speed.
Why does a file name come out with -1 appended?
Two files ended up with the same path inside the archive (both docs/report.pdf, say), and ZIP cannot hold duplicate entries, so later ones get -1, -2 and so on inserted before the extension (report-1.pdf). You can edit the path directly in the list before packing.
Are folders and subdirectories preserved?
Yes. Picking a folder brings its directory structure into the archive paths: backslashes become forward slashes, drive letters, leading slashes and . segments are dropped, and .. can only climb to the root, so no path can escape above the archive root.
Why is the saved percentage negative?
The saved value is 1 - ZIP size / original size. Every ZIP entry carries header overhead, so packing a handful of tiny files can produce a larger archive and a negative figure such as -588.2%. That is expected and the file contents are unaffected.
Keywords:ziparchivecompressfflate打包压缩包归档zip 打包批量压缩压缩率