Best 7-Zip Ultra Compression Settings
Achieving the highest possible compression ratio in 7-Zip requires adjusting specific parameters beyond the default presets to maximize space savings at the expense of processing time and memory usage. This guide outlines the exact settings—including archive format, dictionary size, word size, and solid block options—needed to produce the smallest file sizes possible.
Recommended Settings for Maximum Compression
To achieve maximum compression, open the 7-Zip compression dialog and apply the following values:
Archive format:
7z
The native.7zcontainer is required, as it supports modern algorithms like LZMA and LZMA2 alongside solid archiving, offering significantly higher compression than formats like.zip.Compression level:
Ultra
This sets the base search depth and match-finding algorithms to their maximum computational effort.Compression method:
LZMA2
LZMA2 is recommended for modern multi-core processors. It provides compression ratios nearly identical to the original LZMA while properly utilizing multi-threading. If maximum absolute compression on a single stream is desired regardless of speed, originalLZMAcan occasionally yield marginally smaller files.Dictionary size:
64 MBto1024 MB(RAM dependent)
A larger dictionary size allows the algorithm to find duplicate patterns across greater distances within the data. Set this to the highest value your system memory permits. Note that compression requires approximately 10 to 12 times the dictionary size in RAM, while decompression requires only the dictionary size itself. For example, a 64 MB dictionary requires around 700 MB of RAM to compress, while a 1024 MB dictionary can require up to 10–12 GB of available RAM.Word size:
273
Set the word size to the absolute maximum of 273. This parameter defines the maximum sequence length 7-Zip searches for to identify repeating patterns. Increasing this value increases compression time, but reduces output file size.Solid Block size:
Solid
Selecting "Solid" treats all files in the archive as a single, continuous stream of data. This dramatically improves compression when archiving multiple files of similar formats, as the compressor can find patterns spanning across multiple files.Number of CPU threads: Adjusted to available RAM
Because LZMA2 allocates dictionary memory per thread chunk, reducing the number of active threads lowers total memory consumption, allowing you to use a larger dictionary size if RAM is constrained.
Advanced Parameters for Executables and Binaries
For archives containing mixed executables (such as x86 Windows binaries and DLLs), you can add the following to the Parameters box at the bottom of the window:
f=BCJ2
The BCJ2 filter specifically transforms 32-bit x86 machine instructions (such as jumps and calls) into relative addresses, significantly improving LZMA's ability to compress executable code.