How to troubleshooting the zip encryption detector
- Step 1Confirm it's really a ZIP — If you see
Not a valid ZIP archive., the file has no ZIP End-of-Central-Directory record. Run auto-format-detector — a renamed.rar/.7z/.tar.gzis the usual cause. This detector reads ZIP only. - Step 2Check the size against your tier — Free caps every file at 50 MB. Over that, the client throws
File "<name>" exceeds the <tier> tier per-job limit (50 MB). Upgrade for larger files.before any parsing. Pro raises it to 500 MB; Pro+Media and Developer to 2 GB. - Step 3Read a ZipCrypto verdict correctly — If the report shows
method: ZipCrypto, that's the tool correctly identifying a legacy-encrypted entry — not a failure. Re-encrypt with AES-256 via encrypted-zip-creator if you need strong protection. - Step 4Investigate a short entry count — If
totalEntriesis lower than expected, the central directory may be truncated. The parser stops at the first record whose signature isn't0x02014b50. Run corrupted-zip-repair to assess and recover. - Step 5Stop looking for a password box — There's intentionally no password field — encryption type is read from plaintext metadata. If you actually need to verify a password, use archive-password-tester instead.
- Step 6Reload if the page seems stale — If the tool behaves oddly after a deploy, hard-refresh (Ctrl+Shift+R) to load the latest client chunk. Detection itself is fast and has no timeout, so a genuine hang usually means a stale build or an extremely large in-memory file.
Error and symptom → cause → fix
Every message here is produced by the actual tool or its client. There is no password, options, or timeout error for this tool.
| Symptom / message | Cause | Fix |
|---|---|---|
Not a valid ZIP archive. | File has no ZIP EOCD record — it's a 7z/RAR/TAR.GZ or renamed non-ZIP | Confirm format with auto-format-detector; this tool reads ZIP only |
File "…" exceeds the … tier per-job limit | File larger than your tier's size cap | Upgrade tier, or split via archive-splitter |
Drop an archive file to process. | Process clicked with no file selected | Drop a ZIP into the dropzone first |
Report shows method: ZipCrypto | Correct verdict — entry uses legacy ZipCrypto | Re-encrypt with AES-256 via encrypted-zip-creator |
totalEntries lower than expected | Truncated/corrupt central directory; parser stops at first bad signature | Assess with corrupted-zip-repair |
| Looking for a password field | There isn't one — detection needs no password | Use archive-password-tester to verify a password |
What this tool does and does not do
Clearing up assumptions that cause 'it's broken' reports.
| Behaviour | Reality |
|---|---|
| Reads 7z / RAR / TAR.GZ | No — ZIP central directory only; throws on other containers |
| Decrypts the archive | No — reads plaintext metadata; never touches ciphertext |
| Has a password field / options | No — zero options; nothing to configure |
| Times out after N seconds | No timeout — detection is fast ZIP parsing |
| Uploads the file | No — read in-browser via the File API |
| Output | A JSON report <name>-encryption.json with per-entry methods |
Cookbook
The real errors and verdicts, with the exact next step for each.
'Not a valid ZIP archive' on a .7z
The most common report. The file opens in 7-Zip, so it 'is an archive' — but it isn't a ZIP, and this tool reads ZIP only.
Input: backup.7z Result: Error — Not a valid ZIP archive. Diagnose: /archive-tools/auto-format-detector → "7z" Fix: This detector can't classify 7z encryption. Use the native 7-Zip tool for 7zAES detection.
Renamed RAR masquerading as .zip
Someone renamed report.rar to report.zip. The extension lies; the bytes don't. The detector reads structure, so it rejects it.
Input: report.zip (actually a RAR) Result: Error — Not a valid ZIP archive. /archive-tools/auto-format-detector → "rar" → Re-save as a true ZIP, or analyse with a RAR tool.
Tier-limit block before processing
A 120 MB ZIP on the free tier never reaches the parser — the client blocks it on size.
Input: dataset.zip (120 MB), free tier
Result: Error —
File "dataset.zip" exceeds the free tier per-job
limit (50 MB). Upgrade for larger files.
Fix: upgrade to Pro (500 MB) or split with
/archive-tools/archive-splitter.'ZipCrypto' is the right answer, not a bug
The detector reports ZipCrypto and the user assumed it failed to detect AES. It didn't — the archive genuinely uses the legacy scheme.
Report:
{
"encryptionSummary": {
"AES-256": 0, "ZipCrypto (legacy)": 5, "Unencrypted": 0
}
}
This is correct. The fix is to re-encrypt:
/archive-tools/encrypted-zip-creator (AES-256).Short entry count from a truncated archive
A ZIP that lists 200 files in another tool reports only 60 entries here. The central directory is damaged; the parser stopped at the first bad record.
Expected ~200 entries; report shows:
{ "totalEntries": 60, ... }
The parser halts at the first non-0x02014b50 signature.
Next: /archive-tools/corrupted-zip-repair to assess
and recover the salvageable central directory.Edge cases and what actually happens
Throws 'Not a valid ZIP archive' on a real archive
Not a valid ZIP archiveThe tool parses the ZIP central directory and needs an EOCD record. 7z, RAR, and TAR.GZ have none, so they throw this error even though they're valid archives. It's ZIP-only by design. Confirm the format with auto-format-detector and use a format-appropriate tool for non-ZIP encryption.
Extension says .zip but it's something else
Not a valid ZIP archiveDetection is structural, not by extension. A renamed .rar/.7z/.gz still lacks a ZIP EOCD record, so the tool rejects it. Run auto-format-detector to see the true container before deciding the detector is broken.
File over the tier size cap
Tier limit exceededThe client checks size before processing and throws File "<name>" exceeds the <tier> tier per-job limit (<size>). Upgrade for larger files. Free is 50 MB, Pro 500 MB, Pro+Media/Developer 2 GB. Upgrade, or break the archive up with archive-splitter.
Report shows ZipCrypto and you expected AES
By designThis isn't a detection failure — the archive really uses legacy ZipCrypto. An encrypted entry with no 0x9901 AES extra field is, correctly, ZipCrypto. Re-encrypt with AES-256 via encrypted-zip-creator if you need strong protection.
totalEntries lower than the real file count
PartialThe parser walks the central directory while the entry signature is 0x02014b50 and the offset stays in bounds, stopping at the first mismatch. A truncated or corrupt ZIP therefore yields a short count. Treat an unexpectedly low number as a corruption flag and run corrupted-zip-repair.
Empty ZIP returns zero entries
ExpectedA valid empty ZIP has an EOCD with no central-directory entries. The report shows totalEntries: 0, an all-zero summary, and an empty entries array — no error. There's simply nothing to classify.
Looking for a password field or options
By designThere is intentionally no password input and no options. Encryption type is plaintext metadata, so the tool never decrypts. If you need to verify a candidate password, use archive-password-tester; to inspect raw per-entry extra fields, use archive-metadata-extractor.
Stuck on 'Processing…'
InvestigateThere is no processing timeout for this tool — detection is fast central-directory parsing. A genuine hang usually means a stale client chunk after a deploy (hard-refresh with Ctrl+Shift+R) or an extremely large file pressing browser memory while it's read with file.arrayBuffer(). Reduce the file size or upgrade tier headroom.
AES-256 confirmed but file won't open elsewhere
Different problemThe detector confirms the scheme, not that your password is right or the archive is intact. If a tool won't open an AES-256 ZIP, verify the password with archive-password-tester and the CRC integrity with archive-integrity-tester.
Frequently asked questions
Why do I get 'Not a valid ZIP archive' on a file that opens in 7-Zip?
7-Zip opens many containers (7z, RAR, TAR, GZIP, ISO); this detector reads ZIP only. If the file has no ZIP End-of-Central-Directory record, it throws Not a valid ZIP archive. Confirm the true format with /archive-tools/auto-format-detector — a 7z or RAR is the usual cause.
The report says ZipCrypto — did detection fail?
No, that's the correct verdict. An entry with the encrypted flag set but no 0x9901 AES extra field is legacy ZipCrypto. The detector is telling you the archive uses a broken scheme. Re-encrypt with AES-256 via /archive-tools/encrypted-zip-creator.
Where is the password field?
There isn't one. Encryption type lives in plaintext central-directory metadata, so the tool never decrypts and never needs a password. To check whether a specific password works, use /archive-tools/archive-password-tester instead.
Why is the entry count lower than I expect?
The parser walks the central directory and stops at the first record whose signature isn't 0x02014b50, so a truncated or corrupt archive reports fewer entries. Treat a short count as a corruption signal and run /archive-tools/corrupted-zip-repair to assess.
What error do I get if the file is too big?
The client blocks it before processing: File "<name>" exceeds the <tier> tier per-job limit (<size>). Upgrade for larger files. Free is 50 MB, Pro 500 MB, Pro+Media and Developer 2 GB. Upgrade or split with /archive-tools/archive-splitter.
Is there a processing timeout?
No. Unlike some tools, this one has no timeout — detection is fast central-directory parsing. If it appears stuck on 'Processing…', you're likely on a stale build (hard-refresh with Ctrl+Shift+R) or feeding it an extremely large file that strains browser memory while it's read into an array buffer.
Can it analyse 7z or RAR encryption?
No. It's ZIP-only and throws Not a valid ZIP archive. on those formats, which use different layouts (e.g. 7zAES). Use the native tool for non-ZIP encryption, and /archive-tools/auto-format-detector to confirm what you actually have.
Does it upload my file when it fails?
No. The file is read in the browser via file.arrayBuffer() and is never uploaded, whether the run succeeds or errors. Errors are thrown locally in your tab; nothing about the file leaves your device.
An AES-256 ZIP won't open in my unzipper — is the detector wrong?
Probably not. The detector confirms the encryption scheme, not the password or file integrity. If an AES-256 ZIP won't open, verify the password with /archive-tools/archive-password-tester and the per-entry CRC with /archive-tools/archive-integrity-tester.
Why does an empty result come back with no error?
A valid but empty ZIP has zero central-directory entries, so the report is totalEntries: 0 with an all-zero summary. That's expected — there's simply nothing to classify, which isn't an error.
Are there any options I'm missing?
No. The tool has zero options — no password, no algorithm picker, no format selector. Drop a ZIP, get the report. If you were expecting a setting, the job you have in mind is likely a sibling tool (password testing, integrity, metadata).
What's the single most common cause of failure?
Feeding it a non-ZIP file. The vast majority of Not a valid ZIP archive. errors are 7z/RAR/TAR.GZ files or renamed archives. Run /archive-tools/auto-format-detector first whenever the detector rejects a file you believe is valid.
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.