How to Fix Unzip Error “End-of-central-directory signature not found”
Rarely, you may attempt to unzip a zip archive and come across an error that states “End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.” This tutorial will attempt to resolve the zip file “End of central directory signature not found” errors when attempting to decompress an archive.
To backup a bit, the reason you typically see the “End-of-central-directory signature not found” error when working with a zip file is because the file is either corrupt, the file download is incomplete, or it’s a multi-part archive file and the other components are not found, or the zip file is not actually a zip archive file. The most probable reason for most users to encounter this error when trying to unzip a zip archive though is that the zip file download is either incomplete, or the zip archive is corrupt.
7 Troubleshooting Fixes for Zip Error “End-of-central-directory signature not found”
The various solutions to resolve this zip error are usually one of the following, you can try any of them and see which works:
- Re-download the zip archive from the source – simply redownloading the zip archive is most likely to fix the problem if the download was interrupted or corrupted somehow
- Try to download the zip archive again from a mirror (if possible)
- Use a different download method for the zip file in question. For example, using a different web browser, or using curl to download the file
- Try a different unzip program to extract the target zip archive, for example ‘unzip’ at the command line, The Unarchiver for Mac, jar, 7z, rar, gunzip, etc
- Attempt to repair the zip archive at the command line with the following syntax, replacing file names as needed:
- If the archive file is multiple parts, make sure all of the zip files are contained within the same directory
- Verify the origin zip file with sha1 or md5 if possible, this can tell you if the file has been corrupted or modified somehow compared to what you intended to download
zip -FF ProblemZip.zip --out RepairedZip.zip | unzip
This problem can surface in many situations when working with zip files. Usually the easiest way to resolve it is to simply re-download the file if it was corrupted, or if the file was incomplete. Nonetheless sometimes you have to repair the file, or use a different zip app.
I recently encountered this issue repeatedly when trying to configure Signal messenger on a Mac but ultimately was able to resolve it by downloading Signal with curl instead of an (admittedly outdated) web browser, a bit curious, but resolved either way. Using a different download method also often works to fix CPGZ zip file unzip loops, and usually suggests the file was being corrupted for some reason or another.
If you have any other tips, tricks, or suggestions about resolving the “End-of-central-directory signature not found” zip error, share them in the comments below!
I had the same error for a .Z file on AIX because I was using unzip instead of uncompress.
if you have splitted binaries, like file.zip.001, file.zip.002 … you may just need to combine the files e.g. using cat command: cat file.zip.* > single.zip
Credits: https://superuser.com/questions/365643/how-to-unzip-split-files-on-os-x/1067907?newreg=5fb5d89c2d2a4ae5aeb1842dd233b8d1
unzip master.zip
Archive: master.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of master.zip or
master.zip.zip, and cannot find master.zip.ZIP, period.
Thanks for this. Unfortunately my source files are long gone. The file may be corrupt and there may be nothing I can do, but I will try.
I fear that I do not understand your instructions (above):
from terminal mode, drag file or write the path –where?
zip -FF ProblemZip.zip –out RepairedZip.zip | unzip
Thanks
M
The paths should point to the input zip file, and then the output. For example, if the file is named “ProblemZip.zip” and located on your user desktop, you could try the following which would output a file named “RepairedZip” on the same user desktop:
zip -FF ~/Desktop/ProblemZip.zip --out ~/Desktop/RepairedZip.zip | unzip
Hope that helps!