How to troubleshooting multi-format extractor
- Step 1Read the exact message — The tool surfaces specific strings —
Archive contains encrypted entries,Failed to decrypt,exceeds the <tier> tier per-job limit,Could not detect or extract archive format. The wording tells you the path; match it to the table below. - Step 2Identify the real format — Detection is by magic bytes, not extension. If you are unsure, run auto-format-detector at /archive-tools/auto-format-detector. Knowing it is, say, an encrypted 7Z immediately explains the failure.
- Step 3Check encryption before passwords — If unsure whether the archive is encrypted, run encrypted-archive-detector at /archive-tools/encrypted-archive-detector. Encrypted ZIP → use the password field; encrypted 7Z/RAR → cannot be done here.
- Step 4Verify the size against your tier — Free 50 MB, Pro 500 MB, Pro-media / Developer 2 GB per archive. If the file is bigger, the run is refused up front; upgrade or split the archive.
- Step 5Rule out WASM blocking — If only 7Z/RAR/BZ2/XZ/ISO stall while ZIP/GZIP/TAR work, a browser extension is likely blocking WebAssembly. Disable it for the page or use a clean profile.
- Step 6Re-run on the inner file for tar.gz — If a
.tar.gzproduced a single.tar, that is expected. Drop that.tarback in for the second pass to reach the individual files.
Error message → cause → fix
The exact strings the extractor raises and what to do about each.
| Message / symptom | Cause | Fix |
|---|---|---|
Archive contains encrypted entries … Provide a password | Encrypted ZIP, password field empty | Type the ZIP password and re-run |
Failed to decrypt "<name>". The password may be incorrect. | Wrong ZIP password | Re-enter the correct, case-sensitive password |
| Passphrase / encryption error on a 7Z or RAR | Encrypted 7Z/RAR (libarchive read-only, no passphrase) | Decrypt with native 7-Zip/WinRAR; not possible here |
File "<name>" exceeds the <tier> tier per-job limit | File over the tier size cap | Upgrade tier or split the archive |
Could not detect or extract archive format | Unknown/corrupt/truncated file | Verify it is a real, complete archive; re-download |
No entries matched pattern | You are on selective-extractor, not this tool | Adjust the glob, or use this whole-archive extractor |
Output is a single .tar | tar.gz first pass (GZIP single-member) | Re-run the extractor on the inner .tar |
| Stalls only on 7Z/RAR/BZ2/XZ/ISO | WebAssembly blocked by an extension | Whitelist the page or use a clean profile |
Which engine handles your file
Knowing the engine explains the behaviour — fflate and zip.js are pure-JS; libarchive is WASM.
| Format | Engine | Password? | WASM needed? |
|---|---|---|---|
| ZIP (plain) | fflate | n/a | No |
| ZIP (encrypted) | @zip.js/zip.js | Yes (field) | No |
| GZIP / TAR | fflate | No | No |
| 7Z / RAR | libarchive | No (read-only) | Yes |
| BZ2 / XZ / ISO | libarchive | No | Yes |
Cookbook
Symptom-first diagnostics: what you see, what is really happening, and the one change that fixes it.
"It says encrypted entries — provide a password"
The ZIP has encrypted entries and the password field was blank. The fix is simply to fill it. The error names the offending entry.
Symptom: Archive contains encrypted entries (e.g. "data.csv"). Provide a password to extract. Fix: Type the ZIP password into the optional field → re-run.
"My password is right but it still fails"
If the message is Failed to decrypt, zip.js rejected the password. Check for trailing spaces, wrong case, or a different password than the one set at creation.
Symptom: Failed to decrypt "report.pdf". The password may be incorrect. Checklist: • Case-sensitive — verify exact casing • No trailing/leading whitespace • Confirm it's the ZIP password, not an unrelated one
"My encrypted 7z won't open at all"
The password field does nothing for 7Z/RAR — libarchive opens read-only with no passphrase. This cannot be fixed in the browser; decrypt elsewhere.
Symptom: vault.7z fails with a passphrase/encryption error (password field has no effect) Fix: $ 7z x -p'...' vault.7z (native 7-Zip) or re-pack as an encrypted ZIP (then the field works)
"It refused my file before doing anything"
The size check runs before extraction. A file over the tier cap is blocked immediately with the tier named in the message.
Symptom: File "dump.tar.gz" exceeds the free tier per-job limit (50 MB). Upgrade for larger files. Fix: Upgrade tier, or split the archive (archive-splitter).
"Could not detect or extract archive format"
Magic-byte detection found nothing known and the ZIP fallback failed too. The file is likely truncated, not an archive, or an unsupported format.
Symptom: Could not detect or extract archive format for blob.bin Diagnose: • Re-download — it may be truncated • Check magic bytes via /archive-tools/auto-format-detector • Confirm it's actually an archive, not a renamed file
Edge cases and what actually happens
Encrypted ZIP, no password
RejectedEmpty password field on an encrypted ZIP raises Archive contains encrypted entries (e.g. "<name>"). Provide a password to extract. Fill the field and re-run.
Wrong ZIP password
Decryption failedAn incorrect password raises Failed to decrypt "<name>". The password may be incorrect. Passwords are case-sensitive; check for stray whitespace and confirm you have the right one.
Encrypted 7Z / RAR
UnsupportedThese cannot be decrypted in-browser: libarchive opens read-only with no passphrase and the password field is wired only to the ZIP engine. Decrypt with native 7-Zip/WinRAR, or re-pack as an encrypted ZIP.
Over the tier size cap
Limit exceededA file larger than your tier cap (Free 50 MB, Pro 500 MB, Pro-media / Developer 2 GB) is blocked before processing with exceeds the <tier> tier per-job limit. Upgrade or split the archive.
Unknown / corrupt format
Unknown formatIf the magic bytes match nothing and the ZIP fallback fails, you get Could not detect or extract archive format for <name>. The file is probably truncated, not an archive, or an unsupported format — re-download and verify.
tar.gz produced a single .tar
ExpectedGZIP is single-member, so .tar.gz first yields the inner .tar. Re-run the extractor on that .tar to get the individual files. This is by design, not a failure.
WASM blocked, 7Z/RAR/etc stall
Engine load failedIf a browser extension blocks WebAssembly, the libarchive formats (7Z/RAR/BZ2/XZ/ISO) cannot load their engine. ZIP/GZIP/TAR keep working via pure-JS fflate. Whitelist the page or use a clean profile.
Nested archive not fully unwrapped
Single levelThe tool extracts one level. A ZIP-in-ZIP gives you the inner ZIP as a file. Re-run on it, or use nested-archive-extractor at /archive-tools/nested-archive-extractor.
Empty output / zero entries
ExpectedA valid but empty archive extracts with Entries: 0. Nothing is broken — there was nothing inside. Folder-only archives also yield zero file entries because directory records are skipped.
Huge entry count
Limit exceededArchives with very many entries can hit the per-archive ceiling: 500 (Free), 50,000 (Pro), 500,000 (Pro-media / Developer). Use a paid tier for archives with massive file counts.
Frequently asked questions
Why does it say 'Archive contains encrypted entries'?
The ZIP has at least one encrypted entry and the password field was empty. The tool probes the central directory, detects encryption, and stops with that message. Type the password and re-run.
I entered the password but it still fails — why?
If the message is Failed to decrypt "<name>", zip.js rejected the password. Passwords are case-sensitive and must match exactly — check for trailing spaces, capitalisation, and that it is the correct ZIP password.
Why won't my encrypted 7z open even with the password?
The password field only feeds the ZIP engine. Encrypted 7Z/RAR go through libarchive, which opens read-only with no passphrase, so they cannot be decrypted here. Use native 7-Zip/WinRAR, or re-pack as an encrypted ZIP.
Why was my file rejected before extraction even started?
The size check runs first. Files over the tier cap (Free 50 MB, Pro 500 MB, Pro-media / Developer 2 GB) are blocked with exceeds the <tier> tier per-job limit. Upgrade, or split the archive with archive-splitter at /archive-tools/archive-splitter.
What does 'Could not detect or extract archive format' mean?
Detection found no known magic bytes and the last-ditch ZIP read failed. The file is likely truncated, corrupt, not actually an archive, or a format this tool does not read. Re-download and verify with auto-format-detector at /archive-tools/auto-format-detector.
Why did my .tar.gz come out as a single .tar file?
GZIP holds one member, so the gz pass yields the inner .tar. Run the extractor again on that .tar to reach the individual files. This is expected behaviour.
It hangs only on 7z/rar — what's wrong?
Those formats need WebAssembly (libarchive). A security extension may be blocking WASM. ZIP/GZIP/TAR still work because they use pure-JS fflate. Whitelist the page or use a clean browser profile.
Why is the output empty?
The archive was valid but empty (Entries: 0), or it contained only folders — directory records are skipped, so an all-folders archive yields no file entries.
Is there a limit on the number of files inside the archive?
Yes — a per-archive entry ceiling: 500 (Free), 50,000 (Pro), 500,000 (Pro-media / Developer). Archives with very large file counts need a paid tier.
How do I check whether an archive is encrypted before trying?
Run encrypted-archive-detector at /archive-tools/encrypted-archive-detector. For ZIPs you can also test a candidate password with archive-password-tester at /archive-tools/archive-password-tester.
The archive seems valid but won't fully extract — is it corrupt?
Verify it with archive-integrity-tester at /archive-tools/archive-integrity-tester, which confirms every entry decompresses. A failing entry points to a truncated or damaged archive; for ZIPs, try corrupted-zip-repair at /archive-tools/corrupted-zip-repair.
Does extraction send my file anywhere when it fails?
No. Whether it succeeds or fails, everything happens in your browser via fflate / @zip.js/zip.js / libarchive WASM. There is no server-side extraction path, so a failed run never uploads your file.
Privacy first
Every JAD Archive tool runs entirely in your browser using fflate, @zip.js/zip.js, and the libarchive WASM bridge. Your archives never leave your device — verified by zero outbound network requests during processing.