KitForma field notes

Understand ZIP CRC errors and recovery limits

Separate a broken index from damaged payloads, unsupported encodings and unsafe recovery assumptions.

An index problem is not always a payload problem

A ZIP archive normally holds a local header before each compressed member and a central directory near its end. If a download is cut off after all member data but before the directory, ordinary archive software may refuse the whole file even though those member bytes remain. Local-header salvage can sometimes identify and verify the surviving files without that final index.

A cut-off member is different. When its declared compressed payload extends beyond the available bytes, this desk excludes it rather than filling the gap. A complete-looking payload can also decompress to the wrong bytes or fail CRC-32. That member is excluded as damaged, while other independently bounded members may still pass.

Understand descriptor and format boundaries

Some ZIP writers stream a file before they know its final checksum and sizes. They put those values in a later data descriptor and in the central directory. This desk supports such members when intact central metadata gives a bounded location and a matching descriptor. Without that directory evidence, an unknown-length member stops local scanning; the tool does not guess which bytes belong to the stream.

Only stored and ordinary deflate compression are supported. ZIP64, encrypted entries, multi-disk archives, RAR, 7z and PAR2 are outside this product’s scope. A password prompt is not provided because this is not a password-recovery service. UTF-8 filenames and legacy CP437 names are decoded explicitly, including supported Unicode path metadata with a matching name checksum.

Use limits as limits, not damage diagnoses

The input limit is 64 MiB, with at most 2,000 inspected members, 24 MiB per member and a cumulative 96 MiB attempted decode budget. Members above one MiB also have a 200-to-one expansion-ratio limit. A file rejected by one of these bounds is not automatically corrupt; it may need an appropriate desktop tool with more memory and format support.

CRC-32 is checked against the archive’s own declared value. SHA-256 fingerprints additionally identify the exact source and verified file bytes in the report, which helps compare later copies. Neither checksum establishes the author’s identity or proves that the archive’s declarations are trustworthy. Keep an independent backup or trusted hash when authenticity matters, and retain the original for a different recovery method if necessary.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-17. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.