This is a list of file formats used by archivers and compressors used to create archive files.
Archiving only
File extension(s)[1] | MIME type[2] | Official name[3] | Platform[4] | Description |
---|---|---|---|---|
.a, .ar | application/x-archive | Unix Archiver | Unix-like | The traditional archive format on Unix-like systems, now used mainly for the creation of static libraries. |
.cpio | application/x-cpio | cpio | Unix-like | RPM files consist of metadata concatenated with (usually) a cpio archive. Newer RPM systems also support other archives, as cpio is becoming obsolete. cpio is also used with initramfs. |
.shar | application/x-shar | Shell archive | Unix-like | A self-extracting archive that uses the Bourne shell (sh). |
.LBR | .LBR | CP/M
DOS |
A system for storing multiple files. LBR archives typically contained files processed by SQ, or the archive itself was compressed with SQ. LBR archives that were compressed with SQ ended with the extension .LQR | |
.iso | application/x-iso9660-image | ISO-9660 image | (Various; cross platform) | An archive format originally used mainly for archiving and distribution of the exact, nearly-exact, or custom-modified contents of an optical storage medium such as a CD-ROM or DVD-ROM. However, it can be used to archive the contents of other storage media, selected partitions, folders, and/or files. The resulting archive is typically optimized for convenient rendering to (re-)writable CD or DVD media. |
.lbr | Commodore 64/128 | A library format used primarily on the Commodore 64 and 128 lines of computers. This bears no resemblance to the DOS LBR format. While library files were quick to implement (a number of programs exist to work with them) they are crippled in that they cannot grow with use: once a file has been created it cannot be amended (files added, changed or deleted) without recreating the entire file. | ||
.mar | Mozilla ARchive | (Various; cross platform) | An archive format used by Mozilla for storing binary diffs. Used in conjunction with bzip2. | |
.sbx | application/x-sbx | SeqBox | (Various; cross platform) | A single file container/archive that can be reconstructed even after total loss of file system structures. |
.tar | application/x-tar | Tape archive | Unix-like | A common archive format used on Unix-like systems. Generally used in conjunction with compressors such as gzip, bzip2, compress or xz to create .tar.gz, .tar.bz2, .tar.Z or tar.xz files. |
Compression only
File extension(s)[1] | MIME type[2] | Official name[3] | Platform[4] | Description |
---|---|---|---|---|
.br | application/x-brotli | Brotli | all | Brotli is a compression algorithm developed by Google for textual web content, and typically achieves higher compression ratios than other algorithms for this use case. |
.bz2 | application/x-bzip2 | bzip2 | Unix-like | An open source, patent- and royalty-free compression format. The compression algorithm is a Burrows–Wheeler transform followed by a move-to-front transform and finally Huffman coding. |
.F, .?XF[5] | Freeze/melt | QNX4, Unix-like and DOS | Old compressor for QNX4 OS. The compression algorithm is a modified LZSS, with an adaptive Huffman coding. | |
.genozip | application/vnd.genozip | genozip | Linux, macOS, Windows | Genozip, a compressor for genomic file formats such as FASTQ, BAM, VCF and others.[6] |
.gz | application/gzip[7] | gzip | Unix-like | GNU Zip, the primary compression format used by Unix-like systems. The compression algorithm is Deflate, which combines LZSS with Huffman coding. |
.lz | application/x-lzip | lzip | Unix-like | An alternate LZMA algorithm implementation, with support for checksums and ident bytes. |
.lz4 | LZ4 | Unix-like | Algorithm developed by Yann Collet, designed for very high (de)compression speeds. It is an LZ77 derivative, without entropy encoding. | |
.lzma | application/x-lzma | lzma | Unix-like | The LZMA compression algorithm as used by 7-Zip. |
.lzo | application/x-lzop | lzop | Unix-like | An implementation of the LZO data compression algorithm. |
.rz | rzip | Unix-like | A compression program designed to do particularly well on very large files containing long distance redundancy. | |
.sfark | sfArk | Windows compress/decompress- Linux and macOS decompress only | A compression program designed to do high compression on SF2 files (SoundFont). | |
.sz | application/x-snappy-framed | Snappy | Unix-like | A compression format developed by Google, and open-sourced in 2011. Snappy aims for very high speeds, reasonable compression, and maximum stability rather than maximum compression or compatibility with any other compression library. It is an LZ77 derivative, without entropy encoding. |
.?Q? | SQ | CP/M and DOS | Squeeze: A program which compressed files using Huffman coding. A file which was "squeezed" had the middle initial of the name changed to "Q", so that a squeezed text file would end with .TQT, a squeezed executable would end with .CQM or .EQE. Typically used with .LBR archives, either by storing the squeezed files in the archive, or by storing the files decompressed and then compressing the archive, which would have a name ending in ".LQR". | |
.?Z? | CRUNCH | CP/M and DOS | A compression program written by Steven Greenberg implementing the LZW algorithm. For several years in the CP/M world when no implementation was available of ARC, CRUNCHed files stored in .LBR archives were very popular. CRUNCH's implementation of LZW had a somewhat unusual feature of modifying and occasionally clearing the code table in memory when it became full, resulting in a few percent better compression on many files. | |
.xz | application/x-xz | xz | Unix-like | A compression format using LZMA2 to yield high compression ratios. The LZMA algorithm is an LZ77 derivative, with entropy encoding in the form of range encoding. |
.z | application/x-compress | pack | Unix-like | The traditional Huffman coding compression format. |
.Z | application/x-compress | compress | Unix-like | The traditional LZW compression format. |
.zst | application/zstd | Zstandard | Cross-platform | Algorithm developed by Yann Collet at Facebook, combining high speed and high compression. It is an LZ77 derivative, with entropy encoding in the form of finite-state entropy and Huffman coding. |
.??_ | MS-DOS/Windows | Compression format(s) used by some DOS and Windows install programs. MS-DOS includes expand.exe to decompress its install files. The compressed files are created with a matching compress.exe command. The compression algorithm is LZSS. |
Archiving and compression
File extension(s)[1] | MIME type[2] | Official name[3] | Creation platform[4] | Restoration platform[8] | Restorable with free software[9] | Description |
---|---|---|---|---|---|---|
.7z | application/x-7z-compressed | 7z | Multiple | Multiple | Yes | Open source file format. Used by 7-Zip. |
.s7z | application/x-7z-compressed | 7zX | macOS | macOS, restoration on different platforms is possible although not immediate | Yes | Based on 7z. Preserves Spotlight metadata, resource forks, owner/group information, dates and other data which would be otherwise lost with compression.
Made obsolete by the introduction of AppleDouble-encoded 7z archives (Macintosh only). |
.ace | application/x-ace-compressed | ACE | Windows | Multiple | Yes | Proprietary format |
.afa | application/x-astrotite-afa | AFA | UNIX-like | UNIX-like | No | A format that compresses and doubly encrypt the data (AES256 and CAS256) avoiding brute force attacks, also hide files in an AFA file. It has two ways to safeguard data integrity and subsequent repair of the file if has an error (repair with AstroA2P (online) or Astrotite (offline)). |
.alz | application/x-alz-compressed | ALZip | Windows | Multiple | Yes | A mainly Korean format designed for very large archives. |
.apk | application/vnd.android.package-archive | APK | Multiple | Multiple | Yes | Android application package (variant of JAR file format). |
.arc, .ark | application/octet-stream | ARC | Multiple | Multiple | Yes | Very popular in the early days of BBSes, one of the first to offer compression and archiving in a single program. Largely replaced by PKZIP. |
.arc, .cdx | application/x-freearc | FreeArc | Windows, Linux | Windows, Linux | Yes | Open source file format developed by Bulat Ziganshin. A "FreeArc Next" version is under development which includes Zstandard support. |
.arj | application/x-arj | ARJ | Originally DOS, now multiple | Multiple | Yes | Competitor to PKZIP in the 1990s, offered better multi-part archive handling. |
.b1 | application/x-b1 | B1 | Multiple | Multiple | Yes | Open archive format, used by B1 Free Archiver (http://dev.b1.org/standard/archive-format.html) |
.b6z | B6Z | macOS | Multiple | Yes | Compressed archive format B6Zip | |
.ba | Scifer | Multiple | Multiple | Yes | Binary Archive with external header | |
.bh | BlakHole | Yes | Proprietary format from the ZipTV Compression Components | |||
.cab | application/vnd.ms-cab-compressed | Cabinet | Windows | Multiple | Yes | The Microsoft Windows native archive format, which is also used by many commercial installers such as WISE. |
.car | Compressia archive | Originally DOS, now DOS and Windows | Originally DOS, now DOS and Windows | Yes | Created by Yaakov Gringeler; released last in 2003 (Compressia 1.0.0.1 beta), now apparently defunct. Free trial of 30 days lets user create and extract archives; after that it is possible to extract, but not to create. | |
.cfs | application/x-cfs-compressed | Compact File Set | Windows, Unix-like including macOS | Multiple | Yes | Open source file format. |
.cpt | Compact Pro | Classic Mac OS | Multiple | Yes | Compact Pro archive, a common archiver used on Mac platforms until about Mac OS 7.5.x. Competed with StuffIt; now obsolete. | |
.dar | application/x-dar | Disk Archiver | Unix-like including macOS | Unix-like including macOS, Windows | Yes | Open source file format. Files are compressed individually with either gzip, bzip2 or lzo. |
.dd | DiskDoubler | Classic Mac OS | Obsolete | |||
.dgc | application/x-dgc-compressed | DGCA | Windows | Windows | ||
.dmg | application/x-apple-diskimage | Apple Disk Image | macOS | macOS, Windows, Linux | Yes | Supports "Internet-enabled" disk images, which, once downloaded, are automatically decompressed, mounted, have the contents extracted, and thrown away. Currently, Safari is the only browser that supports this form of extraction; however, the images can be manually extracted as well. This format can also be password-protected or encrypted with 128-bit or 256-bit AES encryption. |
.ear | EAR | Multiple | Multiple | Yes | Enterprise Java Archive archive | |
.gca | application/x-gca-compressed | GCA | The predecessor of DGCA. | |||
.genozip | Genozip | Linux, macOS, Windows | Linux, macOS, Windows | No | Optimized for (but not limited to) genomic file types such as FASTQ, BAM, VCF | |
.ha | Originally DOS | Originally DOS | Yes, but may be covered by patents | DOS era format; uses arithmetic/Markov coding | ||
.hki | WinHKI Archived 2006-12-05 at the Wayback Machine | MS Windows | MS Windows | No | HKI | |
.ice | ICE | Windows | Windows | Yes | Produced by ICEOWS program. Excels at text file compression. | |
.jar | application/java-archive | JAR | Multiple | Multiple | Yes | Java archive, compatible with ZIP files |
.kgb | KGB Archiver | Multiple | Multiple | Yes | Open sourced archiver with compression using the PAQ family of algorithms and optional encryption. | |
.lzh, .lha | application/x-lzh | LHA | Originally DOS, now multiple | Multiple | Yes | The standard format on Amiga. |
.lzx | application/x-lzx | LZX | Amiga | Archiver originally used on The Amiga. Now copied by Microsoft to use in their .cab and .chm files. | ||
.pak | PAK | HP NonStop | HP NonStop | Yes[10] | file format from NoGate Consultings, a rival from ARC-Compressor.
.pak was also briefly used by the short lived MSDOS PKPAK program. | |
.partimg | PartImage | Multiple | Multiple | Yes | A disk image archive format that supports several compression methods as well as splitting the archive into smaller pieces. | |
.paq6, .paq7, .paq8 and variants | PAQ | Unix-like and Windows | Unix-like and Windows | Yes | An experimental open source packager (http://mattmahoney.net/dc) | |
.pea | PeaZip | Linux and Windows | Linux and Windows | Yes | Open source archiver supporting authenticated encryption, cascaded encryption, volume spanning, customizable object level and volume level integrity checks (form CRCs to SHA-512 and Whirlpool hashes), fast deflate based compression | |
.phar | PHAR | Multiple | Multiple | Yes | A package format to enable distribution of applications and libraries by bundling many PHP code files and other resources (e.g. images, stylesheets, etc.) into a single archive file | |
.pim | PIM | Windows | Windows | Yes | The format from the PIM - a freeware compression tool by Ilia Muraviev. It uses an LZP-based compression algorithm with set of filters for executable, image and audio files. | |
.pit | PackIt | Classic Mac OS | obsolete | |||
.qda | Quadruple D | Windows | Windows | Used for data in games written using the Quadruple D library for Delphi. Uses byte pair compression. | ||
.rar | application/x-rar-compressed | RAR | Originally DOS, now multiple | Multiple | Yes | A popular proprietary archive format. |
.rk | RK and WinRK | Multiple | Multiple | No | The format from a commercial archiving package. Odd among commercial packages in that they focus on incorporating experimental algorithms with the highest possible compression (at the expense of speed and memory), such as PAQ, PPMD and PPMZ (PPMD with unlimited-length strings), as well as a proprietary algorithms. | |
.sda | Self Dissolving ARChive | Commodore 64, Commodore 128 | Commodore 64, Commodore 128 | Yes | SDAs refer to Self Dissolving ARC files, and are based on the Commodore 64 and Commodore 128 versions of ARC, originally written by Chris Smeets. While the files share the same extension, they are not compatible between platforms. That is, an SDA created on a Commodore 64 but run on a Commodore 128 in Commodore 128 mode will crash the machine, and vice versa. The intended successor to SDA is SFX. | |
.sea | Self Extracting Archive | Classic Mac OS | Classic Mac OS (implicitly) | A pre-Mac OS X Self-Extracting Archive format. StuffIt, Compact Pro, Disk Doubler and others could create .sea files, though the StuffIt versions were the most common. | ||
.sen | Scifer | Multiple | Multiple | Yes | Scifer Archive with internal header | |
.sfx | Self Extracting Archive | Commodore 64, Commodore 128 | Commodore 64, Commodore 128 | Yes | SFX is a Self Extracting Archive which uses the LHArc compression algorithm. It was originally developed by Chris Smeets on the Commodore platform, and runs primarily using the CS-DOS extension for the Commodore 128. Unlike its predecessor SDA, SFX files will run on both the Commodore 64 and Commodore 128 regardless of which machine they were created on. | |
.shk | NuFX | Originally Apple II, now multiple | Multiple | Yes | An archive format designed for the Apple II series of computers. The canonical implementation is ShrinkIt, which can operate on disk images as well as files. Preferred compression algorithm is a combination of RLE and 12-bit LZW. Archives can be manipulated with the command-line NuLib tool, or the Windows-based CiderPress. | |
.sit | application/x-stuffit | StuffIt | Originally Classic Mac OS, now multiple | Originally Classic Mac OS, now multiple | Yes | A compression format common on Apple Macintosh computers. The free StuffIt Expander is available for Windows and macOS. |
.sitx | application/x-stuffitx | StuffIt X | Multiple | Multiple | Yes | The replacement for the .sit format that supports more compression methods, UNIX file permissions, long file names, very large files, more encryption options, data specific compressors (JPEG, Zip, PDF, 24-bit image, MP3). The free StuffIt Expander is available for Windows and OS X. |
.sqx | SQX | Windows | Windows | Yes | A royalty-free compressing format | |
.tar.gz, .tgz, .tar.Z, .tar.bz2, .tbz2, .tar.lz, .tlz, .tar.xz, .txz, .tar.zst |
application/x-gtar | tar with gzip, compress, bzip2, lzip, xz, or zstd | Multiple | Multiple | Yes | The "tarball" format combines tar archives with a file-based compression scheme (usually gzip). Commonly used for source and binary distribution on Unix-like platforms, widely available elsewhere. Xarchiver supports the .tar.zst Archive/Compression format on Unix-like platforms. |
.uc .uc0 .uc2 .ucn .ur2 .ue2 | UltraCompressor II | DOS | DOS | UltraCompressor 2.3 was developed to act as an alternative to the then popular PKZIP application. The main feature of the application is its ability to create large archives. This means that compressed archives with the UC2 file extension can hold almost 1 million files. | ||
.uca | PerfectCompress[11] | Windows | Windows | No | Based on PAQ, RZM, CSC, CCM, and 7zip. The format consists of a PAQ, RZM, CSC, or CCM compressed file and a manifest with compression settings stored in a 7z archive. | |
.uha | UHarc | DOS/Windows | DOS/Windows | Yes | A high compression rate archive format originally for DOS. | |
.war | WAR | Multiple | Multiple | Yes | Web Application archive (Java-based web app) | |
.wim | application/x-ms-wim | Windows Image | Windows | Windows | Yes | File-based disk image format developed to deploy Microsoft Windows. |
.xar | application/x-xar | XAR | Multiple | Multiple | Yes | |
.xp3 | KiriKiri | Windows | Windows | Yes | Native format of the Open Source KiriKiri Visual Novel engine. Uses combination of block splitting and zlib compression. The filenames and pathes are stored in UTF-16 format. For integrity check, the Adler-32 hashsum is used. For many commercial games, the files are encrypted (and decoded on runtime) via so-called "cxdec" module, which implements xor-based encryption. | |
.yz1 | YZ1 | Windows, DOS, Linux | Windows, DOS, Linux | Yes | Yamazaki zipper archive. Compression format used in DeepFreezer archiver utility created by Yamazaki Satoshi. Read and write support exists in TUGZip, IZArc and ZipZag | |
.zip, .zipx | application/zip | ZIP | Originally DOS, now multiple | Multiple | Yes | The most widely used compression format on Microsoft Windows. Commonly used on Macintosh and Unix systems as well. |
.zoo | application/x-zoo | zoo | Multiple | Multiple | Yes | |
.zpaq | ZPAQ | Multiple | Multiple | Yes | Journaling (append-only) archive format with rollback capability. Supports deduplication and incremental update based on last-modified dates. Multi-threaded. Compresses in LZ77, BWT, and context mixing formats. Open source. | |
.zz | Zzip | Multiple | Multiple | Yes | Archiver with a compression algorithm based on the Burrows–Wheeler transform method. |
Data recovery
File extension(s)[1] | MIME type[2] | Official name[3] | Platform[4] | Description |
---|---|---|---|---|
.ecc | dvdisaster error-correction file | Multiple | File format used by dvdisaster to be used for data recovery when discs become damaged or partially unreadable. | |
.ecsbx | Error-correcting SeqBox | Multiple | Archive with forward error correction and sector level recoverability. Error-correcting version of SeqBox. | |
.par .par2 |
application/x-par2 | Parchive file | Multiple | File format used in conjunction with any archive format to provide error correction and file recovery, most often in newsgroup distribution of binary files. |
.rev | WinRAR recovery volume | Multiple | File format used with WinRAR rar volumes. The data recovery is error correction data which is provided in the form of open recovery records and/or recovery volumes, allowing reconstruction of good archives (including reconstruction of entirely volumes) |
Comparison
Containers and compression
Format | Filename extension |
Created by |
Introduced in | Based on | Compression | Integrity check | Recovery record | Encryption supported | Unicode filenames | Modification date resolution | Pre-processing | License |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Archive (ar) | .a, .ar | CSRG | 1971 | Original | No | No | No | No | No | 1 s | ? | ? |
cpio | .cpio | Bell Labs | 1983 Unix System V | ? | No | Partial, select formats only | No | No | No | 1 s | No | ? |
Shell Archive (shar and makeself) | .shar, .run | James Gosling, Alan Hewett | 1994 4.4BSD | Original | No | Yes, commonly MD5 | Partial | Partial | Partial | arbitrary (typically 1 s) | No | Public domain (shar 1.x - 3.x), GPL (shar 4.x) |
Tape Archive (tar) | .tar | Bell Labs | 1975 Version 6 Unix | ? | No | Partial, metadata only. Full integrity providable by filters such as gzip. | No | No | Optional1 | 1 s | No | ? |
Extended TAR format (pax) | .tar | OpenGroup | 2001 | Sun proposal + TAR | No | metadata | No | No | Yes | arbitrary (typically 1 ns) | No | ? |
BagIt | – | The Library of Congress | 2007 | file system | No | Yes | No | No | Yes | No | ? | ? |
7z | .7z | Igor Pavlov | 2000 | LZMA, LZMA2, Bzip2, PPMd, Deflate | Yes | Yes, CRC32 |
No | Yes, AES-256 |
Yes | 100 ns[12] | Yes | LGPL, Public domain |
ACE | .ace | Marcel Lemke | 1998[13] | LZ77 | Yes | Yes | Yes | Yes, Blowfish | Yes | 2s | ? | Proprietary software |
AFA | .afa | Vicente Sánchez-Alarcos | 2009 | Original | Yes | Yes | Yes | Yes, AES and CAST | Yes | ? | ? | ? |
ARC | .arc | Thom Henderson (SEA) | 1985 | ? | Yes | CRC16 | No | weak XOR only | No | 2s | No | ? |
ARJ | .arj | Robert Jung | 1991 | AR001 and AR002 | Yes | Yes | Yes | weak XOR with initial constant | No | ? | ? | Proprietary software |
B1 | .b1 | Catalina Group Ltd | 2011 | LZMA | Yes | Yes | No | Yes, AES | Yes | ? | ? | ? |
Cabinet | .cab | Microsoft | 1992 Windows 3.1 | Deflate | Yes | Optional PKCS7 Authenticode signature | No | Optional (with SDK) | Yes | 2 s | ? | ? |
Compact File Set | .cfs | Joe Lowe (Pismo Technic Inc.) | 2008 | ZIP/LZMA | Yes | Yes | ? | Yes | Yes | ? | ? | Free software |
Compact Pro | .cpt | Bill Goodman | 1990 (as "Compactor") | Original | Yes | Yes | No | Yes | ? | ? | ? | Proprietary software |
Disk Archive (DAR) | .dar | Denis Corbin | 2002 | Original | Yes | Yes | Yes2 | Yes | Yes | 1 µs | Yes | GPLv2 |
DGCA | .dgc | Shin-ichi Tsuruta | 2001 | GCA | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
FreeArc | .arc | Bulat Ziganshin | 2006 | LZMA, PPMd, TTA | Yes | Yes | Yes | Yes, AES, Blowfish, Twofish and Serpent | Yes | ? | ? | GPLv2 |
LHA (also LZH) | .lzh, .lha | Haruyasu Yoshizaki | 1988 | Frozen | Yes | Only on recent LHA releases | No | No | No | 1–2 s | ? | ? |
LZX | .lzx | Jonathan Forbes and Tomi Poutanen | 1995 | LZ77 | Yes | Only on recent LZX releases | ? | ? | ? | ? | ? | ? |
ISO image | .iso, .img, .ima | ISO 9660 | 1988 | High Sierra Format | No | ? | ? | ? | ? | ? | ? | ? |
Spark | .arc | David Pilling | 1989 | ARC | Yes | CRC16 | No | weak XOR only | No | 1 cs | No | CDDL 1.0[14] |
WinMount format | .mou | ? | 2007 | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | Proprietary software |
Macintosh Disk Image | .dmg | Apple Computer | 2001 Mac OS X | Original | Yes | Yes | ? | Yes | ? | ? | ? | ? |
Partition Image (PartImage) | .partimg | François Dupoux and Franck Ladurelle | 2000 | ? | Yes | ? | ? | ? | ? | ? | ? | GPLv2 |
PAQ Family (Several formats)4 | .paq#*, .lpaq#* | Matt Mahoney | 2002–2006 | Original | Yes | ? | ? | ? | ? | ? | ? | ? |
PEA | .pea | Giorgio Tani | 2006 | Original, Deflate based compression | Yes | Yes Adler32, CRC32, CRC64, MD5, SHA1, RIPEMD-160, SHA256, SHA512, Whirlpool | No | Yes Authenticated Encryption, AES128 and AES256 in EAX mode | Yes system dependent | Yes arbitrary | ? | Public domain |
PIM | .pim | Ilia Muraviev | 2004–2008 | Original | Yes | Yes | No | No | Yes | No | ? | ? |
Quadruple D | .qda | Taku Hayase (aka sandman) | 1997 | ? | Yes | ? | ? | ? | ? | ? | ? | ? |
RAR | .rar | Eugene Roshal | 1993 | Original | Yes | Yes, CRC32, BLAKE2 |
Yes, Reed–Solomon |
Yes, AES-256 for RAR 5.0 archives |
Yes, UTF-8 |
2 s, 1 s, 6.5536 ms, 25.6 µs or 100 ns3 | Dropped | Proprietary software |
RK | .rk | M Software, Ltd. | 2004 | Original | Yes | Yes | No | Yes, AES, Square, Twofish | Yes | 1 s | ? | ? |
NuFX | .shk | Andy Nicholas | 1989 | Original | Yes | CRC16 | No | No | No | 1 s | ? | ? |
StuffIt (also SIT) | .sit | Raymond Lau | 1987 | ? | Yes | ? | ? | Yes | ? | ? | ? | Proprietary software |
StuffIt X (also SITx) | .sitx | Aladdin/Allume Systems | 2002 | ? | Yes | ? | Optional | Yes, RC4,Blowfish, AES,DES |
Yes | ? | ? | Proprietary software |
UltraCompressor II | .uc .uc0 .uc2 .ucn .ur2 .ue2 |
Nico de Vries | 1992–1996 | LZ77 and Huffman coding | Yes | Yes | Yes | Yes, triple DES | ? | ? | ? | ? |
Windows Image | .wim, .swm, .esd | Microsoft | 2006 | Original | Yes | Yes | No | Partial5 | Yes | 100 ns | ? | ? |
ZIP | .zip | Phil Katz | 1989 | Deflate | Yes | Yes | No | Yes, AES | Yes | 1–2 s, depending on version | ? | ? |
ZPAQ | .zpaq | Matt Mahoney | 2009 | PAQ | Yes | Yes, SHA-1 | No | Yes, AES-256 | Yes | ? | ? | MIT, Public domain |
Notes
^1 While the original tar format uses the ASCII character encoding, current implementations use the UTF-8 (Unicode) encoding, which is backwards compatible with ASCII.
^2 Supports the external Parchive program (par2).
^3 From 3.20 release RAR can store modification, creation and last access time with the precision up to 0.0000001 second (= 0.1 µs). WinRAR download and support: Knowledge Base
^4 The PAQ family (with its lighter weight derivative LPAQ) went through many revisions, each revision suggested its own extension. For example: ".paq9a".
^5 WIM can store the ciphertext of encrypted files on an NTFS volume, but such files can only by decrypted if an administrator extracts the file to an NTFS volume, and the decryption key is available (typically from the file's original owner on the same Windows installation). Microsoft has also distributed some download versions of the Windows operating system as encrypted WIM files, but via an external encryption process and not a feature of WIM.
- Purpose: Archive formats are used for backups, mobility, and archiving. Many archive formats compress the data to consume less storage space and result in quicker transfer times as the same data is represented by fewer bytes. Another benefit is that files are combined into one archive file which has less overhead for managing or transferring. There are numerous compression algorithms available to losslessly compress archived data; some algorithms are designed to work better (smaller archive or faster compression) with particular data types. Archive formats are used by most operating systems to package software for easier distribution and installation than binary executables.
- Filename extension: The DOS and Windows operating systems required filenames to include an extension (of at least one, and typically 3 characters) to identify the file type. Such extensions must be unique for each type of file. Many operating systems identify a file's type from its contents without the need for an extension in its name. However, the use of three-character extensions has been embraced as a useful and efficient shorthand for identifying file types.
- Integrity check: Archive files are often stored on magnetic or other media subject to storage errors. Many archive formats contain extra error detection or correction information which can be used by the software used to read the archive files to detect and possibly correct errors.
- Recovery record: Many archive formats contain redundant data embedded in the files in order to detect data storage or transmission errors, and the software used to read the archive files contains logic to detect and correct errors.
- Encryption: Many archive formats include the capability to encrypt contents to prevent unauthorised access, using one of many available encryption methods.
Software packaging and distribution
Format | Filename extension |
Created by |
Introduced in | Based on | Integrity check | Recovery record | Encryption supported | Unicode filenames | Modification date resolution |
---|---|---|---|---|---|---|---|---|---|
Debian package (deb) | .deb | Debian | 1994 Debian 0.91 | ar, tar, and gzip, xz | Yes | No | No | Yes | 1 s |
Macintosh Installer | .pkg, .mpkg (metapackage) | NeXT | 1989 NeXTSTEP 1.0 | pax and gzip | Yes | ? | ? | Yes | ? |
RPM Package Manager (RPM) | .rpm | Red Hat | 1995 Red Hat Linux 1.0 | cpio and gzip | Yes | ? | ? | ? | 1 s |
Slackware Package | .tgz | Patrick Volkerding | 1993 Slackware 1.0 | tar and gzip | Yes | No | No | ? | ? |
Windows Installer (also MSI) | .msi | Microsoft | 2000 Windows 2000 | OLE Structured Storage, Cabinet and SQL | Optional PKCS7 Authenticode Signature | No | No | No | 2 s |
MSIX | .appx, .appxbundle, .emsix, .emsixbundle, .msix, .msixbundle | Microsoft | 2012 Windows 8 | Zip | Yes | No | Yes | Yes | 1 s |
Java Archive (JAR1) | .jar | Sun Microsystems | 1997 JDK 1.1 | PKZIP | Yes | No | ? | Yes | ? |
Google Chrome extension package | .crx | 2009 (Chrome 4.0) | Zip | Yes | ? | No | ? | ? | |
Pacman | .pkg.tar.zst, .pkg.tar (no compression) | Judd Vinet | 2001 (before ArchLinux 0.1) | tar and zstd[15] (formerly xz) | Yes | No | No | Yes | 1 s |
Notes
^1 Not to be confused with the archiver JAR written by Robert K. Jung, which produces ".j" files.
Features
Archive format | Built-in compression | Self-extracting | Directory structure | POSIX attributes | ACLs | Alternate data streams |
---|---|---|---|---|---|---|
cpio | No1 | No | Yes | Yes | No | ? |
tar | No1 | No | Yes | Yes | Some | (in Solaris implementation) |
dar | Yes3 | No | Yes | Yes | Yes | Yes |
ar | No | No | No | Yes | No | ? |
pax | No | No | Yes | Yes | Yes | ? |
dump | No1 | No | Yes | Yes | Yes | ? |
shar | No | Yes | Yes | Yes | No | ? |
makeself | Yes | Yes | Yes | Yes | Yes | ? |
zip | Yes | Yes2 | Yes | No | ? | ? |
rar | Yes | Yes2 | Yes | No | ? | Yes |
ace | Yes | ? | Yes | No | ? | ? |
arj | Yes | Yes2 | Yes | No | No | ? |
zoo | Yes | ? | Yes | No | ? | ? |
ISO 9660 (CD-ROM) | No1 | No | Yes | (with Rock Ridge extension) | No | ? |
cab | Yes | Yes2 | ? | No | ? | ? |
rpm | Yes | No | Yes | Yes | ? | ? |
deb | Yes | No | Yes | Yes | ? | ? |
7z | Yes | Yes | Yes | No | ? | ? |
Archive format | Built-in compression | Self-extracting | Directory Structure | POSIX attributes | ACLs | Alternate data streams |
Notes
^1 Compression is not a built-in feature of the formats, however, the resulting archive can be compressed with any algorithm of choice. Several implementations include functionality to do this automatically
^2 Most implementations can optionally produce a self-extracting executable
^3 Per-file compression with gzip, bzip2, lzo, xz, lzma (as opposed to compressing the whole archive). An individual can choose not to compress already compressed filenames based on their suffix as well.
See also
Footnotes
- 1 2 3 4 File extensions may differ across platforms. The case of these extensions may differ on case-insensitive platforms.
- 1 2 3 4 MIME media types may be conjectural. Very few have been officially registered with the IANA. Compression-only formats should often be denoted by the media type of the decompressed data, with a content coding indicating the compression format.
- 1 2 3 4 Official names may be disputed.
- 1 2 3 4 Creation platform indicates the platform(s) under which a format can be created.
- ↑ If attaching
.F
to the file name is not possible with the DOS operating system, the second and third character of the filename extension are replaced byXF
. - ↑ Genozip - A Universal Extensible Genomic Data Compressor https://academic.oup.com/bioinformatics/article/37/16/2225/6135077
- ↑ The 'application/zlib' and 'application/gzip' Media Types. doi:10.17487/RFC6713. RFC 6713. Retrieved 2016-05-03.
- ↑ Restoration platform indicates the platform(s) under which a format can be restored/extracted. Most file formats can be understood by more than one platform.
- ↑ "Restorable with free software" indicates whether the format can be restored using an extraction tool that is free software.
- ↑ Tandem Unpak GUI http://sybond.web.id/project/?p=8
- ↑ "PerfectCompress". Archived from the original on 2012-07-23. Retrieved 2009-11-08.
- ↑ "7-Zip / Discussion / Open Discussion: File times: creation, access - precision". sourceforge.net.
- ↑ Lemke, Marcel (1998). "Technical Information on the archiver ACE V1.2". hugi.scene.org. Archived from the original on 4 April 2023. Retrieved 22 May 2023.
- ↑ "LICENCE · master · RiscOS / Sources / FileSys / ImageFS / SparkFS / Codecs / SparkSpark · GitLab". 28 January 2023. Retrieved 2023-03-26.
- ↑ "Arch Linux - News: Now using Zstandard instead of xz for package compression". archlinux.org.