Zip File Command Line Tools for Windows,
Linux and Mac OS/X
Create or extract Zip files on the command line
with these free Open Source tools for Windows,
Linux and Mac OS/X.
Swiss File Knife Zip/Unzip: flexible and easy
Download SFK for Windows
- very flexible file selection:
- zip all files of a folder, except named sub folders or files
- zip only files changed today
- zip files that differ between two folders
- zip files that contain a search text
- easy plain English syntax
- full UTF-8 unicode filename support.
under Windows, sfk zip includes every filename
twice into the zip, as 8-bit chars for old
extraction tools, and as UTF-8 by an extension field.
- full 64 bit zip file size support
- available for most platforms
then type sfk zip or sfk unzip for the help text.
Binaries for all other platforms are available
Info-Zip Zip: the fast standard tool
- compress twice as fast as with sfk zip
- directly available on many linux systems,
e.g. by apt-get install zip
- but may not support UTF-8 unicode, or 64 bit file sizes
- available here on stahlworks.com are copies of:
which cannot handle UTF-8 unicode at all.
the very latest versions would be zip 3.1 and unzip 6.10.
these are Betas, official binaries were never released by Info-Zip.
here are binaries compiled by stahlworks.com, from the original
sources provided on the
Info-Zip sourceforge site.
these versions come with full UTF-8 unicode support,
but are not fully tested. As of 2018, the original Info-Zip.org
website seems offline, but you may check their
for further informations.
7-Zip: the fastest
download on the 7-zip.org website.
- compress even faster then with Info-Zip zip
- partial UTF-8 unicode creation: as long as filename
characters fit within your Windows codepage,
it does not create UTF-8 but takes characters as is.
this could create wrong filename chars on computers
with a different codepage, or under Linux/Mac.
- full UTF-8 unicode extraction
Windows File Explorer:
Although the following are no command line tools,
they will be used by many people, and need to be mentioned:
Windows 7 File Explorer
- create/extract zip files instantly
- very limited special filename character support
- does not support UTF-8 unicode
Windows 10 File Explorer
- create/extract zip files instantly
- can extract UTF-8 unicode names
- can zip files with special characters
of your system,
like umlauts or accents
- but cannot zip complex unicode names,
like asian or cyrillic
8-bit filename encoding overview
In 2018, filename encoding in Zip files lays in ruins.
If everyone would use UTF-8, there would be no problem.
But the Zip format exists since the 1980s,
and at that time no Unicode or UTF-8 standard existed.
So in the beginning, until today, filenames are primarily
encoded as 8-bit chars with some codepage.
therefore every zip creation tool ignores codepage 437.
But what is used instead?
- the Zip standard says: use OEM codepage 437.
but this codepage is junk, it does not contain most
special characters, like many accent chars.
For example the character
U+00C2, LATIN CAPITAL LETTER A WITH CIRCUMFLEX
does not exist in this codepage, so when strictly
following it, many special chars need to be changed
to a placeholder like "_".
A Windows system uses two codepages: Ansi and OEM.
- SFK zip uses the system OEM codepage. on a western european
computer, normally this is 850, and very close to 437.
So A_Circumflex, U+00C2, is encoded as 0xB6.
Although not exactly codepage 437, this is the
closest compromise, but only on systems with codepage 850.
SFK adds a Zip file comment like
meta: os=win; code=850,utf; agent=sfk 1.9.1
that at least the encoding is known.
- 7-Zip 16.04 uses the system OEM codepage, just like SFK.
- InfoZip zip.exe V2.32 uses the system Ansi codepage.
on a western european computer, normally this is 1252.
So A_Circumflex, U+00C2, is encoded as 0xC2.
This is the most simple way a programmer would do it,
if he completely ignores the Zip format name encoding standard.
But when extracting this with Windows explorer,
special characters like the above will be wrong,
as Windows explorer expects OEM encoding.
And if you need to extract such a file with sfk,
tell clearly the encoding, like:
sfk unzip in.zip -fromcode=1252
- InfoZip zip.exe V3.0 uses the system OEM codepage, just like SFK.
- InfoZip Unzip 5.52 cannot extract UTF-8 unicode,
but InfoZip Unzip 6.10 beta can extract UTF-8 unicode.