ZIP Extractor
Extract files from .zip archives in the browser — pure JavaScript ZIP reader. Supports STORE (no compression) and DEFLATE entries via DecompressionStream. File tree, search, filter by extension, preview text files, download individual files or all as ZIP. 100% client-side.
About ZIP Extractor
Extract files from .zip archives in the browser — pure JavaScript ZIP reader. Supports STORE (no compression) and DEFLATE entries via DecompressionStream. File tree, search, filter by extension, preview text files, download individual files or all as ZIP. 100% client-side. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
What does this tool do?
It extracts files from ZIP archives in your browser using a pure-JavaScript ZIP parser. Supports both STORE (no compression) and DEFLATE entries — DEFLATE decompression uses the browser's native DecompressionStream API, available in all modern browsers (Chrome 80+, Firefox 113+, Safari 16.4+, Edge 80+). You can browse the file tree, search by name, filter by extension, preview text files, download individual files, or re-zip everything for download.
How does it handle DEFLATE-compressed entries?
ZIP archives commonly store entries with the DEFLATE algorithm (compression method 8). When we encounter such an entry, we pipe its raw compressed bytes through a DecompressionStream('deflate-raw') instance, which handles the inflate algorithm in native code. This is much faster than a pure-JS DEFLATE decoder and ships at zero bundle cost. For STORE entries (method 0), we just return the bytes verbatim.
Are password-protected ZIPs supported?
No. Decrypting ZipCrypto or AES-encrypted ZIPs requires either an external WASM library (~3MB) or significant custom crypto code. We document this as an intentionally-omitted feature to keep the bundle size under 50KB gzipped. If your ZIP is password-protected, you'll see an error mentioning 'unsupported compression method 99' or an encryption flag.
Can I preview file contents?
Yes. Click the eye icon next to any file to preview its first 8KB. Text files (UTF-8, ASCII) are shown as decoded text. Binary files are shown as a hex dump with ASCII gutter. The preview is read-only — extraction gives you the raw bytes.
How do I download all files at once?
Click 'Download all as ZIP' to re-zip every file from the archive into a new STORE-method ZIP. This is useful when the original archive uses DEFLATE and you want a portable uncompressed version, or when you want to filter to a subset of files and download just those.
What extra features does this tool have compared to others?
10 extras: (1) Drag-drop input. (2) File tree view — group files by directory. (3) Search files by name (case-insensitive). (4) Filter by file extension (.txt, .png, .csv, etc.). (5) Preview text files inline (UTF-8 decode) with hex fallback for binary. (6) Stats — file count, total uncompressed size, compressed size, compression ratio. (7) Download individual files. (8) Download all as ZIP (re-zip STORE method). (9) History of recently extracted archives (localStorage — last 10). (10) Shareable URL with filter + search preset.
Is my ZIP file uploaded anywhere?
No. All ZIP parsing and DEFLATE decompression runs in your browser using pure JavaScript + the native DecompressionStream API. File contents never leave your device. Only archive summaries (filename + entry count) are saved to local history.
What's the maximum ZIP size?
There's no hard limit, but very large archives (>1GB) will use lots of memory because we parse the whole central directory at once and may decompress multiple entries in memory simultaneously. The browser's per-tab memory cap (~2-4GB) is the practical limit. ZIP64 archives (>4GB or with files >4GB) are partially supported — the local file headers parse correctly, but 64-bit size fields in the central directory are not yet implemented.
Related tools
7Z Extractor
Inspect and extract files from 7z archives. Detects the 7z signature (0x37 0x7A 0xBC 0xAF 0x27 0x1C), parses the SignatureHeader and StartHeader, lists files from the archive metadata, and extracts STORE-method files when possible. Honest about LZMA compression limitations. 100% client-side.
APK Extractor
Extract and inspect Android APK files in the browser — pure JavaScript APK (ZIP) parser. View AndroidManifest.xml (binary XML detection), list DEX files, resources, and assets, extract individual files, detect app info (package name, version) from manifest. 100% client-side.
ARJ Extractor
Inspect ARJ archives. Detects the ARJ magic (0x60 0xEA), parses header structures, lists file entries with sizes and CRCs, and extracts STORE-method files when possible. Honest about ARJ compression limitations. 100% client-side.