Compression

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Specific file formats/programs)
(Relocate LZ4 page to Stream compression formats section.)
 
(75 intermediate revisions by 6 users not shown)
Line 7: Line 7:
 
== Stream compression formats ==
 
== Stream compression formats ==
  
A stream format takes a stream of bytes, and outputs a different, hopefully smaller, stream of bytes. These compression formats are often used internally in other data structures to compress data, as well as in network protocols, such as http. Used stand-alone, a stream compression format does not offer archiving capability, however in the UNIX doctrine, an archiver like [[tar]] can be combined with an archive format to produce a proper compressed archive.
+
A stream format takes a stream of bytes, and outputs a different, hopefully smaller, stream of bytes. These compression formats are often used internally in other data structures to compress data, as well as in network protocols, such as http. Used stand-alone, a stream compression format does not offer archiving capability, however in the UNIX doctrine, an archiver like [[tar]] or the more archaic variant [[shar]] can be combined with an archive format to produce a proper compressed archive.
 +
 
 +
* [[gzip]] (.gz)
 +
* [[bzip2]] (.bz2)
 +
* [[LZ4]]
 +
* [[LZMA Alone|LZMA_Alone]] (.lzma)
 +
* [[pack (Unix)]] (.z)
 +
* [[XZ]] (.xz)
 +
* [[Zstandard]] (.zstd)
 +
** [[Zstandard dictionary]]
  
 
== Compression algorithms and compressed data formats ==
 
== Compression algorithms and compressed data formats ==
Line 18: Line 27:
 
* [[DEFLATE]]
 
* [[DEFLATE]]
 
* [[DivANS]]
 
* [[DivANS]]
 +
* [[EXEPACK2]]
 +
* [[FastLZ]]
 +
* [[Fractal compression]]
 +
* [[HPACK (HTTP)|HPACK]] (used to compress HTTP headers)
 
* [[Huffman coding]]
 
* [[Huffman coding]]
* [[LZ4]]
+
** [[Adaptive Huffman coding]]
 +
** [[Canonical Huffman code]]
 +
* [[InstaCompOne]]
 +
* [[Lempel–Ziv–Stac]] (LZS)
 
* [[LZ77]]
 
* [[LZ77]]
 +
* [[LZ77 with Huffman coding]]
 
* [[LZ78]]
 
* [[LZ78]]
 
* [[LZFSE]]
 
* [[LZFSE]]
Line 26: Line 43:
 
* [[LZMA]]
 
* [[LZMA]]
 
* [[LZMA2]]
 
* [[LZMA2]]
 +
* [[LZMW]]
 
* [[LZO]] (Lempel–Ziv–Oberhumer)
 
* [[LZO]] (Lempel–Ziv–Oberhumer)
 +
* [[LZRW]]
 
* [[LZSS]] (Lempel–Ziv–Storer–Szymanski)
 
* [[LZSS]] (Lempel–Ziv–Storer–Szymanski)
 
* [[LZW]]
 
* [[LZW]]
 +
* [[LZX]]
 +
** [[LZX Delta]]
 
* [[MSZIP]]
 
* [[MSZIP]]
 
* [[PKWARE DCL Implode]]
 
* [[PKWARE DCL Implode]]
 
* [[PPMd]]
 
* [[PPMd]]
 +
* [[Prediction by partial matching]] (PPM)
 
* [[Run-length encoding]]
 
* [[Run-length encoding]]
 +
** [[PackBits]]
 
** [[RLE90]]
 
** [[RLE90]]
 
* [[Shannon–Fano coding]]
 
* [[Shannon–Fano coding]]
 
* [[Snappy]] (Google-created compression also used by Apple in iWork formats)
 
* [[Snappy]] (Google-created compression also used by Apple in iWork formats)
 
* [[zlib]]
 
* [[zlib]]
* [[Zstandard]] (Zstd)
 
** [[Zstandard dictionary]]
 
  
 
=== Graphics compression ===
 
=== Graphics compression ===
Line 48: Line 69:
  
 
* [[9CDR]] (Amiga FileImploder Clone)
 
* [[9CDR]] (Amiga FileImploder Clone)
 +
* [[ABC (Advanced Blocksorting Compressor)]]
 +
* [[ABComp]] (.abp)
 +
* [[Aldus LZW]]
 +
* [[Aldus PKZP]]
 
* [[BARF]] (.x, .x??)
 
* [[BARF]] (.x, .x??)
 +
* [[BGZF]]
 
* [[BWTC32Key]] (.B3K)
 
* [[BWTC32Key]] (.B3K)
 
* [[bzip]] (.bz)
 
* [[bzip]] (.bz)
* [[bzip2]] (.bz2)
+
* [[BZip3]] (.bz3)
 +
* [[CAZIP]]
 +
* [[ChiefLZ]] (.LZZ)
 +
* [[compact (Gene Olson)]] (.W)
 
* [[compact (Unix)]] (.C)
 
* [[compact (Unix)]] (.C)
 
* [[compress (Unix)]] (.Z)
 
* [[compress (Unix)]] (.Z)
 +
* [[CMP (NEW-DOS)]]
 
* [[CrLZH]] (.?y?)
 
* [[CrLZH]] (.?y?)
 
* [[CRN]] (.crn) - compressed text files used for PC-Write manual
 
* [[CRN]] (.crn) - compressed text files used for PC-Write manual
 
* [[Crunch]] (.?z?)
 
* [[Crunch]] (.?z?)
 +
* [[Crunch-Mania]]
 +
* [[DACT]]
 +
* [[DitPack]]
 
* [[DUPA]] (Amiga FileImploder Clone)
 
* [[DUPA]] (Amiga FileImploder Clone)
 +
* [[EBZ|EBZip]] (.ebz)
 +
* [[EDI Install archive]]
 +
* [[EDI Install packed file]]
 +
* [[EDI LZSSLib]]
 +
* [[EmmaCompress]]
 
* [[Error Code Modeler]] (.ecm)
 
* [[Error Code Modeler]] (.ecm)
 
* [[File Imploder]] (Amiga) (.imp)
 
* [[File Imploder]] (Amiga) (.imp)
 +
* [[FlySpeed st/exp]]
 
* [[Freeze/Melt]] (Unix) (.F)
 
* [[Freeze/Melt]] (Unix) (.F)
* [[gzip]] (.gz)
 
 
* [[Hammer (compression)|Hammer]]
 
* [[Hammer (compression)|Hammer]]
 +
* [[HAP]] (v2.x)
 
* [[ICE (Michael Lamanuzzi)|ICE]] (.ice, by Michael Lamanuzzi)
 
* [[ICE (Michael Lamanuzzi)|ICE]] (.ice, by Michael Lamanuzzi)
 
* [[Inflate]] (.infl) - parody format that actually increases size
 
* [[Inflate]] (.infl) - parody format that actually increases size
 +
* [[InstallIt!]]
 
* [[JAM (W. Jiang)]]
 
* [[JAM (W. Jiang)]]
 +
* [[The JAM Packer|JAM Packer, The]]
 
* [[JCalG1]] (.jc, Commodore Amiga)
 
* [[JCalG1]] (.jc, Commodore Amiga)
 +
* [[Kboom11]]
 +
* [[Logitech Compress]]
 
* [[lrzip]] (.lrz)
 
* [[lrzip]] (.lrz)
 +
* [[LZ5 and Lizard]]
 +
* [[LZARI]]
 +
* [[LZHUF]]
 
* [[Lzip]] (.lz)
 
* [[Lzip]] (.lz)
* [[LZMA Alone|LZMA_Alone]] (.lzma)
 
 
* [[lzop]] (.lzo)
 
* [[lzop]] (.lzo)
* [[LZX]]
+
* [[LZS221]]
 +
* [[LZSS (Haruhiko Okumura)]]
 +
* [[LZWCOM]]
 +
* [[LzwPak]]
 +
* [[Microsoft KWAJ installation compression]]
 +
* [[Microsoft SZ installation compression]]
 
* [[Mozilla LZ4]] (.jsonlz4)
 
* [[Mozilla LZ4]] (.jsonlz4)
 
* [[MS-DOS installation compression]] (.??_)
 
* [[MS-DOS installation compression]] (.??_)
 +
* [[MULTIKIT COMPRESS]]
 +
* [[NetWare Packed File]]
 +
* [[NOAH]]
 +
* [[Nova Compress]]
 +
* [[NPack]]
 +
* [[NRV (Not Really Vanished)]]
 
* [[Oodle Data Compression]]
 
* [[Oodle Data Compression]]
* [[pack (Unix)]] (.z)
+
* [[PGNPack]]
 
* [[PowerPacker]] (.pp)
 
* [[PowerPacker]] (.pp)
 +
* [[PPMZ]]
 +
* [[PPMZ2]]
 
* [[Pro-Pack]]
 
* [[Pro-Pack]]
 +
* [[PUT and GET (Scott Jennings)]]
 +
* [[Quasijarus Strong Compression]]
 
* [[RAC]]
 
* [[RAC]]
* [[RK]] (WinRK)
+
* [[Reduq]]
 +
* [[RKUC]]
 
* [[rzip]] (.rz)
 
* [[rzip]] (.rz)
 +
* [[S2]] (.s2, .snappy)
 
* [[SCO compress LZH]]
 
* [[SCO compress LZH]]
 +
* [[SEMONE]] (.one)
 +
* [[sfArk]]
 +
* [[SFDN Packer]]
 +
* [[SFPack]]
 
* [[SHARC]] (density)
 
* [[SHARC]] (density)
 
* [[Softdisk Text Compressor]] (.ctx)
 
* [[Softdisk Text Compressor]] (.ctx)
 +
* [[Splint]]
 +
* [[SQ2]]
 
* [[Squash (RISC OS)|Squash]] - single file compression on RISC OS
 
* [[Squash (RISC OS)|Squash]] - single file compression on RISC OS
 
* [[Squeeze|Squeeze/SQ]] (.?q?)
 
* [[Squeeze|Squeeze/SQ]] (.?q?)
* [[TTComp archive]]
+
* [[SQUEEZE (AJP Systems)]]
 +
* [[squeeze (Daniel Bernstein)]] (.MW)
 +
* [[Squish (Mike Albert)]]
 +
* [[Sunzip]] (.sz)
 +
* [[TERSE]]
 +
* [[Top4]]
 +
* [[TTCOMP]]
 +
* [[TTW]]
 
* [[tzip]]
 
* [[tzip]]
 
* [[Tzip (Text ZIP)]]
 
* [[Tzip (Text ZIP)]]
 +
* [[UHBC]]
 
* [[WWPACK]]
 
* [[WWPACK]]
* [[XZ]] (.xz)
+
* [[XPK]]
 
* [[Yaz0]]
 
* [[Yaz0]]
 +
* [[zchunk]]
 +
* [[Zoo filter format]]
 +
* [[Zoo Z format]]
 +
* [[ZSQ (LZW compression)]]
  
 
== Transparent file compression ==
 
== Transparent file compression ==
(An obsolete technique in which a background process hooks into the OS and decompresses files transparently when they are read. ''Compression'' is usually done manually. The line between this and ''Disk compression'' can be blurry.)
+
(A mostly-obsolete technique in which a background process hooks into the OS and decompresses files transparently when they are read. ''Compression'' might be done manually. The line between this and ''Disk compression'' can be blurry.)
  
 +
* [[AFX (Atari ST)]]
 
* [[CFS (Computer Concepts Compression)]]
 
* [[CFS (Computer Concepts Compression)]]
 
* [[DIET (compression)|DIET]]
 
* [[DIET (compression)|DIET]]
 +
* [[Diet Disk]]
 +
* [[DiskDoubler]]
 
* [[Pack-Ice]]
 
* [[Pack-Ice]]
 
* [[SLIM (Dominic Herity)|SLIM]]
 
* [[SLIM (Dominic Herity)|SLIM]]
 +
* [[Turbo Packer]]
 
* [[XPACK]]
 
* [[XPACK]]
  
Line 105: Line 189:
 
(Transparent disk compression software and the like, excluding filesystem formats.)
 
(Transparent disk compression software and the like, excluding filesystem formats.)
  
* [[DiskDoubler]]  
+
* [[DoubleDisk]]
* [[DriveSpace]] and DoubleSpace
+
* [[DoubleSpace and DriveSpace]]
 
* [[JAM (disk compression)]]
 
* [[JAM (disk compression)]]
 
* [[Stacker]]
 
* [[Stacker]]
 +
* [[SuperStor]]
  
For filesystem formats that feature compression, see [[Filesystem]].
+
For filesystem formats that feature compression, see [[Filesystem]] (especially [[Filesystem#Compressed filesystems]]).
  
 
== Executable compression ==
 
== Executable compression ==
Line 118: Line 203:
 
== See also ==
 
== See also ==
  
 +
* [[Compression and archiving software]]
 
* [[Compression research]]
 
* [[Compression research]]
 
* [[Archiving]] (for formats that place multiple files together in one file, with or without compression)
 
* [[Archiving]] (for formats that place multiple files together in one file, with or without compression)
Line 126: Line 212:
 
== Links ==
 
== Links ==
 
* [http://boingboing.net/2014/03/04/data-compression-with-playing.html Data-compression with playing cards]
 
* [http://boingboing.net/2014/03/04/data-compression-with-playing.html Data-compression with playing cards]
* [http://www.quora.com/What-is-the-most-compressed-file-ever/answer/Kelly-Martin?srid=uejz&share=1 What is the most compressed file ever?]
+
* [https://web.archive.org/web/20201108101659/https://bestofquora.wordpress.com/2014/06/14/what-is-the-most-compressed-file-ever/ What is the most compressed file ever?]  
* [http://ieeeghn.org/wiki/index.php/History_of_Lossless_Data_Compression_Algorithms History of Lossless Data Compression Algorithms]
+
* [https://ethw.org/History_of_Lossless_Data_Compression_Algorithms History of Lossless Data Compression Algorithms]
 +
* [https://www.mattmahoney.net/dc/dce.html Data Compression Explained - Matt Mahoney]

Latest revision as of 08:37, 16 August 2025

File Format
Name Compression
Ontology

{{{caption}}}

Contents

[edit] Stream compression formats

A stream format takes a stream of bytes, and outputs a different, hopefully smaller, stream of bytes. These compression formats are often used internally in other data structures to compress data, as well as in network protocols, such as http. Used stand-alone, a stream compression format does not offer archiving capability, however in the UNIX doctrine, an archiver like tar or the more archaic variant shar can be combined with an archive format to produce a proper compressed archive.

[edit] Compression algorithms and compressed data formats

(excluding formats usually used as file formats)

[edit] Graphics compression

See Graphics#Compression for compression formats used primarily with graphics.

[edit] Specific file formats/programs

(multi-file compressors are in Archiving)

[edit] Transparent file compression

(A mostly-obsolete technique in which a background process hooks into the OS and decompresses files transparently when they are read. Compression might be done manually. The line between this and Disk compression can be blurry.)

[edit] Disk compression

(Transparent disk compression software and the like, excluding filesystem formats.)

For filesystem formats that feature compression, see Filesystem (especially Filesystem#Compressed filesystems).

[edit] Executable compression

See Executable compression.

[edit] See also

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox