PEAZIP FOR WINDOWS PEAZIP FOR WINDOWS 64 BIT PEAZIP PORTABLE PEAZIP LINUX / BSD archival tool  freeware zipper  zipping app  manage 7z rar tar zip files







extract .pea files

Pea executable is the engine implementing PEA file format archiving, extraction, encryption, and decryption routines; it is released as Open Source freeware program under LGPLv3 license.
Pea file compression and cryptographic utility can be compiled as a cross-platform autocontained (portable) executable that can be used from batch scripts or invoked by a GUI frontend like PeaZip or it can be used also as library from external application; it supports it's native .pea archive format and also raw file split / join with optional integrity check ranging to CRCs to cryptographically strong hashes, to detect treats ranging from casual file corruption to malicious data tampering.
You don't need a separate download for getting Pea archiving utility's Windows/Linux executables, sources and documentation, since are part of the respective PeaZip packages, available from download pages.

Implementation details

Archiving and compression

Input data is compressed with a Deflate-based compression scheme (PCOMPRESS) defined in PEA file format specifications, resulting in compression ratio and compression speed similar to typical compressor of that class, like Zip, PKZip, and GZip.
Please note that at present stage of development of PEA format maximum compression is out of the scope of the project; a fast and versatile deflate-based compression scheme was used in order to offer a reasonable tradeoff between compression ratio and speed to make PEA suitable for most uses.
For a standardised compression benchmark, including PeaZip's compression ratio using PEA format, you can look at Matt Mahoney's Large Text Compression Benchmarkfile compressibility

Integrity check and encryption algorithms

Checksum/CRC, hash and strong encryption algorithms are provided by Wolfgang Ehrhardt's cryptography library for Pascal/Delphi (released under zlib license), to enforce privacy of input data (AES based encryption, optionally Serpent or Twofish), to detect file corruption (checksum and hash functions), and, with use of authenticated encryption, to guarantee: secrecy (only intended recipient can read the data), integrity (data transmission was not tampered), and authenticity (data comes from expected sender).



Pea: Object, Stream and Volume level; Raw file join/split optional integrity check


Adler32, CRC32, CRC64


MD5, SHA1, RIPEMD-160, SHA256, SHA512, Whirlpool, SHA3-256, SHA3-512

Pea: Stream level only

Authenticated encryption

AES128 HMAC, AES128/256 EAX, Serpent 128/256 EAX, Twofish 128/256 EAX

File split and join

Pea utility file split and join features are compatible with most file split applications; just provide an input file to split it to the desired output size.
Optionally Pea can save a control file containing checksum or hash (see Control algorithm paragraph) of each volume and of the original file, allowing file level and volume level integrity check, which will be ignored by other file split utilities.
Merging back the split file, Pea will check this control file and give a simple warning if it's not found, i.e. because the file was split by other file split application, or cast an error message if not matching.

Other features

Pea executable, other than implementing extraction and archiving in .PEA format, uses the internally supported features (encryption, checksum/hash, randomness sampling etc...) for other general file management utility tasks, not necessarily related with file archiving, providing also tools for:
  • secure data deletion (file data and free disk space)
  • file checksum/hash utility
  • byte to byte file compare utility

How to compile

Pea utility is compiled and built using Lazarus, an Open Source RAD IDE based on FreePascal, a language widely compatible with Delphi, Kylix, ObjectPascal.
Sources are available from PeaZip download page; source packages contains instructions and documentation also for compiling pea binary implementation.
While pea binary comes precompiled only for MS Windows, Linux, and BSD, Lazarus/FPC (and Wolfgang Ehrhardt's crypto library) targets a far larger number of systems and architectures, so any help in porting pea format and implementation on new platform is welcome.

PEA file format specifications

PEA file format specifications version 1.1

Pea (.pea file extension), acronym for Pack, Encrypt, Authenticate, designs a file format focused on data security, aiming to provide archiving, compression and multi volume file split (spanning) feature in a single passage, along with flexible schemes of optional integrity check and authenticated encryption (AES in EAX or HMAC mode, alternatively Twofish and Serpent in EAX mode); PEA file format specifications are released under public domain.

Pea compression is optional, at current level of implementation are defined only following levels: PCOMPRESS0 (store only, no compression), and PCOMPRESS1..3 based on deflate (reference zlib's compres/uncompres algorithm code), respectively at compression level 3, 6 and 9.

PEA format security model acts at 3 levels: objects (input files and folders sent to .pea archive), volumes (output archive file that can be spanned to user defined size) and streams (the actual output data stream that is formed by multiple input files and can be written written to multiple output volumes); each one of those levels can be omitted as needed by the user.
  • Object level integrity checking is performed to detect errors with object level granularity on raw input data and all associated data (name, size, attributes, date-time);
    • Current implementation allows: Checksum (Adler32, CRC32, CRC64), Hash (MD5, SHA1, RIPEMD-160, SHA256, SHA512, Whirlpool, , SHA3-256, SHA3-512)
  • Volume level integrity check is communication oriented and allow to discard single corrupted volumes in order to minimize, in case of error, the retransmission overhead;
    • Current implementation allows same Checksum and Hash algorithms featured by Object level check
  • Stream level check offers wide choice of algorithms up to authenticated encryption, protecting privacy and authenticity of a group of objects sharing same security needs, including tags generated by object level checks;
    • Current implementation allows same Checksum and Hash algorithms featured by Object and Volume levels, plus Authenticated encryption schemes: HMAC mode AES128, EAX mode AES128, AES256, Serpent128, Serpent256, Twofish128, Twofish 256.
Arbitrarily sized volume spanning allows the archive to be splitted in volumes of arbitrary size, with the only constrain of volumes being at least 10 byte bigger than volume control tag to allow passing (through archive's header) minimum needed information to the extraction application.

PEA file format standard, as defined in version 1 revision 1 specification, can store a single stream containing unlimited objects, each up to 2^64 byte in size; current Pea executable supports 1.1 file format specifications (practically, archives are memory and filesystem-limited rather than format limited) and is featured starting from PeaZip 6.0.1 release, previous PeaZip releases supporting PEA 1.0 format revision.

PEA 2.0 file format specifications extend the concepts behind PEA 1.x file format and can store an unlimited number of stream, but the format is not actually supported by current Pea archiving utility.

Here, a brief table of features and limitations applying to file format and to current implementation:


PEA file format

Current implementation


Max archive size


up to 999999 volumes of 2^64-1 byte each; using 128 bit block encryption it would be safe not to encrypt more than 2^64 byte with same key, better staying one or more orders of magnitude below

Stream number

1.1: single stream;

2.0 unlimited number of streams;

Single stream (1.1 file format)



Optional Authenticated Encryption, at stream level only.

Integrity check

AE tag or hash or checksum at stream level, hash or checksum for input objects and output volumes

Error correction

No scheme featured

Communication recovery

Independent volume control check allow to identify corrupted volumes (first volume may be needed to know volume check algorithm)

No specific tool developed; volume check is done during extraction and then, allowing to repeat download only of corrupted volumes

Data recovery

Stream control tags allow to recognize correct streams, if better granularity is needed object control tags allow to recognize correct objects; input object names and POD trigger allow to identify objects and stream between the archive data;

No specific tool developed to try error resistant data extraction, however object check errors are reported to identify corrupted and non corrupted data if the extraction is successful

Support for multi volume output

Native, requires a single pass

Volume number


1..999999 (6 digit counter string in output file name, after .pea file extension)

Volume size

Volume tag size +1.. unlimited; first volume must contain at least 10 byte of data to allow parsing of the archive header, to allow unpacking application to  calculate volume tag size

Volume tag size +1.. 2^64-1 (qword variable) ; first volume must contain at least 10 byte of data


Native, requires single pass; schemes:

PCOMPRESS0: no compression; PCOMPRESS1..3 based on deflate using zlib's compres/uncompres, level 3, 6 and 9 respectively 

Solid archive

Not implemented compression modes featuring the possibility of creating solid archive


Input types

1.1: files and dirs;

2.0: files, dirs, metadata stored as messages triggers

Files and dirs (1.1)

Input objects number


Host system memory limited (input object list is stored in a dynamic array of strings)

Input object size (of single objects)



Input object qualified name size (size 0 mean that archive object is a trigger, no input object mapped to the archive object)


1..32K (exceeding needs, longer values are considered errors)


Objects attributes and last modification time, optionally comments and any kind of meta content using messages

Save object attributes and object last modification time. Restore only object attributes (on Microsoft Windows), nothing on *x

For a more complete explanation and discussion of the format specifications please see the documentation about Pea archive format (.pdf).

when to use pea When it is recommended to use PEA format: in brief, it is a good choice when it is needed to guarantee confidentiality (data cannot be accessed without password), integrity, and autenticity - data can only be modified by recipient knowing the password, as data is subject to password-dependent, cryptographically strong verification. pea file




Author: Giorgio Tani, 2006

SPEED encrypted file type
Average, due lightweight compression algorithm and efficient encryption and hashing algorithms.

COMPRESSION RATIO high compression ratio
Deflate-based compression, comparable with GZ and classic ZIP format.

ADVANCED OPTIONS file encryption
Pea format lacks some features of competing formats, but offers advanced security focused characteristics, as AES-based authenticated encryption.

More information on PEA format features

Related articles, supported functionalities, file types competing with or similar to PEA:






External online resources: authenticated encryptiondata confidentiality, integrity, authenticity assurance, EAX modetwo pass authentication cipher, AES (Rijndael)Joan Daemen, Vincent Rijmen algorithm encryption algorithm, Twofishtwofish cipher, SerpentSerpent cipher ciphers, checksum/CRCverify data integrity and hashcompute hash value Wikipedia pages, Deflatedata compression algorithm description on Wikipedia; software supporting PEA archives PeaExtractorsimple rar extractor application, Universal Extractorarchive extraction program, Wolfgang Ehrhardt's Pascal/Delphi cryptography librarydelphi software library.

Topics: free Pea program, what is .pea file extension wiki, how do I open pea files (handle, read / write, view content), extract to new folder, drag and drop extraction, authenticated encryption, hash file, native encrypted file format.

free rar archiver
All PeaZip downloads
PeaZip for Windows
PeaZip for Windows 64 bit
PeaZip Portable
PeaZip Linux/BSD

how do i zip unzip files
More information
Online help
Frequently Asked Questions

how to manage rar archive
Support PeaZip project, or donate to FAO, UNICEF and UNESCO from donation page

© PeaZip srl: TOS, Privacy

Developer development feedback
PeaZip Wiki (GitHub)
Wiki how to rar zip file, manage tar cab ace archive
Releases Feed free rar zip tar archiver utility