File compressor and extractor
Compress up to 1,000 files/200 MiB locally, or preflight a ZIP up to 50 MiB and extract safe entries on demand.
How to use this tool
Create or inspect ZIP files locally: compress up to 1,000 files/200 MiB, accept a ZIP up to 50 MiB, preflight it, then extract on demand.
Pack selected files into a ZIP in your browser, or inspect a ZIP file list and prepare individual entries for download. File contents are not uploaded.
💡 3 Quick Steps to Get Started
Choose Compress or Extract.
Select multiple source files to compress, or one unencrypted ZIP to inspect its preflighted file list.
Download the created ZIP. For extraction, click Prepare download on an entry before downloading that file.
When it helps
Extraction preflight limits each entry to 50 MiB, the total to 200 MiB, files to 1,000, and per-entry plus overall ratios to 100:1.
How it works
The central directory is checked before decompression; unsafe paths, duplicates, encryption, ZIP64, multi-disk, and unsupported methods are rejected, then one safe entry is extracted on demand.
Worked example
Inspect a 20 MiB ZIP, list only safe entries, and extract the selected file; a suspicious high-ratio archive stops before decompression.
Limits and data handling
Password/encrypted ZIP, ZIP64, multi-disk, unsafe paths, duplicate names, and unknown methods are unsupported. Directories may be listed but cannot be downloaded.
Files and entry names are not uploaded or stored. Local download URLs are revoked on replacement, mode change, reset, error, or page exit.
ZIP Archive Architecture, Deflate Algorithm & Client Security Guide
1. ZIP File Architecture: Central Directory at Tail
The ZIP central directory lists entry names and sizes near the end of the archive. This tool reads that directory for preflight checks before extracting a selected entry; it does not need to decompress every entry to show the list.
2. DEFLATE Compression Mechanics (IETF RFC 1951)
DEFLATE combines LZ77 duplicate string substitution with dynamic Huffman variable-length bit coding, achieving robust lossless data compaction across mixed binary payloads.
3. Local JavaScript Processing and Extraction Limits
Files are processed locally with JavaScript without uploading their contents. Preflight limits archive size, entry count, expanded size, and compression ratio to reduce resource-exhaustion risk. These checks do not guarantee that every archive is safe; use trusted files.
Feedback
How can we improve this tool?
Send a suggestion or bug report for this tool.
FAQ
What inputs does File compressor and extractor accept?
Compression accepts up to 1,000 files and 200 MiB total. Extraction accepts a ZIP up to 50 MiB and preflights 1,000 files, 50 MiB per entry, 200 MiB total, and a 100:1 ratio.
How does File compressor and extractor produce its result?
Compression and preflight stay in the browser. After a safe manifest is produced, only the selected entry is decompressed instead of materializing every file in memory.
What limitations apply to File compressor and extractor?
Password/encrypted ZIP, ZIP64, multi-disk, unsafe paths, duplicate names, and unknown methods are unsupported. Directories may be listed but cannot be downloaded.
How does File compressor and extractor handle data?
Files and entry names are not uploaded or stored. Local download URLs are revoked on replacement, mode change, reset, error, or page exit.