How to troubleshooting selective extractor
- Step 1Read the exact error string — The tool throws specific messages.
No entries matched pattern "…"means the glob is the problem; a tier-limit message means the file is too big;Could not detect or extract archive formatmeans the bytes aren't a recognised archive. Match the message to the section below. - Step 2If 'no match': add depth to the glob — A single
*does not cross/.src/*.tsonly matches files directly insrc/. Usesrc/**/*.tsto recurse, or a slash-free*.tsto match basenames anywhere. Globs are also case-sensitive —*.TXTwon't matchnotes.txt. - Step 3If 'tier limit exceeded': check the cap — Free caps each archive at 50 MB, Pro at 500 MB, Pro-media and Developer at 2 GB. The check runs before processing, so oversize files are rejected up front. Upgrade, or shrink/split the source.
- Step 4If 'could not detect format': verify it's an archive — Run Auto-Format Detector on the file. It reads the magic bytes and reports the true format. A renamed or truncated file is the usual culprit.
- Step 5If it's an encrypted ZIP: supply the password — Type the password in the password field to route through @zip.js/zip.js. If it's an encrypted 7Z/RAR, the field won't help — decrypt it with a desktop tool first.
- Step 6If the file is corrupt: repair or test it — A bad central directory or CRC mismatch means the archive itself is damaged. Try Corrupted ZIP Repair to recover what's salvageable, or Archive Integrity Tester to confirm the damage.
Error message reference
The actual strings the tool can produce, what each means, and the fix.
| Message | Cause | Fix |
|---|---|---|
No entries matched pattern "…" | Glob matched zero entries (too narrow, missing **, or wrong case) | Add ** for depth, check case, or preview paths first |
File "…" exceeds the <tier> tier per-job limit (… ) | Archive is larger than your tier's size cap | Upgrade tier, or shrink/split the source |
Could not detect or extract archive format for <name> | Bytes match no recognised archive (renamed, truncated, or not an archive) | Run Auto-Format Detector; re-download if truncated |
| (silent fail on encrypted ZIP) | Encrypted ZIP opened without a password | Type the password into the password field |
| Read error on encrypted 7Z/RAR | Password field doesn't apply to libarchive reads | Decrypt with a desktop tool, or re-archive as encrypted ZIP |
Glob fixes for 'no match'
The most common failure. * stays inside one path segment; ** crosses directory boundaries.
| You typed | Why it matched nothing | Try instead |
|---|---|---|
src/*.ts | * doesn't cross /; misses subfolders | src/**/*.ts |
*.TXT | Globs are case-sensitive | *.txt (match the real case) |
logs/app.log | Entry is actually var/logs/app.log | **/app.log or preview paths |
**.json | ** needs a separator to span paths | **/*.json or *.json |
report? | ? is one char; file is report10 | report* |
Tier caps and what to do
Size is checked before processing. The entry numbers are the documented plan ceilings.
| Tier | Size cap | Entry ceiling | If you're over |
|---|---|---|---|
| Free | 50 MB | 500 | Upgrade or split the source |
| Pro | 500 MB | 50,000 | Upgrade to Pro-media for 2 GB |
| Pro-media | 2 GB | 500,000 | Use a CLI for >2 GB |
| Developer | 2 GB | 500,000 | Use a CLI for >2 GB |
Cookbook
Walkthroughs for each failure, showing the symptom and the precise fix.
Fix: pattern returns no matches
The single most common issue — the glob needs ** to reach nested files.
Symptom: Pattern: src/*.ts Error: No entries matched pattern "src/*.ts". Fix: Pattern: src/**/*.ts → Matched entries: 41 / Total: 1180 ✓
Fix: file too big for the tier
The size check runs before any processing, so the message appears immediately.
Symptom (free tier, 180 MB file): File "build.zip" exceeds the free tier per-job limit (50 MB). Upgrade for larger files. Fix: Upgrade to Pro (500 MB) — or extract a subset of the source first with a CLI, then run the smaller archive here.
Fix: format not detected
Confirm the real format; a renamed or truncated file is usually the cause.
Symptom: Could not detect or extract archive format for data.zip Diagnose: /archive-tools/auto-format-detector → 'RAR (mislabelled .zip)' Fix: It IS supported — RAR reads via libarchive. Re-run; if it still fails, the file is truncated — re-download it.
Fix: encrypted ZIP won't open
Supply the password to route extraction through zip.js.
Symptom: Encrypted ZIP, no password → read fails. Fix: Type the password in the password field → routes through @zip.js/zip.js (AES-256 / ZipCrypto) ✓ Note: this does NOT work for encrypted 7Z/RAR.
Fix: archive is corrupt
A CRC mismatch or bad central directory means the file itself is damaged — repair or confirm before retrying.
Symptom: Extraction fails / CRC mismatch on some entries. Diagnose: /archive-tools/archive-integrity-tester → 3 entries fail CRC Recover: /archive-tools/corrupted-zip-repair → salvages intact entries
Edge cases and what actually happens
`src/*.ts` matches nothing
ExpectedA single * stays within one path segment, so src/*.ts ignores src/api/db.ts. Use src/**/*.ts to recurse. This accounts for the majority of No entries matched reports.
Pattern is the right shape but wrong case
ExpectedGlobs are compiled to a case-sensitive regex. *.JPG will not match photo.jpg. Match the actual case of the entries, or use * and filter the result afterward.
Archive over the tier size cap
Error: tier limit exceededThe size check runs before processing and rejects oversize files immediately with a tier-specific message. Upgrade, or pre-shrink the source. For files over 2 GB, use a CLI — even Developer tier caps at 2 GB.
Format genuinely unrecognised
Error: format not detectedCould not detect or extract archive format for <name> means the magic bytes match no supported format (zip/gz/tar/bz2/xz/7z/rar/iso). A non-archive file, a truncated download, or a corrupt header triggers this. Verify with Auto-Format Detector.
Encrypted 7Z/RAR with password typed in
Not supportedThe password field only feeds the ZIP reader. The libarchive bridge that reads 7Z/RAR is invoked without a password, so encrypted 7Z/RAR cannot be opened. Decrypt with a desktop tool first.
Output is a ZIP even though input was 7Z/TAR.GZ
By designThis is expected, not a bug: the matched entries are always repackaged as ZIP. If you needed the source format back, convert with Archive Format Converter.
Nothing happens / browser tab feels stuck
Check memoryA near-cap archive (e.g. ~2 GB) on a low-RAM device can be slow because everything runs in browser memory. Close other tabs, try a desktop with more RAM, or filter from a smaller source. There is no server to fall back to.
WebAssembly blocked by an extension
Browser issueSome privacy extensions interfere with WASM workers (you may see worker-channel warnings in DevTools). Retry in a clean/incognito profile with extensions disabled to rule this out.
Matched count is lower than expected
Check the globIf Matched entries is smaller than you anticipated, the glob is narrower than the data — often a missing ** or a case mismatch. Preview the true paths with Archive Previewer and adjust.
Frequently asked questions
Why does it say 'No entries matched pattern'?
Your glob matched zero entries. The usual cause is depth: src/*.ts only matches files directly in src/. Use src/**/*.ts to recurse. Also check case (globs are case-sensitive) and confirm the real entry paths with Archive Previewer.
Why does my file get rejected before processing?
It's over your tier's size cap. Free is 50 MB, Pro 500 MB, Pro-media and Developer 2 GB. The size is checked first, so the rejection is immediate. Upgrade or shrink the source.
Why does it say it can't detect the format?
Could not detect or extract archive format for <name> means the magic bytes don't match any supported archive (zip/gz/tar/bz2/xz/7z/rar/iso). The file is probably not an archive, was renamed, or was truncated. Check it with Auto-Format Detector.
Why won't my encrypted archive open?
If it's an encrypted ZIP, type the password to route through @zip.js/zip.js. If it's an encrypted 7Z or RAR, the password field doesn't apply — the libarchive reader is called without a password, so decrypt it with a desktop tool first.
Why is the output a ZIP when I uploaded a 7Z?
By design. The tool always repackages the matched entries as a ZIP, whatever the input format. To get a different format, run the result through Archive Format Converter.
Why does the tab feel stuck on a huge file?
Everything runs in browser memory, so a near-cap archive on a low-RAM device can be slow. Close other tabs or use a machine with more RAM. There's no server-side fallback because the tool is browser-only.
Why did it match fewer files than I expected?
The glob is narrower than the data — usually a missing ** or a case mismatch. The result panel shows Matched vs Total; preview the real paths with Archive Previewer and widen the pattern.
How do I check my file is really a valid archive?
Run Auto-Format Detector — it reads the magic bytes and reports the true format. If it shows a supported type but extraction still fails, the file is likely truncated or corrupt.
My archive seems corrupt — can I still get files out?
Try Corrupted ZIP Repair to salvage intact entries, and Archive Integrity Tester to see which entries fail CRC. Then re-run Selective Extractor on the repaired archive.
Can I extract multiple patterns to fix a partial match?
No — one glob per run. If a single pattern can't capture everything, widen it (e.g. dist/**) or run the tool twice and combine with Archive Merger.
Does a browser extension cause WebAssembly issues?
It can. Privacy extensions sometimes interfere with WASM worker channels. Retry in an incognito/clean profile with extensions disabled to rule it out.
When should I use a different tool entirely?
If you want the whole archive, use Multi-Format Extractor; to just look inside, Archive Previewer; to list entries, File Listing Generator; for many archives at once, Batch Extraction Manager.
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.