Drag a folder from your file manager and ZIP it preserving every subfolder, filename, and timestamp. Powered by fflate and the webkitdirectory API. Zero upload.
Per-job file size, entry count, and batch caps for Folder → ZIP. Limits apply to every Archive tool in JAD Apps; upgrade for larger uploads and bigger batches.
| Tier | Max archive size | Max entries / archive | Max files per batch |
|---|---|---|---|
| Free | 47.7 MB | 500 | 1 |
| Pro | 476.8 MB | 50,000 | 20 |
| Developer | 1.86 GB | 50,000 | 20 |
Drag a folder onto the dropzone (Chrome/Edge: webkitdirectory; Firefox: file picker only)
We collect every file under the root, preserving relative paths
Download the ZIP — exact same tree structure as your local folder
0 bytes uploaded. Folder to ZIP runs entirely in your browser using fflate, zip.js, and libarchive WASM. Your archive files never leave your device.
Firefox supports the webkitdirectory file-input attribute but not drag-drop of folders into a dropzone. Use the file picker (Pick a folder button) — Firefox handles directory uploads through the picker just fine.
Yes by default — all files the browser exposes are included. Use the Filename Sanitizer afterwards to strip macOS Finder metadata, or the Empty Folder Pruner to drop empty .git/refs subdirectories.
Yes — File.lastModified is written into the ZIP entry's MS-DOS date/time field. The Timestamp Normalizer can reset every entry to a fixed date if you need reproducible builds.
Drop files and get a perfectly compressed ZIP with the optimal speed/size trade-off. Powered by fflate level 6 — the universal sweet spot. Zero upload.
Open toolDrop a folder and a glob pattern; only matching files are added to the output ZIP. Great for shipping a single component, language, or file type.
Open toolStrip path-traversal sequences, fix Windows-reserved characters, normalise to UTF-8, and remove NUL bytes. Essential before extracting untrusted ZIPs.
Open tool