{"id":15132653,"url":"https://github.com/mcmilk/7-zip-zstd","last_synced_at":"2025-05-13T18:06:26.796Z","repository":{"id":37502864,"uuid":"61958135","full_name":"mcmilk/7-Zip-zstd","owner":"mcmilk","description":"7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard","archived":false,"fork":false,"pushed_at":"2025-04-15T14:38:00.000Z","size":21828,"stargazers_count":5619,"open_issues_count":13,"forks_count":325,"subscribers_count":92,"default_branch":"master","last_synced_at":"2025-05-07T11:56:23.751Z","etag":null,"topics":["7-zip","7z","7zip","archiver","brotli","flzma2","lizard","lz4","lz5","lzip","lzma","lzma2","zstandard","zstd"],"latest_commit_sha":null,"homepage":"https://mcmilk.de/projects/7-Zip-zstd/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcmilk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://www.paypal.me/TinoReichardt"]}},"created_at":"2016-06-25T19:19:58.000Z","updated_at":"2025-05-07T06:07:43.000Z","dependencies_parsed_at":"2023-02-09T23:15:50.593Z","dependency_job_id":"9b1adae8-f0af-45d9-9a7d-5bef4bdb9438","html_url":"https://github.com/mcmilk/7-Zip-zstd","commit_stats":{"total_commits":545,"total_committers":18,"mean_commits":30.27777777777778,"dds":0.4073394495412844,"last_synced_commit":"6fcbf6c8d46ddb586cad8b04004d907a595df23f"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcmilk%2F7-Zip-zstd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcmilk%2F7-Zip-zstd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcmilk%2F7-Zip-zstd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcmilk%2F7-Zip-zstd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcmilk","download_url":"https://codeload.github.com/mcmilk/7-Zip-zstd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000846,"owners_count":21997441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["7-zip","7z","7zip","archiver","brotli","flzma2","lizard","lz4","lz5","lzip","lzma","lzma2","zstandard","zstd"],"created_at":"2024-09-26T04:22:08.038Z","updated_at":"2025-05-13T18:06:26.775Z","avatar_url":"https://github.com/mcmilk.png","language":"C","funding_links":["https://www.paypal.me/TinoReichardt"],"categories":[],"sub_categories":[],"readme":"\n# README\n\nThis is the Github Page of [7-Zip] ZS with support of additional Codecs. The library used therefore is located here: [Multithreading Library](https://github.com/mcmilk/zstdmt)\n\nYou can install it in two ways:\n1. complete setup with additions within the GUI and a modified Explorer context menu\n2. only the codec plugin that goes to your existing [7-Zip] installation (no GUI changes and no additional Hashers)\n\n# Status\n\n[![Latest stable release](https://img.shields.io/github/release/mcmilk/7-Zip-zstd.svg)](https://github.com/mcmilk/7-Zip-zstd/releases)\n[![PayPal.me](https://img.shields.io/badge/PayPal-me-blue.svg?maxAge=2592000)](https://www.paypal.me/TinoReichardt)\n\n\n## Codec overview\n1. [Zstandard] v1.5.7 is a real-time compression algorithm, providing high compression ratios. It offers a very wide range of compression / speed trade-off, while being backed by a very fast decoder.\n   - Levels: 1..22\n\n2. [Brotli] v.1.1.0 is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.\n   - Levels: 0..11\n\n3. [LZ4] v1.9.4 is lossless compression algorithm, providing compression speed at 400 MB/s per core (0.16 Bytes/cycle). It features an extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle). A high compression derivative, called LZ4_HC, is available, trading customizable CPU time for compression ratio.\n   - Levels: 1..12\n\n4. [LZ5] v1.5 is a modification of LZ4 which was meant for a better ratio at cost of slower compression and decompression. It's superseded by [Lizard] now.\n   - Levels: 1..15\n\n5. [Lizard] v1.0 is an efficient compressor with fast decompression. It achieves compression ratio that is comparable to zip/zlib and zstd/brotli (at low and medium compression levels) at decompression speed of 1000 MB/s and faster.\n   - Levels 10..19 (fastLZ4) are designed to give about 10% better decompression speed than LZ4\n   - Levels 20..29 (LIZv1) are designed to give better ratio than LZ4 keeping 75% decompression speed\n   - Levels 30..39 (fastLZ4 + Huffman) adds Huffman coding to fastLZ4\n   - Levels 40..49 (LIZv1 + Huffman) give the best ratio, comparable to zlib and low levels of zstd/brotli, but with a faster decompression speed\n\n6. [Fast LZMA2] v1.0.1 is a LZMA2 compression algorithm, 20% to 100% faster than normal LZMA2 at levels 5 and above, but with a slightly lower compression ratio. It uses a parallel buffered radix matchfinder and some optimizations from Zstandard. The codec uses much less additional memory per thread than standard LZMA2.\n   - Levels: 1..9\n\n## 7-Zip Zstandard Edition (full setup, with GUI and Explorer integration)\n\n### Installation (via setup)\n1. download the setup from here [7-Zip ZS Releases](https://github.com/mcmilk/7-Zip-zstd/releases)\n2. install it, like the default [7-Zip]\n3. use it ;)\n4. you may check, if the [7-Zip] can deal with [Zstandard] or other codecs via this command: `7z.exe i`\n\nThe output should look like this:\n```\n7-Zip 24.09 ZS v1.5.7 (x64) : Copyright (c) 1999-2022 Igor Pavlov, 2016-2023 Tino Reichardt : 2023-06-18\n\nLibs:\n 0  c:\\Program Files\\7-Zip-Zstandard\\7z.dll\n 1  C:\\Program Files\\7-Zip-Zstandard\\Codecs\\Iso7z.64.dll\n \nFormats:\n...\n 0 CK            xz       xz txz (.tar) FD 7 z X Z 00\n 0               Z        z taz (.tar)  1F 9D\n 0 CK            zstd     zst zstd tzst (.tar) tzstd (.tar) 0 x F D 2 F B 5 2 5 . . 0 x F D 2 F B 5 2 8 00\n 0 C   F         7z       7z            7 z BC AF ' 1C\n 0     F         Cab      cab           M S C F 00 00 00 00\n...\n\nCodecs:\n 0 4ED   303011B BCJ2\n 0  EDF  3030103 BCJ\n 0  EDF  3030205 PPC\n 0  EDF  3030401 IA64\n 0  EDF  3030501 ARM\n 0  EDF  3030701 ARMT\n 0  EDF  3030805 SPARC\n 0  EDF    20302 Swap2\n 0  EDF    20304 Swap4\n 0  ED     40202 BZip2\n 0  ED         0 Copy\n 0  ED     40109 Deflate64\n 0  ED     40108 Deflate\n 0  EDF        3 Delta\n 0  ED        21 LZMA2\n 0  ED     30101 LZMA\n 0  ED     30401 PPMD\n 0   D     40301 Rar1\n 0   D     40302 Rar2\n 0   D     40303 Rar3\n 0   D     40305 Rar5\n 0  ED   4F71102 BROTLI\n 0  ED   4F71104 LZ4\n 0  ED   4F71106 LIZARD\n 0  ED   4F71105 LZ5\n 0  ED   4F71101 ZSTD\n 0  ED        21 FLZMA2\n 0  EDF  6F10701 7zAES\n 0  EDF  6F00181 AES256CBC\n\nHashers:\n 0   32      202 BLAKE2sp\n 0   32      204 BLAKE3\n 0    4        1 CRC32\n 0    8        4 CRC64\n 0   16      205 MD2\n 0   16      206 MD4\n 0   16      207 MD5\n 0   20      201 SHA1\n 0   32        A SHA256\n 0   48      208 SHA384\n 0   64      209 SHA512\n 0   32      20A SHA3-256\n 0   48      20B SHA3-384\n 0   64      20C SHA3-512\n 0    4      20D XXH32\n 0    8      20E XXH64\n```\n\n### Usage and features of the full installation\n\n- compression and decompression for [Brotli], [Lizard], [LZ4], [LZ5] and [Zstandard] within the [7-Zip] container format\n- compression and decompression of [Brotli] (`.br`), [Lizard] (`.liz`), [LZ4] (`.lz4`), [LZ5] (`.lz5`) and [Zstandard] (`.zst`) files\n- handling of ZIP files with [Zstandard] compression\n- included [lzip] decompression support, patch from: https://download.savannah.gnu.org/releases/lzip/7zip/\n- explorer context menu: _\"Add to xy.7z\"_ will use all parameters of the last \"Add to Archive\" compression dialog (this includes: method, level, dictionary, blocksize, threads and paramters input box)\n- squashfs files with LZ4 or Zstandard compression can be handled\n- several history settings aren't stored by default, look [here](https://sourceforge.net/p/sevenzip/discussion/45797/thread/dc2ac53d/?limit=25) for some info about that, you can restore original 7-Zip behavior via `tools-\u003eoptions-\u003esettings`\n- these hashes can be calculated: CRC32, CRC64, MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512, SHA3-256, SHA3-384, SHA3-512, XXH32, XXH64, BLAKE2sp, BLAKE3 (lowercase or uppercase)\n\n```\n7z a archiv.7z -m0=zstd -mx0   Zstandard Fastest Mode, without BCJ preprocessor\n7z a archiv.7z -m0=zstd -mx1   Zstandard Fast mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=zstd -mx..  ...\n7z a archiv.7z -m0=zstd -mx21  Zstandard 2nd Slowest Mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=zstd -mx22  Zstandard Ultra Mode, with BCJ preprocessor on executables\n\n7z a archiv.7z -m0=lz4 -mx0   LZ4 Fastest Mode, without BCJ preprocessor\n7z a archiv.7z -m0=lz4 -mx1   LZ4 Fast mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=lz4 -mx..  ...\n7z a archiv.7z -m0=lz4 -mx12  LZ4 Ultra Mode, with BCJ preprocessor on executables\n\n7z a archiv.7z -m0=lz5 -mx0   LZ5 Version 1.5 Fastest Mode, without BCJ preprocessor\n7z a archiv.7z -m0=lz5 -mx1   LZ5 Version 1.5 Fast mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=lz5 -mx..  ...\n7z a archiv.7z -m0=lz5 -mx16  LZ5 Version 1.5 Ultra Mode, with BCJ preprocessor on executables\n\n7z a archiv.7z -m0=flzma2 -mx1   Fast LZMA2 Fastest mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=flzma2 -mx..  ...\n7z a archiv.7z -m0=flzma2 -mx9   Fast LZMA2 Ultra Mode, with BCJ preprocessor on executables\n\n7z x -so test.tar.zst | 7z l -si -ttar\n-\u003e show contents of zstd compressed tar archive test.tar.zst\n\n7z x -so test.tar.lz | 7z l -si -ttar\n-\u003e show contents of lzip compressed tar archive test.tar.lz\n```\n\n![Explorer inegration](https://mcmilk.de/projects/7-Zip-zstd/Add-To-Archive.png \"Add to Archive Dialog with ZSTD options\")\n![File Manager](https://mcmilk.de/projects/7-Zip-zstd/Fileman.png \"File Manager with the Listing of an Archive\")\n![Methods](https://mcmilk.de/projects/7-Zip-zstd/Methods2.png \"Methods\")\n![Hashes](https://mcmilk.de/projects/7-Zip-zstd/Hashes.png \"Hashes\")\n![Settings](https://mcmilk.de/projects/7-Zip-zstd/Settings.png \"Settings for storing the history within the registry.\")\n\n## Zstandard codec Plugin for Mainline 7-Zip\n\n### Installation (via plugin)\n\n1. download the `Codecs.7z` archive from here [7-Zip ZS Releases](https://github.com/mcmilk/7-Zip-zstd/releases), this archive holds binaries, which are compatible with the Mainline version of [7-Zip]\n2. create a new directory named `Codecs` and put in there the zstd-x32.dll or the zstd-x64.dll, depending on your [7-Zip] installation\n   - normally, the x32 should go to: \"C:\\Program Files (x86)\\7-Zip\\Codecs\"\n   - the x64 version should go in here: \"C:\\Program Files\\7-Zip\\Codecs\"\n3. you could also replace the `7z.dll` directly within `C:\\Program Files (x86)\\7-Zip`\n4. then you may check if the dll is correctly installed via this command: `7z.exe i`\n\nThe output should look like this:\n```\n7-Zip 21.03 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-05-06\n\nLibs:\n 0  C:\\Program Files\\7-Zip\\7z.dll\n\nLibs:\n 0  c:\\Program Files\\7-Zip\\7z.dll\n 1  c:\\Program Files\\7-Zip\\Codecs\\brotli-x64.dll\n 2  c:\\Program Files\\7-Zip\\Codecs\\flzma2-x64.dll\n 3  c:\\Program Files\\7-Zip\\Codecs\\lizard-x64.dll\n 4  c:\\Program Files\\7-Zip\\Codecs\\lz4-x64.dll\n 5  c:\\Program Files\\7-Zip\\Codecs\\lz5-x64.dll\n 6  c:\\Program Files\\7-Zip\\Codecs\\zstd-x64.dll\n\n...\n\nCodecs:\n 0 4ED  303011B BCJ2\n 0  ED  3030103 BCJ\n 0  ED  3030205 PPC\n 0  ED  3030401 IA64\n 0  ED  3030501 ARM\n 0  ED  3030701 ARMT\n 0  ED  3030805 SPARC\n 0  ED    20302 Swap2\n 0  ED    20304 Swap4\n 0  ED    40202 BZip2\n 0  ED        0 Copy\n 0  ED    40109 Deflate64\n 0  ED    40108 Deflate\n 0  ED        3 Delta\n 0  ED       21 LZMA2\n 0  ED    30101 LZMA\n 0  ED    30401 PPMD\n 0   D    40301 Rar1\n 0   D    40302 Rar2\n 0   D    40303 Rar3\n 0   D    40305 Rar5\n 0  ED  6F10701 7zAES\n 0  ED  6F00181 AES256CBC\n 1  ED  4F71102 BROTLI\n 2  ED       21 FLZMA2\n 3  ED  4F71106 LIZARD\n 4  ED  4F71104 LZ4\n 5  ED  4F71105 LZ5\n 6  ED  4F71101 ZSTD\n```\n\n### Usage (codec plugin)\n\n- compression and decompression for [Brotli], [Fast LZMA2], [Lizard], [LZ4], [LZ5] and [Zstandard] within the 7-Zip container format\n- you can only create `.7z` files, the files like `.lz4`, `.lz5` and `.zst` are not covered by the plugins\n- when compressing binaries (*.exe, *.dll), you have to explicitly disable the bcj2 filter via `-m0=bcj`,\n  when using only the plugin dll's\n- so the usage should look like this:\n```\n7z a archiv.7z -m0=bcj -m1=zstd -mx1   Fast mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=bcj -m1=zstd -mx..  ...\n7z a archiv.7z -m0=bcj -m1=zstd -mx21  2nd Slowest Mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=bcj -m1=zstd -mx22  Ultra Mode, with BCJ preprocessor on executables\n7z a archiv.7z -m0=bcj -m1=brotli -mxN  ...\n7z a archiv.7z -m0=bcj -m1=lizard -mxN  ...\n7z a archiv.7z -m0=bcj -m1=lz4 -mxN  ...\n7z a archiv.7z -m0=bcj -m1=lz5 -mxN  ...\n7z a archiv.7z -m0=bcj -m1=flzma2 -mxN  ...\n```\n\n## Codec Plugin for Total Commander\n- download [TotalCmd.7z]\n- install it, by replacing the files `tc7z.dll` and `tc7z64.dll` with the new ones\n- you can check the Total Commander Forum for more information about this [DLL Files](https://ghisler.ch/board/viewtopic.php?p=319216)\n- decompression for [Brotli], [Lizard], [LZ4], [LZ5] and [Zstandard] ot the 7-Zip `.7z` format\n  will work out of the box with Total Commander now :-)\n\n## Codec Plugin for Far Manager\n- copy the `7z.dll` file from `C:\\Program Files\\7-Zip-Zstandard\\7z.dll` to `C:\\Program Files\\Far Manager\\Plugins\\ArcLite\\7z.dll`\n- then restart the Far manager - and on next start, you will have support for 7-Zip Zstandard archives ;-)\n\n## Benchmarks\n\nFor the benchmarks I am using Windows 7 64bit on my Laptop which has the following Hardware:\n- Intel i7-3632QM, limited to 2,2GHz, 16GB RAM, disabled swap space\n- the compression benchmark is read / written to an 4 GiB [ImDisk]\n- the decompression benchmark is also done in RAM via: `7z t archiv.7z`\n- the tool for measuring the times is [wtime](https://github.com/mcmilk/wtime), together with some [scripts](https://github.com/mcmilk/7-Zip-Benchmarking)\n- the testfile is generated via [generate-mcorpus](https://github.com/mcmilk/7-Zip-Benchmarking/blob/master/generate-mcorpus)\n- please note, that the benchmarks are outdated now (new one will come, but it needs some time)\n\n![Compression Speed vs Ratio](https://mcmilk.de/projects/7-Zip-zstd/dl/compr-v120.png \"Compression Speed vs Ratio\")\n![Decompression Speed](https://mcmilk.de/projects/7-Zip-zstd/dl/decomp-v120.png \"Decompression Speed per Level\")\n![Memory at Compression](https://mcmilk.de/projects/7-Zip-zstd/dl/MemCompr.png \"Memory usage at Compression\")\n![Memory at Decompression](https://mcmilk.de/projects/7-Zip-zstd/dl/MemDecomp.png \"Memory usage at Decompression\")\n\n\n## Themes\n\n- FileManager Toolbar Icon Theme: Glyfz 2016 by AlexGal [homepage](https://www.deviantart.com/alexgal23)\n- File Types Icon Theme: Windows 10 by masamunecyrus [homepage](https://www.deviantart.com/masamunecyrus)\n- Additional icons file types created by Mr4Mike4 [homepage](https://github.com/Mr4Mike4)\n\n## License and Redistribution\n\n- The same as the Mainline [7-Zip], which means most of the code is GNU LGPL v2.1-or-later\n- Read [COPYING](COPYING) for more details\n\n## Links\n\n- [7-Zip Homepage](https://www.7-zip.org/)\n- [7-Zip Zstandard Homepage](https://mcmilk.de/projects/7-Zip-zstd/)\n- [Request for inclusion](https://sourceforge.net/p/sevenzip/discussion/45797/thread/a7e4f3f3/) into the mainline 7-Zip:\n  - result, will currently not included :(\n- [p7zip Homepage](https://github.com/jinfeihan57/p7zip) - for Linux and MacOS with LZ4 and Zstandard\n\n## Donate\n\nYou find this project useful, maybe you consider a donation ;-)\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.me/TinoReichardt)\n\n## Version Information\n\n- 7-Zip ZS Version 24.09\n  - [Brotli] Version 1.1.0\n  - [Fast LZMA2] Version 1.0.1\n  - [Lizard] Version 1.0\n  - [LZ4] Version 1.9.4\n  - [LZ5] Version 1.5\n  - [Zstandard] Version 1.5.7\n\n/TR 2025-02-26\n\n## Notes\n\n- if you want an code signed installer, you need to donate sth.\n\n[7-Zip]:https://www.7-zip.org/\n[lzip]:https://www.nongnu.org/lzip/\n[Brotli]:https://github.com/google/brotli/\n[BLAKE3]:https://github.com/BLAKE3-team/BLAKE3\n[LZ4]:https://github.com/lz4/lz4/\n[LZ5]:https://github.com/inikep/lz5/\n[Zstandard]:https://github.com/facebook/zstd/\n[Lizard]:https://github.com/inikep/lizard/\n[ImDisk]:https://sourceforge.net/projects/imdisk-toolkit/\n[Fast LZMA2]:https://github.com/conor42/fast-lzma2\n[Codecs.7z]:https://github.com/mcmilk/7-Zip-zstd/releases\n[TotalCmd.7z]:https://github.com/mcmilk/7-Zip-zstd/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcmilk%2F7-zip-zstd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcmilk%2F7-zip-zstd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcmilk%2F7-zip-zstd/lists"}