How to Fix a Corrupted ZIP File on Mac
June 28, 2026
This guide walks through the realistic recovery process step by step, being clear throughout about which techniques genuinely work and which are worth skipping entirely.
A corrupted ZIP file is one of the more frustrating problems to encounter, because unlike a clean error with an obvious fix, corruption sits in a gray area — sometimes fully recoverable, sometimes partially recoverable, and sometimes genuinely unfixable no matter what tool you throw at it. Here's an honest breakdown of what actually works, what doesn't, and how to tell which category your specific file falls into.
How to tell if you're dealing with real corruption
Genuine corruption typically presents differently from the other common ZIP failures covered elsewhere on this site. Where an incomplete download usually produces a clean, immediate "unable to expand" error, actual corruption sometimes allows extraction to begin normally before failing partway through, or produces some successfully extracted files alongside others that are garbled or missing entirely. If extraction starts and makes partial progress before failing, or if the error message specifically references a CRC checksum mismatch, that's a stronger signal of genuine data corruption rather than a simpler cause like an incomplete transfer or unsupported password protection.
First: confirm it's actually corrupted, not something else
Before assuming corruption, rule out the more common alternative explanations. Compare the file's size against what the source expected — a mismatch points to an incomplete download, not corruption, and simply re-downloading fixes it. Try opening the file with a different archive tool entirely; if a different app opens it without issue, the "corruption" was actually a capability gap in your original tool (commonly, undetected password protection), not genuine damage to the file itself.
Understanding what "corruption" actually means for a ZIP file
A ZIP file has an internal structure: a header at the end of the file (called the "central directory") listing every contained file's name, location, and size, plus the actual compressed data for each file stored earlier in the archive. Corruption can affect either or both of these sections independently, and which part is damaged determines how recoverable the archive actually is. Central directory corruption alone is often more recoverable, since the compressed data itself may still be intact even if the listing pointing to it is damaged. Corruption within the compressed data streams themselves is much harder to recover from, since that's where the actual file content lives.
Step 1: try Terminal's built-in repair attempt
macOS's built-in zip command includes a repair function worth trying first, since it requires no additional software:
zip -FF corrupted.zip --out repaired.zip
The -FF flag tells zip to attempt the most aggressive built-in repair, salvaging whatever it can even from a badly damaged central directory. This won't work on every corrupted file, but it's a legitimate first attempt that costs nothing beyond a few seconds to run.
Step 2: try extracting with a different tool
Different archive tools handle malformed or partially damaged ZIP structures with varying degrees of tolerance — some fail immediately on any structural inconsistency, while others attempt to salvage whatever readable data exists despite the damage. Trying a second or even third tool genuinely can produce different results on the same file, since "corrupted" isn't a binary state each tool interprets identically. A more defensively-coded extractor sometimes succeeds where a stricter one fails outright on the exact same archive.
Step 3: check for a recovery record (RAR-specific, occasionally relevant for ZIP context)
If the corrupted file happens to be a RAR archive rather than ZIP, and the original creator enabled a "recovery record" during compression, dedicated RAR repair tools can use that embedded redundant data to reconstruct minor damage. ZIP has no equivalent built-in recovery mechanism, which is one practical reason 7Z and RAR sometimes have better realistic recovery odds for genuinely important archives, if the option to enable recovery data was available and used at creation time.
What's realistically NOT recoverable
It's important to be honest about the limits here rather than suggesting every corrupted file can be saved with enough effort. If the compressed data stream itself is significantly damaged — not just the header or listing, but the actual bytes representing file content — no tool can reconstruct data that's genuinely gone. Compression algorithms are not designed to be fault-tolerant against missing or altered bytes in the compressed stream; a single corrupted byte in the wrong location can render everything after it in that data stream unrecoverable. Severe corruption, particularly from things like a failed disk write or significant transfer corruption, often falls into this unrecoverable category regardless of which repair tool or technique you try.
When partial recovery is the realistic best outcome
For archives containing multiple separate files, corruption often doesn't uniformly destroy everything — it's common for some files within the archive to extract successfully while others fail, depending on exactly where the damage occurred relative to each file's data. If a repair attempt recovers some but not all of the original contents, that's often the realistic best-case outcome for a genuinely corrupted file, rather than a sign the repair process itself failed. Checking exactly which files did extract successfully, rather than assuming total failure, is worth doing before concluding the archive is a total loss.
A realistic scenario: a corrupted client deliverable
Picture receiving a ZIP from a client containing dozens of source files for a project, and discovering it's corrupted only after attempting extraction. Rather than immediately declaring the whole delivery lost, work through it systematically: first confirm the file size matches what the client's upload service reported, since a transfer error is more likely and more fixable than genuine file corruption. If the size checks out, attempt extraction with Terminal's repair flag and with at least one alternative archive tool before concluding anything is unrecoverable. Often, a subset of the files will extract cleanly even from a partially corrupted archive — checking exactly which specific files succeeded, rather than assuming total failure the moment the first error appears, can mean the difference between losing the entire deliverable and losing only a handful of files that need to be re-sent individually.
Why some corruption is more recoverable than people expect
It's worth understanding that not all forms of file damage are equally destructive. A single flipped bit somewhere in a text file's compressed data might only corrupt a small readable portion of that one file, while the rest of the archive's other files remain completely unaffected, since each file's compressed data is generally stored as an independent stream within the ZIP structure. This is different from, say, corruption affecting the central directory itself, which can make an otherwise-perfectly-intact archive appear entirely unreadable to a tool that relies on that directory to even begin locating individual files — even though the actual file data sitting further into the archive might be completely undamaged. This is exactly why a repair attempt that reconstructs or bypasses a damaged central directory can sometimes recover 100% of the actual content despite the archive initially appearing totally corrupted.
Preventing corruption in the first place
- Verify file integrity immediately after downloading large or important archives, using the "Test Archive" feature most capable archive tools include
- Avoid interrupting a download or file transfer partway through — this is one of the most common sources of what gets misdiagnosed as "corruption" but is actually just an incomplete file
- For genuinely critical archives, keep a checksum (via Terminal's
shasum) recorded at creation time, so you can later verify whether a copy matches the original exactly - Store important archives in more than one location — corruption from a single failing drive is far less costly if a second, independent copy exists elsewhere
Frequently asked questions
Are there paid "guaranteed ZIP repair" tools worth trying? Be skeptical of any tool promising guaranteed recovery — legitimate repair tools can improve your odds on partially damaged files but cannot guarantee recovery of severely corrupted data, since that's a mathematical limitation, not a software quality issue.
Is it safe to run repair tools on a corrupted ZIP from an unknown source? Repair attempts themselves carry the same general risk profile as extraction — be cautious of what's inside once recovered, the same way you'd treat any file from an untrusted source.
Can cloud storage services corrupt files during upload or sync? Rarely, but it does happen, particularly with unstable connections during large uploads — if a file was corrupted specifically during a cloud sync, re-uploading from the original local copy (if you still have it) is more reliable than re-downloading the already-corrupted cloud copy.
The bottom line
Corrupted ZIP files exist on a spectrum from fully recoverable to genuinely unfixable, and the realistic first steps — comparing file size, trying Terminal's repair flag, testing with a different tool — resolve a meaningful share of cases without requiring specialized paid software. For archives you're actively working with, a tool like Unzipr with built-in integrity testing helps catch corruption early, before it becomes a bigger problem to diagnose after the fact, and its preview feature lets you confirm a freshly downloaded archive's structure looks intact before you've invested time in a full extraction.