Everipedia Logo
Everipedia is now IQ.wiki - Join the IQ Brainlist and our Discord for early access to editing on the new platform and to participate in the beta testing.
Igor Pavlov (programmer)

Igor Pavlov (programmer)

7-Zip is a free and open-source file archiver, a utility used to place groups of files within compressed containers known as "archives". It is developed by Igor Pavlov and was first released in 1999.[2] 7-Zip uses its own 7z archive format, but can read and write several other archive formats. The program can be used from a command-line interface as the command p7zip,[10] or through a graphical user interface that also features shell integration. Most of the 7-Zip source code is under the GNU LGPL license; the unRAR code, however, is under the GNU LGPL with an "unRAR restriction", which states that developers are not permitted to use the code to reverse-engineer the RAR compression algorithm.[11][12]

7-Zip
7-Zip File Manager on Windows 10
7-Zip File Manager on Windows 10
Developer(s)Igor Pavlov[1]
Initial release19 July 1999 (1999-07-19)[2]
Stable release19.00 (21 February 2019 (2019-02-21)) [±] [40] [3]
Repository
  • sourceforge.net/projects/sevenzip/files/7-Zip/ [41]
Written inC++[4]
Operating systemWindows, Linux, macOS, ReactOS[5]
Size1.1–1.7 MB[6]
Available in86 languages[7]
List of languages
Afrikaans, Albanian, Arabic, Aragonese, Armenian, Asturian, Azerbaijani, Bangla, Bashkir, Basque, Belarusian, Breton, Bulgarian, Catalan, Chinese Simplified, Chinese Traditional, Corsican, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Extremaduran, Farsi, Finnish, French, Frisian, Friulian, Galician, Georgian, German, Greek, Gujarati, Indian, Hebrew, Hindi, Indian, Hungarian, Icelandic, Ido, Indonesian, Irish, Italian, Japanese, Karakalpak Latin, Kazakh, Korean, Kurdish Sorani, Kurdish, Kyrgyz, Latvian, Ligurian, Lithuanian, Macedonian, Malay, Marathi, Mongolian, Nepali, Norwegian Bokmal, Norwegian Nynorsk, Pashto, Polish, Portuguese Brazilian, Portuguese Portugal, Punjabi, Indian, Romanian, Russian, Sanskrit, Indian, Serbian Cyrillic, Serbian Latin, Sinhala, Vietnam ,Slovak, Slovenian, Spanish, Swedish, Tamil, Tatar, Thai, Turkish, Ukrainian, Uyghur, Uzbek, Valencian, Vietnamese, Welsh, YorubaThese translations are partial and for the user interface only. Help and documentations are in English.
TypeFile archiver
LicenseLGPLv2.1+ with unRAR restriction[8] / LZMA SDK in the public domain[9]
Websitewww.7-zip.org [42]

Formats

7z

By default, 7-Zip creates 7z-format archives with a .7z file extension. Each archive can contain multiple directories and files. As a container format, security or size reduction are achieved using a stacked combination of filters. These can consist of pre-processors, compression algorithms, and encryption filters.

The core 7z compression uses a variety of algorithms, the most common of which are bzip2, PPMd, LZMA2, and LZMA. Developed by Pavlov, LZMA is a relatively new system, making its debut as part of the 7z format. LZMA uses an LZ-based sliding dictionary of up to 4 GB in size, backed by a range coder.[13]

The native 7z file format is open and modular. File names are stored as Unicode.[14]

In 2011, TopTenReviews found that the 7z compression was at least 17% better than ZIP,[15] and 7-Zip's own site has since 2002 reported that while compression ratio results are very dependent upon the data used for the tests, "Usually, 7-Zip compresses to 7z format 30–70% better than to zip format, and 7-Zip compresses to zip format 2–10% better than most other zip-compatible programs."[16]

The 7z file format specification is distributed with the program's source code, in the "doc" subdirectory.

Others

7-Zip supports a number of other compression and non-compression archive formats (both for packing and unpacking), including ZIP, Gzip, bzip2, xz, tar and WIM. The utility also supports unpacking APM, ARJ, CHM, cpio, DEB, FLV, JAR, LHA/LZH, LZMA, MSLZ, Office Open XML, onepkg, RAR, RPM, smzip, SWF, XAR, and Z archives and CramFS, DMG, FAT, HFS, ISO, MBR, NTFS, SquashFS, UDF, and VHD disk images. 7-Zip supports the ZIPX format for unpacking only. It has had this support since at least version 9.20, which was released in late 2010.

7-Zip can open some MSI files, allowing access to the meta-files within along with the main contents. Some Microsoft CAB (LZX compression) and NSIS (LZMA) installer formats can be opened. Similarly, some Microsoft executable programs (.EXEs) that are self-extracting archives or otherwise contain archived content (e.g., some setup files) may be opened as archives.

When compressing ZIP or gzip files, 7-Zip uses its own DEFLATE encoder, which may achieve higher compression, but at lower speed, than the more common zlib DEFLATE implementation. The 7-Zip deflate encoder implementation is available separately as part of the AdvanceCOMP suite of tools.

The decompression engine for RAR archives was developed using freely available source code of the unRAR program, which has a licensing restriction against creation of a RAR compressor. 7-Zip v15.06 and later support extraction of files in the RAR5 format.[17] Some backup systems use formats supported by archiving programs such as 7-Zip; e.g., some Android backups are in tar format, and can be extracted by archivers such as 7-Zip.[18]

File manager

7-Zip comes with a file manager along with the standard archiver tools. The file manager has a toolbar with options to create an archive, extract an archive, test an archive to detect errors, copy, move, and delete files, and open a file properties menu exclusive to 7-Zip. The file manager, by default, displays hidden files because it does not follow Windows Explorer's policies. The tabs show name, modification time, original and compressed sizes, attributes, and comments (4DOS descript.ion format).

When going up one directory on the root, all drives, removable or internal appear. Going up again shows a list with four options:

  • Computer: loads the drives list

  • Documents: loads user's documents, usually at %UserProfile%\My Documents

  • Network: loads a list of all network clients connected

  • \.: Same as "Computer" except loads the drives in low-level NTFS access. This results in critical drive files and deleted files still existing on the drive to appear. (NOTE: Access to the active partition in low-level mode is not allowed for currently unknown reasons.)

Software development kit

7-Zip has a LZMA SDK which was originally dual-licensed under both the GNU LGPL and Common Public License,[19] with an additional special exception for linked binaries. In December 2, 2008 the SDK was placed by Igor Pavlov in the public domain.[9]

Variants

Two command-line versions are provided: 7z.exe, using external libraries; and a standalone executable 7za.exe, containing built-in modules, but with compression/decompression support limited to 7z, ZIP, gzip, bzip2, Z and tar formats. A 64-bit version is available, with support for large memory maps, leading to faster compression. All versions support multi-threading.

The 7za.exe version of 7-Zip is available for Unix-like operating systems (including Linux, FreeBSD, and macOS), FreeDOS, OpenVMS, AmigaOS 4, and MorphOS under the p7zip project.[10]

Features

7-Zip supports:

  • The 256-bit AES cipher. Encryption can be enabled for both files and the 7z hierarchy. When the hierarchy is encrypted, users are required to supply a password to see the filenames contained within the archive. WinZip-developed Zip file AES encryption standard is also available in 7-Zip to encrypt ZIP archives with AES 256-bit, but it does not offer filename encryption as in 7z archives.[20]

  • Volumes of dynamically variable sizes, allowing use for backups on removable media such as writable CDs and DVDs

  • Usability as a basic orthodox file manager when used in dual panel mode

  • Multiple-core CPU threading[21]

  • Opening EXE files as archives, allowing the decompression of data from inside many "Setup" or "Installer" or "Extract" type programs without having to launch them

  • Unpacking archives with corrupted filenames, renaming the files as required

  • Create self-extracting single-volume archives

  • Command-line interface[22]

  • Graphical user interface. The Windows version comes with its own GUI; however, p7zip uses the GUI of the Unix/Linux Archive Manager.[23]

Security

On older versions Self-extracting archives were vulnerable to arbitrary code execution through DLL hijacking: they load and run a DLL named UXTheme.dll, if it is in the same folder as the executable file.[24][25][26] 7-Zip 16.03 Release notes say that the installer and SFX modules have added protection against DLL preloading attack.[27]

Versions of 7-Zip prior to 18.05 contain an arbitrary code execution vulnerability in the module for extracting files from RAR archives (CVE-2018-10115), a vulnerability that was fixed on 30 April 2018.[28]

Reception and usage

Snapfiles.com in 2012 rated 7-Zip 4.5 stars out of 5, noting, "[its] interface and additional features are fairly basic, but the compression ratio is outstanding".[29]

On TechRepublic in 2009, Justin James found the detailed settings for Windows File Manager integration were "appreciated" and called the compression-decompression benchmark utility "neat". And though the archive dialog has settings that "will confound most users", he concluded: "7-Zip fits a nice niche in between the built-in Windows capabilities and the features of the paid products, and it is able to handle a large variety of file formats in the process."[30]

Between 2002 and 2016, 7-Zip was downloaded 410 million times from SourceForge alone.[31]

The software has received awards. In 2007, SourceForge.net granted it community choice awards for "Technical Design" and for "Best Project".[32] In 2013, 7-Zip received Tom's Hardware Elite award due to superiority in speed and compression ratio.[33]

See also

  • Comparison of archive formats

  • Comparison of file archivers

  • List of archive formats

References

[1]
Citation Linkweb.archive.org"A Few Questions for Igor Pavlov". Dr. Dobb's Data Compression Newsletter (middle of page). 30 April 2003. Retrieved 26 December 2009.
Sep 27, 2019, 3:07 PM
[2]
Citation Linkwww.7-zip.org"History of 7-zip changes". 7-Zip. 30 December 2018. Retrieved 30 December 2018.
Sep 27, 2019, 3:07 PM
[3]
Citation Linkwww.7-zip.org"7-Zip download page". 7-Zip. 21 February 2019. Retrieved 21 February 2019.
Sep 27, 2019, 3:07 PM
[4]
Citation Linksourceforge.net"P7ZIP SourceForge". SourceForge.net. January 2016. Retrieved 7 March 2016.
Sep 27, 2019, 3:07 PM
[5]
Citation Linkwww.reactos.org"Tests for ReactOS 0.4.11".
Sep 27, 2019, 3:07 PM
[6]
Citation Linksourceforge.net"7-Zip - Browse /7-Zip/16.00". SourceForge.net. Slashdot Media. 10 April 2016. Retrieved 12 May 2016.
Sep 27, 2019, 3:07 PM
[7]
Citation Linkopenlibrary.orgOptions... dialog box of 7-Zip for Windows 16.00
Sep 27, 2019, 3:07 PM
[8]
Citation Linkweb.archive.orgPavlov, Igor (2010). "7-Zip License for use and distribution". 7-zip.org/. Archived from the original on 10 April 2010. Retrieved 16 April 2010.
Sep 27, 2019, 3:07 PM
[9]
Citation Linkwww.7-zip.orgPavlov, Igor (2013). "LZMA SDK (Software Development Kit)". Retrieved 16 June 2013.
Sep 27, 2019, 3:07 PM
[10]
Citation Linkp7zip.sourceforge.net"P7ZIP". SourceForge.net. February 2009. Retrieved 16 April 2010.
Sep 27, 2019, 3:07 PM
[11]
Citation Linkwww.7-zip.orgPavlov, Igor. "7-Zip". 7-zip.org. Retrieved 31 October 2012.
Sep 27, 2019, 3:07 PM
[12]
Citation Linkwww.7-zip.orgPavlov, Igor. "7-Zip – License for use and distribution". 7-zip.org. Retrieved 31 October 2012.
Sep 27, 2019, 3:07 PM
[13]
Citation Linkweb.archive.orgDiaz, Antonio Diaz. "Lzip". LZip.NonGNU.org. Archived from the original on 29 July 2010. Retrieved 29 July 2010.
Sep 27, 2019, 3:07 PM
[14]
Citation Linkwww.7-zip.orgPavlov, Igor. "7z Format". 7-zip.org. Retrieved 16 April 2017.
Sep 27, 2019, 3:07 PM
[15]
Citation Linkfile-compression-software-review.toptenreviews.com"7-Zip 2011 – TopTenREVIEWS". Archived from the original on 25 October 2012.
Sep 27, 2019, 3:07 PM
[16]
Citation Linkweb.archive.orgIgor Pavlov. "7-Zip (home page)". 7-zip.org. Archived from the original on 21 January 2002. Statement on compression performance very similar in January 2002 and April 2017.
Sep 27, 2019, 3:07 PM
[17]
Citation Linksourceforge.netPavlov, Igor. "7-Zip 15.06 beta release notes".
Sep 27, 2019, 3:07 PM
[18]
Citation Linkajqi.comVijay (11 May 2013). "How to extract files from a Nandroid Backup". AJQI. Retrieved 16 April 2017.
Sep 27, 2019, 3:07 PM
[19]
Citation Linksourceforge.net"Browse /LZMA SDK/4.23". Sourceforge. Retrieved 12 February 2014.
Sep 27, 2019, 3:07 PM
[20]
Citation Linkwww.winzip.com"AES Encryption Information: Encryption Specification AE-1 and AE-2". WinZip. 30 January 2009.
Sep 27, 2019, 3:07 PM