Create ZIP archive
Package local files into ZIP with STORE or DEFLATE levels 1, 6 and 9, preserving content bytes and showing the actual archive size.
Local processing without upload or automatic storage. Up to 32 files, 1 MiB per file, 4 MiB total, a 2 MiB archive, and declared expansion ratio up to 100 per file. Names allow 240 UTF-16 units and 240 UTF-8 bytes, with at most 4 path components. Batch reading has a 5-second deadline, followed by a separate 5-second worker deadline; this is not a 5-second total deadline. One job, no queue.
STORE packages bytes without compression. DEFLATE levels 1, 6 and 9 use different compression effort; they are not size-reduction percentages or image quality settings. Images and documents are not re-encoded, and already compressed files may not shrink. There is no encryption or password protection.
A narrow ZIP32 profile supports regular STORE or DEFLATE files: no ZIP64, encryption, multiple disks, comments, self-extracting prefix, symlinks or standalone directory entries. Paths within regular filenames are allowed; names use declared UTF-8 or ASCII only, with only a matching Unicode Path extra supported. Valid ZIP files outside this profile may be refused. The creator uses the same limits and may reject highly compressible originals exceeding ratio 100.
Unsafe or conservatively Unicode-colliding names are refused, never silently renamed inside ZIP. The writer may order whole numeric filenames before other names. Original timestamps and permissions are not retained; the contract preserves supported names and content bytes.
Owned-capacity limits are not a bound on total browser memory or GC. Inflation uses a chunk up to 16 KiB plus one excess-detection byte; accepted output stays within the declared cap. Cancel terminates the worker and aborts FileReader. Changing selection or level, clearing, or leaving releases result URLs.
How to use
Choose the original files and select STORE or a compression effort. Select Process archive, then compare total input bytes, actual ZIP size and elapsed time. Download explicitly if wanted. Changing selection or level clears the old result; the generated ZIP is never reused as the next input.
notes.txt and photo.png become two ZIP entries. Extraction preserves each file’s bytes, but an already compressed PNG may not shrink, and ZIP headers may make output larger than input.
Support & limits
STORE packages bytes without compression. DEFLATE levels 1, 6 and 9 use different compression effort; they are not size-reduction percentages or image quality settings. Images and documents are not re-encoded, and already compressed files may not shrink. There is no encryption or password protection. Unsafe or conservatively Unicode-colliding names are refused, never silently renamed inside ZIP. The writer may order whole numeric filenames before other names. Original timestamps and permissions are not retained; the contract preserves supported names and content bytes. A narrow ZIP32 profile supports regular STORE or DEFLATE files: no ZIP64, encryption, multiple disks, comments, self-extracting prefix, symlinks or standalone directory entries. Paths within regular filenames are allowed; names use declared UTF-8 or ASCII only, with only a matching Unicode Path extra supported. Valid ZIP files outside this profile may be refused. The creator uses the same limits and may reject highly compressible originals exceeding ratio 100.
Common questions
Does level 9 guarantee the smallest output or lower image quality?
No. The level controls DEFLATE effort, not a saving percentage or image quality. File contents are not re-encoded. It may provide no extra reduction and may take longer; exceeding a limit or deadline refuses the whole attempt and leaves originals unchanged.