A single C source file library implementing zlib compression, PNG writing, and ZIP archive manipulation with MIT licensing.
Miniz is a lossless data compression library implemented in a single C source file that provides zlib-compatible compression and decompression functionality. It solves the problem of needing a portable, lightweight compression library with flexible licensing by offering an independent implementation of the zlib/Deflate standards along with additional utilities for PNG image writing and ZIP archive manipulation.
C/C++ developers working on embedded systems, mobile applications, games, or any project requiring a simple, portable compression library without zlib's licensing constraints.
Developers choose Miniz over alternatives because it provides zlib-compatible functionality in a single file with MIT licensing, includes useful extras like PNG and ZIP support, and offers excellent portability and tuning options for resource-constrained environments.
miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses the MIT license, avoiding zlib's licensing requirements and making it suitable for a wide range of commercial and open-source projects, as highlighted in the description.
Implemented as just miniz.c and miniz.h, allowing easy drop-in integration without complex build systems, which simplifies deployment in embedded and mobile environments.
Tested as a drop-in replacement for zlib's most used APIs with projects like libpng and libzip, facilitating seamless migration from zlib with minimal code changes.
Supports coroutine-style stream processing for incremental compression and decompression, enabling handling of data a byte at a time, ideal for real-time applications.
Includes built-in functions for writing PNG images and manipulating ZIP archives, adding practical value beyond standard compression for game and embedded development.
Lacks support for encrypted ZIP archives, as admitted in the 'Known Problems' section, which limits its use in security-sensitive scenarios.
The README notes minimal documentation, assuming familiarity with zlib API, so newcomers may struggle without prior compression library experience.
Only implements the most used zlib APIs, not the full suite, which could require workarounds for projects relying on less common functions.
Miniz is an open-source alternative to the following products: