PeaZip is a free archiver
based on solid and proven
Open Source technology of 7-Zip
and other great Open Source
tools (like FreeARC, PAQ, UPX...) for
supporting additional file formats and features, in order to provide an
purpose zip utility featuring a powerful unified GUI that, unlike most
of other classic file archivers like
i.e. WinZip and WinRar, is natively portable
available for computers or tablets running 32
bit and 64
bit Windows (9x, NT/2K/XP, Vista/7/8/10, ReactOS, Wine), Linux or BSD
x86 and x86-64 (desktop
application, supports Gnome, KDE and other desktop environments).
PeaZip is Free Software, under Open Source
, and it is
of charge for any use
(personal and professional, business or governament), modification, and
distribution, without "expiration date" or "trial" limitations.
sfx (7z and arc), bz2, gz, paq/lpaq/zpaq, pea, quad/balz/bcm, split, tar,
upx, wim, zip
7Z: 7-Zip AES256 encryption
ZIP: WinZip AES256 AE, and ZipCrypto for legacy
compatibility; can decrypt PKZip's
ARC: FreeARC AES256, Blowfish,
EAX authenticated encryption
bzip2, tbz2, tbz, gz, gzip, tgz, tpz, tar, zip, zipx, z01, smzip,
chm, chi, chq, chw, hxs, hxi, hxr, hxq, hxw, lit, cpio, deb, lzh, lha, rar, r01, 00, rpm, z, taz, tz, iso, Java (jar, ear,
war), pet, pup, pak, pk3, pk4, slp, [Content], xpi, wim, u3p,
lzma86, lzma, udf, xar, Apple's dmg, hfs, part1, split, swm, tpz, kmz,
vhd, mslz, apm, mbr, fat, ntfs, exe, dll, sys, msi, msp, Open Office /
Libre Office (ods, ots, odm,
oth, oxt, odb, odf, odg, otg, odp, otp, odt, ott), gnm, Microsoft
Office (doc, dot, xls,
xlt, ppt, pps, pot, docx, dotx, xlsx, xltx), Flash (swf, flv), quad,
balz, bcm, zpaq,
paq8f, paq8jd, paq8l, paq8o, lpaq1, lpaq5, lpaq8, ace through separate unace plugin
(closed source) available on PeaZip
add-ons page, arc, wrc, 001,
pea, cbz, cbr, cba, cb7,
cbt (and more...)
PeaZip is localized
in 29 languages and is capable of handling all most popular archive
formats (150+ file types), supporting a wide array of advanced file and
archive management features (search, bookmarks, thumbnail viewer, find duplicate files and
compute hash/checksum value, convert
on security (strong encryption, two
factor authentication, encrypted
password manager, secure file deletion...).
The distinctive trait of PeaZip is the innovative and easy to use
compression/extraction interface, more similar to CD burners interfaces
rather than to a classic file compressor. This design makes extremely
simple to check (and update) items set for compression and extraction,
integrating a full featured file manager component.
Also, tasks created in the GUI can be easily saved as batch scripts, in
order to automate backup operations,
or for fine tuning, or for
learning purpose, bridging the gap between the ease of use of GUI
applications and power and flexibility of console.
PeaZip 64 bit free archiver is meant to run on 64 bit Microsoft Windows
systems only, while PeaZip is meant to run on any 32 or 64 bit Windows
You can check if you are running a 64 bit MS Windows operating system
rightclicking on the "Computer" icon on the desktop and reading the
system type in "Properties".
This program requires full Win32 support, so it is compatible with any
desktop PC and tablet home or professional Microsoft Windows system, or
compatible API (Wine, ReactOS), but it is not officially
supported on Windows RT devices.
Windows 9x and NT4 are no longer supported, starting from release 5.5.2
(2014 12 23) as 7x 9.35 backend requires Windows 2000 or newer system;
last version supporting Windows 9x and NT4 is PeaZip 5.5.1, see Experimental
& legacy directory. Older
releases are available here.
To run unattended installation launch the Windows installer with
/SILENT parameter; use /VERYSILENT for background installation, without
notification to the users.
To re-configure system integration (file associations, context and
SendTo menu), you can use Options > System integration.
During install, PeaZip creates entries in SendTo menu that can be
simply copied to one user to another as needed, they are located in
C:\Documents and Settings\(username)\SendTo (Windows XP) or
assuming C as system's disk.
PeaZip can be uninstalled from Add/Remove Programs in system's Control
Alternatively you can uninstall it from Start menu PeaZip >
Uninstall PeaZip entry, or running unins000.exe in PeaZip's
When uninstalled, PeaZip restores files association with Windows'
Compressed Folders for the supported file types; to restore file
associations with a third party file archiver software please refer to
its own documentation, usually it can be done running the program's
setup package or from the original application itself. To manually
restore file associations with Compressed Folders utility run: cmd /c
assoc .zip=CompressedFolder replacing .zip with any file extension it
is desired to be re-associated.
On Linux systems,
installer automatically create menu entries
for KDE (on most versions);
to add PeaZip to Gnome menu
copy the "Archiving" folder placed
in PeaZip/Freedesktop_integration/nautilus-scripts to system's Nautilus
script's folder (in most versions open "Scripts" menu in
system's context menu, and select "Open script's folder").
PeaZip is meant to be desktop
neutral as possible, so it is not limited to be used under
KDE and Gnome, and does not requires different packages to run on
different desktop environments.
On PeaZip's official website are featured generic Linux packages,
meant to be compatible with as many distributions and versions as
possible, providing the system supports the widgetset (GTK2 * or Qt **)
and the installer format, in
example DEB ***: Debian,
Ubuntu/Kubuntu, Knoppix, ... RPM:
Fedora, Mandriva, SUSE, Red Hat, ArkLinux, ... TGZ: Slackware based.
Third party packages
explicitly targeted to a specific
distribution/version can be found from external links and in official
those packages are highly recommended for best integration with a
specific Linux distribution / version.
If PeaZip is missing in your distribution's repositories please take
time to recommend it to distribution's maintainers, pointing them to
this website for evaluating possible advantages in featuring PeaZip
i.e. the Portable version, or the desktop neutrality, sources that can
easily target either GTK2 or Qt widgetset, or its GUI etc...
If a package does not run on a specific system please launch peazip
binary on a console to get a more detailed error report.
note that ia32-libs are
required to run PeaZip, as any other 32 bit binary, on 64 bit systems.
binaries are currently compiled for 32 bit x86, you will need
if you want to compile them from sources.
compression/extraction "engines" (pea, p7zip, *paq, freearc etc) are
compiled for 32 bit (i386), please refer to respective Authors for
packages (all are released under OSI approved Open Source licenses) if
you want to recompile them.
If you are interested in ARM architecture porting (including support
for Google Android / ChromeOS) you can refer to Linux for ARM page.
* On some Linux distributions the GTK2
version may require to install some components of gtk/gdk
libraries, like libgdk_pixbuf,
those components are quite common and can be usually found in
repositories of each distribution.
** Qt widgetset packages
more recent, and needs libQt4Pas.so
installed in /usr/local/lib or equivalent directory (copy the
file and run ldconfig; it is done automatically in installable
packages), such as
/usr/lib or /usr/lib32 on some 64 bit distributions.
A copy of
libQt4Pas.so is available in PeaZip's directory,
./usr/local/share/PeaZip/ for the installable packages.
If the Qt version
does not start on some systems, as some system's visual styles may
cause recursive repainting error, you can fix the problem starting it
in a console (or script) as: peazip -style=cleanlooks
*** DEB packages
architecture check, so can be installed on 32 and 64 bit systems
(providing that ia-32 libs are available). For this reason, some
package managers may report warnings since packages not marked for a
specific architecture are generally not expected to contain binary
Alternatively an i386 DEB is provided for GTK2 version, i386 DEB can be
installed on 64 bit Linux systems using
PeaZip Portable for BSD contains natively compiled peazip, pea,
pealauncher, and p7zip executables, providing most of the program's
funtions are performed by native binaries.
For other backends, Linux binaries are used due to binary compatibility
provided by BSD systems to Linux executables.
It is a Portable version of PeaZip, that means no installation is
required: the Portable application is autocontained, so the software
can be unpacked and used starting peazip executable, see next paragraph
for more information.
BSD binaries are precompiled for i386 and GTK2; ia-32 libs needs to be
installed in ia64 systems.
Alternatively, PeaZip Portable for Linux packages (GTK2 or Qt) can be
used on BSD systems.
Please refer to those instructions for porting or running PeaZip on Apple Mac OSX
PeaZip Portable is available either for Microsoft Windows and Linux, it
require installation / unistallation and does
not modify your system so it is recommended if you want to test the
application, to run it from a removable device, to make it available
over the network avoiding local installations, or if you should not
modify host system (i.e. library freeze in production machines).
To use the program simply unzip the package where you like, i.e to a
removable device, to bring the application with you, or to a network
path, to share the application with other users, or just to the desktop.
To remove the program simply delete PeaZip's directory.
PeaZip free file
in many different languages,
click Options >
Localization to modify language of
the GUI. If you are willing to
contribute a translation please check
information Notes for translators below to know how to
Over networks, this
application can be
made available to multiple users,
either with a shared configuration or with separate configuration for
each user, see "Settings" and "Customization and
scripting" in the help file (F1), that also contain useful hints for
enhancing PeaZip's system integration
and use of PeaZip in scripts.
PeaZip is built to be fully modular, you can freely replace backend
executables in PeaZip/res directory with updated ones (as long as they
same syntax) or with 64 bit
counterpart if available.
If the host system cannot or should not be modified it is recommended
to use PeaZip Portable, that
runs without installation and can be simply extracted in any path, even
network or on
removable devices as USB memories.
ACE files is
possible installing a separate plugin (due to UNACE freeware but closed
Extraction of RAR5
files (created with WinRar using "rar5" option) is now natively
supported by PeaZip and UNRAR5 Plugin (based on RarLab's code) is no
longer needed, but still available as alternative rar extraction engine.
PeaZip GUI is fully UTF-8
compliant since release 2.2.0, and internal filename handling functions
can work with UTF-8 filenames since release 3.0.1 in Linux, and since
release 5.8.0 in Microsoft Windows.
For more information check UTF-8 support
status in Lazarus/FreePascal
drag and drop
From version 2.1 it is possible to drag items from application to
system (MS Windows version).
PeaZip uses a custom drag&drop to system feature that doesn’t need
to copy files being dragged to system’s temp folder before, resulting
in faster operation when big files are involved, and in better security
if temp folder has not the same desired security policies of actual
This custom drag and drop function will not show default Windows drag
and drop cursors and it can drag files to the path of (file)Explorer
windows with Address field enabled (as it is by default on all Windows
versions), or to the desktop; it will prompt a directory selection
dialog if the path is not recognized i.e. content is dropped to an
application other than (file)Explorer.
Such a list can be all but complete, however: when I designed PEA
archive format I was less experienced and I basically didn't take in
account the need to browse the archive or to partially extract objects;
just to create and extract it.
Since filenames are, by design, saved along file streams, there is not
an easy way to accomplish it without parsing the entire archive (which
can be a reasonable solution only for small archives) or without
changing format specifications breaking the compatibility with former
A workaround I may implement in future to allow archive browsing could
be creating an extra text filecontaining filenames, saved as first
archive's object; that will not introduce backward incompatibility
since previos PEA version could still correctly handle the new archives
(just having the list-file as extra content) and will be quite painless
introducing negligible space and speed payload, unless archiving many
This is just an hypothetical evaluation and there still is not a
roadmap about it. Anyway this is a PEA format related issue has no
impact on users using PeaZip to handle formats other than PEA.
You can find a stub of
cryptoanalisys of PEA archive format on PEA
online help (.pdf)
For tutorial, and for contacts, see Support (help)
For question&answers about common usage topics, see Frequently
How to provide or maintain
Language files are UTF-8 encoded
text files which can be edited using any suitable text editor.
To create a new translation file you can:
1 - copy default.txt (in PeaZip's path in /res/lang subfolder) or any
other language file, if you prefer starting from another language, to a
2 - edit lines 2 to 6 of the document to enter language name (both in
English and in the original language for better readability), PeaZip's
version (major.minor) the translation is aimed to, translator's and
last last revisor's name and last revision date; IMPORTANT:
revision number must not be
specified alongside major.minor release number in 3rd line of language
revisions shares the same text and are meant to deploy between-releases
updates, ie.e for bugfixing or for packaging additional translations or
the text after the
"variable_name: " part in
"=== PeaZip text group ===" AND "=== PeaLauncher text group ==="
sections of the file (don't move or remove lines, don't change the
"variable_name: " part);
4 - optionally, translate the mini-tutorial after "=== about text group
===" line (free editing, it is loaded and displayed "as is" as
application's mini-tutorial); it is very important to improve usability
of the program for non-English speaking users.
Translations directory on GitHub you can find a package named peazip-x.y.z.about_translations.zip
(in x.y release subdirectory) containing a spreadsheet file to help
in creating and maintaining localizations, simply compiling column D of
IMPORTANT: the spreadsheet contains 3 pages, "PeaZip text group",
"PeaLauncher text group", and "About text group": all pages need to be
completed and pasted (column E, for first two pages) in the language
file; the "About text group" can be freely edited.
The spreadsheet shows variable name (column B), corresponding text
string in english (column C) and a blank, yellow column (D) for typing
the translated text strings.
On the right, a column E (blue) will show the "variable_name: " part
assembled with the translated string: the content of this area can be
copied and paste to replace the text in "=== PeaZip text group ===" and
"=== PeaLauncher text group ===" sections (the spreadsheet features TWO
pages, one for each of the two groups).
Lines must be pasted in the original order (it is sufficient to sort
them by column F).
After column F are featured all currently available translations, in
order to help translators more proficient in other languages than
Englis, and to help to spot out what localizations need to be updated.
At each version all language files are mass-updated, with missing text
lines in English; to update a localization, it's enough to update the
English text lines.
For a better result it is also recommended to check all the language
file to see if the update is coherent with linguistic style used by the
translator of the current version.
For languages spoken in different ways in different countries (i.e.
English, Spanish, Portuguese...) it is recommended to fork the
translation, creating i.e. en-us, pt-br etc
Default language file is default.txt
Translated language files
can be sent to me using the address firstname.lastname@example.org
(don't forget to remove the _removethis_ part), to be evaluated for
inclusion in future updates and publication on PeaZip's Translations
All translated language files should be considered as released under
GFDL, GNU Free Documentation License, as they have to be considered
derivate work from the application's language file which is released
PeaZip free archiver
sources are contained
in the peazip-*.src.zip package.
PeaZip and PeaZip_portable shares the same sources being PeaZip
installable basically the same portable application packaged into an
installable format: Inno Setup's .exe for Microsoft Windows, DEB, RPM
and TGZ for
PeaZip, Pea and PeaLauncher are written in FreePascal (highly
compatible with Delphi and ObjectPascal languages) and require Lazarus
be compiled; Windows setup
scripts (.iss files) are developed using Inno Setup.
To compile PeaZip binaries open the .lpi file of the desired binary
(i.e. peach.lpi for peazip binary) and select "build all".
FreePascal supports multiple widgetsets (Win32, WinCE, GTK1, GTK2, Qt,
Carbon, fpGUI) to allow compilation of GUI applications for the various
supported systems and to create different “flavours” of the application
for platforms supporting multiple widgetsets (i.e Linux).
PeaZip's sourcecode is cross platform, platform-specific code portions
are contained in conditional compilations blocks.
Deploying the application to other targets than MSWINDOWS and LINUX may
require adaptation of those platform specific areas (and possibly other
fine-tunings); PC-BSD users successfully built PeaZip on *BSD platform.
PeaZip will also need various backend compression and archiving
applications to be reachable in expected directories within the
application's path, please refer to the structure of any of the
precompiled packages, either installable or portable, to see what third
parts binaries must be included, and refer to respective Authors for
ports of those utilities; also read the help file readme.txt in the
source's package for more
Being PeaZip programmed as frontend/backend application, missing or
unwanted backend binaries can be omitted, at the cost of losing the
ability of handling supported formats; for the same reason, backend
binaries can be freely replaced with 64 bit counterparts or with
updated versions (which will work fine as long as they follow the same
PeaZip code should be fairly easy to port on Delphi and other Pascal
dialects; the underlying crypto
developed and maintained by
Wolfgang Ehrhardt, is explicitly written to be portable to most or all
Pascal dialects, however due to some ASM parts some of its features may
be x86 processor specific.
Some units of the crypto
library uses ASM sections not fully compatible with 64 bit
Lazarus/FPC compiler, but the library provides also pure Pascal
replacement for those units in order to allow compilation in those
PeaZip free archiver should run on all MS Windows and Linux systems,
the program is currently tested on:
- Windows 98SE (versions lower than
- Windows 2000/XP
- Windows Vista/7/8.1/10 32 and 64 bit
- various x86 and x86-64 Linux
distributions with GTK2 or Qt, both for Gnome and KDE
PEA archive support in
To support Pea file format in your applications you may follow one of
- use directly the executable Pea
archiving utility (LGPL freeware) passing parameters through command
line, as in PeaZip;
- use Pea source code as library to call
Pea-related functions from your code (as in the demo application in
- create a new implementation following
the file format specifications, which are released under public domain
and, as for what is known to the author, are free and unencumbered for
PeaZip acts as graphic frontend for multiple "engines"
performing archiving, compression, encryption and volume split
features: manage, open and extract Zip
files, free Rar
(unrar), extract Tar files on Windows (untar), create and convert
archives, create compressed,
spanned and password protected backup, compress and attach files and
encrypt files, split and join files (file spanning), secure file
LGPLv3) archiving utility featuring authenticated encryption; both
PeaZip and Pea uses Wolfgang Ehrhardt's Pascal/Delphi crypto
Pavlov, LGPL) and p7zip
LGPL, the POSIX port of 7z for Unix systems), supporting most of the
mainstream archiving and compression formats
Ziganshin, GPL) FreeARC archiver, featuring high compression and strong
Mahoney and other contributors, GPL) various compression utilities, the
current state of art for maximum compression ratio, multiple times
winner (in original or custom forms) of Hutter Prize Wikipedia
about Hutter Prize
Muraviev, LGPL), BALZ
and BCM (Ilia
Muraviev, public domain) compression utilities
F.X.J. Oberhumer, László Molnár and John F.
Reiser, GPL), compression utility for binaries, and Strip
Lemke, ACE Compression Software, royalty-free UNACEV2.DLL license)
UNACEV2.DLL 220.127.116.11 and UNACE for Linux (royalty-free UNACE for Linux
license) extractor for ACE files
- being non compliant with OSI approved licenses, it
available as separate download on Add-Ons page as PeaZip UNACE Plugin
- UNRAR (Eugene Roshal,
royalty-free license from RarLab/Win.Rar GmbH, source code is available
but subject to licensing restriction in order to disallow creating a
rar compressor) extractor for RARv5 files
- being non compliant with OSI approved licenses due
licensing restriction, it is available as separate download on Add-Ons
page as PeaZip UNRAR5
Plugin (no longer needed on recent releases, still featured as
alternate rar decompression engine).
compression utilities are included in the
program’s package and ready to use; all software included in the
package is released under OSI
approved licenses. UNACE and UNRAR5 are available as separate
plugin since, while royalty free, are not released under an
OSI-approved open source license.
Self-extracting archives are supported, built using 7-Zip's sfx modules
(with custom icons and compressed with UPX in order to minimize the
overhead added to the archive) and alternatively FreeArc's sfx modules.
Custom third parts modules distributors are linked in Add-ons page.
The initial goal of the application was
a frontend for Pea archiver utility, implementing PEA archive format,
designed ground up by myself to primarily focus on security and
integrity: I wanted something performing strong authenticated
encryption and perform integrity checks on both input objects and
output volume(s). Pea offer those characteristics, and is open source
(LGPL) freeware; file format specifications are released under public
domain. I did a bit of cryptanalisys of it (see Documentation package);
I hope more authoritative people may analyze it further.
Most archivers offer strong encryption, but
bounded to password-only auhentication: Pea executable offers two
factor authentication to increase encryption's security margins against
password-related threats, like social engineering, dictionary attacks,
I'm developing PeaZip project in FreePascal
language, under Lazarus IDE. I like Pascal-related languages and I
think Lazarus/FreePascal is one of the best cross-platform IDE
available; I like it even more because it is open source and because
it's growing day by day in a more mature and powerful IDE. I'll be glad
to bring a bit of developer's attention on Lazarus/FreePascal through
Designing PeaZip UI, I'm aiming to focus on
archive-specific tools, operations and needs rather than focusing on
offering a faithful emulation of a file browser, like many mainstream
archivers does. Saving lists of objects to be archived, saving
archiving/extraction job definitions and receiving detailed job log
after operations are primary goals of PeaZip UI. However, PeaZip's
system integration, if desired, allows the user to perform most common
operations (add to archive, extract here, encrypt, split file etc)
without even care of the main program UI.
7-Zip (and Myspace
p7zip POSIX port) : thanking Igor Pavlov 7z choice of
offering code licensed under LGPL I was able to easily add support to
mainstream archive and compression formats to PeaZip, transforming it
from a niche project (formerly named Pea-Peach) to a possibly wider
targeted software. I hope I can turn back to them part of the benefit
supporting .7z archive format, especially on Linux systems, offering a
ready to use solution to extract and archive in .7z format among
ARC: a new, very promising archive format,
featuring powerful but efficient compression, strong encryption and
PAQ/LPAQ/ZPAQ: one of the most promising
research project in the field of maximum compression is Matt Mahoney's
Many different implementation and branches exists, as command line
binaries and or integrated in archivers with GUI (like WinRK, WinUDA,
KGB Archiver etc). PeaZip act as GUI fronted to various *Paq, hoping to
to the diffusion of this high compression format and in bringing focus
interesting research project.
QUAD/BALZ/BCM: Ilia Muraviev's very
promising single file compression software featuring high compression
ratio and fast decompression, making them very well suited in scenarios
were decompression occurs more often than compression (i.e. package
Strip/UPX: I often use Strip/UPX on
compile (including PeaZip's ones); the GUI frontend for Strip/UPX in
PeaZip comes to be very handy for me and I hope it can be an useful
plus for many other developers to reduce executables size.
Two factor authentication: from version 2.1
PeaZip can use keyfiles for any supported format featuring encryption.
The SHA256 hash of the keyfile (no size limit) is encoded in Base64
(RFC 4648) and prepended to the password. So, it is possible to work on
archives encrypted in that way using PeaZip or any application
following the same convention, or simply entering the Base64-encoded
hash as the first part of the password.