ZIP Archive Repair (Truncated, Damaged and Broken Downloads)
Rebuild a damaged ZIP archive and keep every file that survived, on your own device.
Free preview.
- Free preview: the full list of files in the archive with the condition of each one (intact, partly recovered or lost) and the whole integrity report.
- Locked until you unlock it: download and saving to your device.
- Unlock: Ultimate pass, ₹1,199 for 30 days, a one-time payment that never renews.
Ways to unlock shows how to get the full result.
Printing this result is locked in the free preview.
Before you start
- Work on a copy. The archive is only read, never changed, but keep the original until the new one has been opened.
- Download it again if you can. A complete download is always better than a repair: missing bytes cannot be recreated.
- Healthy archives open in the ZIP Extractor; this page is for archives that will not open.
- Nothing is uploaded. The archive is read on your device, a few megabytes at a time, and only files you own or may examine should be opened here.
Choose the damaged archive
Check it
Every file header in the archive is found, and every file decoded and compared with its checksum.
What is in the archive
Result
| Name | Condition | Size | Method |
|---|
No files match.
What the conditions mean
- Intact
- decoded to its end and matched its CRC-32 checksum: exactly the file that was put in the archive
- Partly recovered
- cut short or damaged part way: the part before the damage is kept, marked “(partial)” in its name
- Lost
- nothing of its data survived, or where it is cannot be found
- Encrypted
- copied into the new archive as it is; it opens there with its password
- Not checked
- not checked: compressed with a method this page does not decode, or decoded to its end with no checksum left to compare it with; copied into the new archive as it is
Save the files
Save to a drive other than the one the damaged archive is on. Encrypted and unchecked files go into the new ZIP as they are; a folder gets the files this page could decode and check.
Locked in the free preview. Opens the ways to unlock this result.
Locked in the free preview. Batch runs unlock with a pass.
Locked in the free preview. Query results unlock with a pass.
About the ZIP Archive Repair (Truncated, Damaged and Broken Downloads)
A ZIP archive keeps its table of contents — the central directory — at its very end, and most programs read nothing else. So when a download stops early, a copy is cut short or a disk loses a block, the archive will not open at all, even though nearly everything in it is still there: Windows says the compressed folder is invalid, 7-Zip reports an unexpected end of archive, and unzip cannot find the end-of-central-directory signature.
This page reads the archive the other way, from the front. Every file inside a ZIP starts with a local header that repeats its name, its compression method and — usually — its sizes and checksum, so the page finds each file by its header, decodes it to the end, and compares the result with its CRC-32 checksum. Each file is listed as intact, partly recovered or lost, and the intact ones go into a new, clean archive with their original compressed bytes copied exactly — nothing is recompressed — or straight into a folder. It works for the formats built on ZIP too: JAR, EPUB, APK, ODT and others. Nothing is uploaded: the archive is read on your device, a few megabytes at a time.
How to use it
- Work on a copy of the damaged archive. If it came from a download, check whether the site can send it again first: a complete download is always better than a repair.
- Choose the archive. For an archive split into parts, choose all of them together (name.z01, name.z02 … name.zip, or name.zip.001, name.zip.002 …).
- Press Check the archive. The page looks for every file header in it, decodes each file and checks it against its checksum; a large archive takes a while, and the page shows how far it has got.
- Read the list: each file’s condition, size and, for anything not intact, what is wrong with it. Filter it by condition or search it by name.
- Choose whether partly recovered files should go in as well. They are marked “(partial)” in their names, because only the part before the damage is in them.
- Without a pass the list and the report are a free preview; with an Ultimate pass the files are saved — as a new ZIP, or into a folder on another drive (Chrome or Edge on a computer).
Examples
holiday-photos.zip · 1.1 GB · Windows says the compressed folder is invalid
2,412 files intact · 1 partly recovered: the photo the download stopped in
The archive’s directory was in the part that never arrived, so no ordinary program could open it. Every file before the cut is complete, and the new archive holds exactly those. The files after the cut never reached the disk at all, so nothing can list them.
backup.zip · made by a backup tool that writes sizes after each file
Each file found by decoding it to its end · sizes and checksums read from the data descriptors that follow
Programs that stream an archive (general purpose bit 3) write each file’s sizes after its data, not in its header. Without the directory, decoding is the only way to find where a file ends — and the page does exactly that.
project.zip from an old USB stick · 7-Zip reports a CRC error in one file
86 files intact · 1 partly recovered (decoded up to the damaged block) · the directory itself is fine
A bad block spoils only the files it falls in. The rest decode and check out, and a partly recovered text or log file is often still useful as far as it goes.
novel.epub · the reader says the file is damaged
All 41 files intact; the archive’s end record was damaged · rebuilt with its “mimetype” file first and uncompressed
EPUB and OpenDocument files are ZIP archives with one rule extra: their first member must be an uncompressed file called mimetype. The new archive keeps that rule.
Common uses
- Downloads that stopped part way, from a browser, a download manager or a messaging app.
- Archives copied badly from a USB stick, a memory card or a network share.
- Backups and exports that will not open, written by tools that stream their archives.
- E-books (EPUB), Java archives (JAR) and OpenDocument files that their programs call damaged.
- Archives found by a deep scan of a disk image and marked partly damaged.
Why a cut-off ZIP will not open
PKWARE’s specification lays an archive out as a series of files, each a local file header followed by its data, and at the end a central directory listing them all, closed by an end-of-central-directory record (PKWARE APPNOTE). Readers start from that last record, because it says where everything is. Lose the end of the file and they have nothing to start from — even though every file before the cut is still whole.
The local headers are the way back in. Each one starts with the signature 50 4B 03 04 (“PK” and two bytes), and repeats the file’s name, method and flags. That is what this page looks for, through the whole archive.
How each file is found and checked
- Its header gives the name, the method (Stored, Deflate or Deflate64 are decoded here) and, normally, its sizes and its CRC-32 checksum. The central directory, where it survived, supplies what a header left out.
- Its end: from its sizes when they are known. When a program streamed the archive and put the sizes in a data descriptor after the data, the page decodes the file to the end of its last compressed block — that is where it ends — and reads the checksum from the descriptor that follows.
- Its check: the decoded file must match its CRC-32 and its stated size. Only then is it intact.
- What is not the archive’s: a ZIP stored inside the archive has headers of its own; they are recognised as part of their file and left inside it, and an older copy of a file that an update left behind is listed apart and not selected.
What intact, partly recovered and lost mean
- Intact: decoded to its end and matched its checksum — exactly the file that was put in. It goes into the new archive with its compressed bytes copied as they are.
- Partly recovered: the file was cut off or damaged part way. Everything before the damage is kept, and it goes into the new archive only if you choose, with “(partial)” in its name. A partial text, log or CSV file is often useful; a partial photo shows its top part; a partial program or document of most other kinds may not open.
- Lost: nothing of its data is in the file, or where its data lies cannot be found.
- Encrypted and Not checked: a password-protected file, or one compressed with a method this page does not decode (such as BZIP2 or LZMA), or one that decoded to its end but whose checksum was in the part of the archive that never arrived. They are copied into the new archive exactly as they are; one that decoded is given the checksum of what decoded, so other programs open it.
Split archives
An archive split into parts by WinZip or Info-ZIP (name.z01, name.z02 … and finally name.zip) numbers its parts as disks, and its directory, in the last part, gives each file’s place within its own part. Choose all the parts together: the page joins them in order and reads them as one archive. Parts made by 7-Zip or a file splitter (name.zip.001, name.zip.002 …) are plain pieces of one archive and are joined the same way. A missing part takes the files inside it with it, but every file in the other parts can still be found.
What the repair is measured against
The page’s automated tests build archives in code and break them the ways downloads, copies and disks break them: cut short in the middle of a file, written as a stream with the sizes in data descriptors and then cut short, with a damaged block inside one file, with the signature of one file’s header overwritten, behind a self-extracting program, split into two parts, holding another ZIP inside, encrypted, compressed with a method that is not decoded, and made of nothing but zero bytes. Every intact file must come back byte for byte; every partly recovered one must be exactly the start of the original; the rebuilt archive must open in another program’s reader and pass this page’s own check with nothing wrong.
No success rate is published for other people’s archives: what comes back depends only on how much of the archive reached the disk.
Limitations
- Only ZIP archives and the formats built on ZIP are read. RAR and 7z archives, and TAR and GZIP files, are not repaired here.
- Missing bytes cannot be recreated: a file whose data was not in the download, or was overwritten, stays lost or partial.
- Files compressed with Deflate64 are decoded; files compressed with BZIP2, LZMA, XZ, Zstandard or PPMd are copied into the new archive unchecked, and cannot be saved into a folder from here.
- Encrypted files are never decrypted or cracked. They are copied as they are and open in the new archive with their own password.
- A partly recovered file holds only what was before the damage; after damage inside a compressed file, its last part may hold some bytes that are not the original’s.
- App and add-on packages (APK, XPI) are signed over the whole file, so a rebuilt package has to be signed again before it installs.
- Saving into a folder works in Chrome and Edge on a computer; other browsers download the new archive instead. A web page cannot set a file’s date: files saved into a folder carry the date they are written, while the new ZIP keeps each file’s own date.
Privacy
The archive is read by your browser on your device, a few megabytes at a time; nothing from it is sent anywhere, and the page works offline once it has loaded.
Frequently asked questions
What do I get without a pass?
Without a pass, ZIP Archive Repair (Truncated, Damaged and Broken Downloads) shows the full list of files in the archive with the condition of each one (intact, partly recovered or lost) and the whole integrity report. Until you unlock it, the result can’t be downloaded or saved to your device. An Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.
Why do Windows and 7-Zip refuse an archive that is mostly fine?
Because they start from the archive’s directory, which is at its very end. A download or copy that stopped early never received that end, so they find nothing to start from. The files before the cut are untouched, and each one can be found by its own header.
Is anything recompressed or changed?
No. Intact files go into the new archive with their compressed bytes copied exactly as they were; only new headers and a new directory are written around them. Files saved into a folder are the decoded files themselves, checked against their checksums.
What happens to a file that is only partly there?
It is listed as partly recovered with how much of it decoded, and it is left out of what is saved unless you choose to include it. Then it goes in with “(partial)” in its name, holding everything up to the damage.
Can it open a password-protected archive?
It never tries to guess or crack a password. Encrypted files are copied into the new archive exactly as they are, so they open there with their own password in any program that supports their encryption.
How large an archive can it check?
Archives of many gigabytes: the file is read a few megabytes at a time and each member is decoded as a stream, so memory stays flat. Decoding every file takes a while for a large archive, and the page shows how far it has got.
My archive opens fine. Do I need this page?
No. When every file is intact and the archive’s own directory is sound, the page says so; open it with the ZIP Extractor, which reads healthy archives, including RAR and 7z.
Is anything uploaded?
No. The archive never leaves your device: it is read and checked in your browser, and the page works without a connection once it has loaded.