Free Compression and Archiving Libraries
Add the ability to compress, decompress and archive to your applications
Free Compression and Archiving Libraries and Source Code
This page lists free compression and archiving source code, libraries, DLLs, VCLs, components, etc, that you can include in your applications in order to give it the capability to compress and decompress files, archive and extract files, etc.
Note: if you are looking for complete applications, that is free archivers and compression utilities, you should check out the Free File Archivers and File Compression Utilities page instead.
Related Pages
- How to Make / Create a Website: The Beginner's A-Z Guide - make one for your software
- Free Games Programming Source Code and Libraries
- Free Graphics Libraries, 3D/2D Engines, Image/Drawing Sources
- Free Sockets, Winsock, TCP/IP, Internet Libraries
- Free Audio, Sound, Voice and Music Libraries
- Free GUI Libraries
- Free Database Libraries, ODBC Drivers, SQL Servers
- Free Numerical, Statistical and Mathematical Libraries
- Free C/C++ Libraries
- Free Pascal Libraries
- Programming Language Grammars - write your own compiler
Free Compression and Archiving Libraries and Source Code
- libarchive
The libarchive library reads zip (including encrypted zip), tar (GNU tar, V7 tar, Solaris extended tar, etc), ar (GNU and BSD), RAR (with limitations), LHA, LZH, 7-Zip, Microsoft CAB, XAR, cpio (POSIX octet-oriented, SVR4 ASCII, binary), ISO9660 CD-ROM images (with or without Rockridge or Joliet extensions), etc. It can write/create archives in the following formats: ZIP, ISO9660, 7-Zip, XAR, shar, cpio (POSIX octet-oriented, SVR4 "newc"), tar (old GNU, V7, etc), and so on. It can even automatically handle archives that are uuencoded, or have an RPM wrapper, compressed with gzip, bzip2, lzma, lzip, lz4 (etc), and do the reverse when creating archives. The library is generally thread safe (except on platforms that don't provide thread-safe versions of key C library functions) but not thread-aware (it doesn't do any locking; you have to do it yourself). It does not support random access to the archive or in-place modification, since it processes the archive as a stream. Systems supported include POSIX-like systems like Linux, FreeBSD, Solaris, and so on, as well as Windows (with support for the compilers from Cygwin, MinGW and Visual Studio). The source code is released under the BSD licence.
- Basic Compression Library
This library includes implementations of a number of well-known lossless compression algorithms, namely, RLE (Run Length Encoding), Shannon-Fano, Huffman, Rice and Lempel-Ziv (LZ77). Encoder and decoder functions exist for each of these algorithms, and they work on memory buffers that your main application allocates prior to calling those functions (that is, they do not do any external file I/O nor allocate any memory themselves). The library is open source, written in C, and released under the zlib/libpng licence (a very liberal open source licence) (or "license" if you use a different variant of English).
- ZLIB Compression Library (PKZIP/GZIP Compression)
This is an excellent free C library that allows you to compress and decompress any buffer or file using the inflate/deflate method used by PKZIP, InfoZIP and others. As far as I can tell, you can use the code in the library freely in your programs without paying a cent in royalties. The library is apparently used in the Java archiver, jar. You can use this library on a large number of systems, including Win16, Win32, Linux, Unix, MSDOS, etc.
- UCL Portable Lossless Compression Library
UCL is a portable lossless data compression library. It is available in ANSI C source code form under the GNU GPL. The author claims that the decompression is simple, extremely fast and requires no memory. The decompression code can be squeezed into 200 bytes of code. It looks like it is a good candidate if you are writing applications that must execute in tight memory conditions, and don't mind releasing the source code for your application (which is required by the GNU General Public License).
- Bzip2 Lossless Compression Library
Bzip2 is a portable, patent-free, lossless data compression program and library (libbzip2). The author claims that it runs on "practically every (32bit/64bit) platform in the known universe" (including of course Linux and Windows). It is based on the Burrows-Wheeler transform and comes with a BSD-style licence. Full source code is available, along with pre-compiled binaries for a number of operating systems.
- libmspack
libmspack is a library that allows your programs to handle the compression and decompression of various archives used by Microsoft in its programs (ie, it handles the file formats used by compress.exe, Microsoft Help, Microsoft Cabinet (CAB), HTML Help, Microsoft eBook). The library is licensed under the GNU LGPL. I'm not sure how portable the library is, but since its distribution package (at the time I write this) is a gzipped tar ball (ie, *.tar.gz), I assume it at least works under some Unix system or clone.
- TurboPower Abbrevia
TurboPower's Abbrevia allows your applications to handle various industry standard compression and archiving methods - PKZIP (including PKZIP4), Microsoft CAB, tar, and gzip. There are CLX, VCL and COM components, allowing you to use it with Delphi (Windows), Kylix (Linux), C++Builder and any tool that can interface with COM objects (such as Microsoft Visual Basic, etc). The components also support ZIP files that span multiple archive files, self-extracting ZIP files, comments in ZIP files, integrity checks on ZIP files, etc.
- Delphi Zip
Available at this site are DLL's, VCL's, examples and full source code for Borland's C++ Builder and Delphi that allows you to make PKZIP compatible ZIP archives from within your application. The source code is also available and licensed under the GNU LGPL. A port of this Windows library is planned (at the time of this writing) for the Linux/Kyrix platform as well.
- DjVuLibre Document and Image Compression Library
DjVu is a compression library specifically designed for images, digital documents and scanned documents. It was originally developed by AT&T. DjVuLibre is the open source implementation, released under GPL and includes various utilities (decoders, encoders, browser plugins, viewers). Precompiled binaries can be found for Linux, Irix and Solaris.
- LZO Compression Library
A compression library with source code released under the GNU General Public License. Its purported advantage over zlib (see elsewhere on this page) is that it is fast and has a small memory footprint. An even smaller memory footprint version, called miniLZO is also available, allowing you to include compression in your applications at the cost of a very small increase in executable size (about 6kb on an i386, according to the website).
- Unrarlib (Archiving and Compression)
[Update: according to their website, this project is now inactive.] This library allows you to read files from RAR archives (only the RAR2 format) created with RAR and WinRAR. It supports decompression and decryption, and the library code is statically linked with your application (no external DLLs). Supported operating systems include Win32, SunOS and Linux. It is available (at the time of this writing) under two licenses (at your option), the GNU GPL as well as another that allows you to integrate the library in your application without providing source code. (Update: as of October 2007, this project is inactive.)
Related Pages
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
- Free Setup Utilities - make your app user-friendly
- Compiler Construction Tools - Create Your Own Programming Language Compiler
- Free Version Control Software - manage multiple versions the smart way
- Keyword Density in Search Engine Promotion
- Which Web Host Do You Recommend? (FAQ)
Newest Pages
- How to Convert Your Website from XHTML 1.0 to HTML5 the Quick and Easy Way
- How to Set the Height of a DIV Relative to a Browser Window (CSS)
- Free EPUB Readers (Ebook Viewing Software)
- How to Generate the Free Let's Encrypt SSL Certificate on Your Own (Windows) Computer
- How to Insert Meta Tags into a Web Page with BlueGriffon
- How to Play a Song (or Some Other Audio Clip) from a List on a Website
- Two Ways to View a Binary File on Windows Without Installing Anything
- How to Draw a Horizontal Line on a Web Page with Expression Web
- How to Create a Website Free of Charge
- Why Can't I Make Up Any Domain I Want? Is There a Way to Do Away with a Registrar Altogether?
How to Link to This Page
It will appear on your page as:
Free Compression and Archiving Libraries and Source Code