A modern, cross-platform C library for creating, reading, and modifying ZIP archives with extensive compression and encryption support.
minizip-ng is a cross-platform C library for programmatically creating, reading, and modifying ZIP archives. It solves the need for a modern, maintained, and feature-complete alternative to the aging original minizip, offering extensive compression algorithms, encryption standards, and support for large files and Unicode.
C/C++ developers and software engineers who need to integrate ZIP archive functionality into applications, tools, or embedded systems across Windows, macOS, and Linux platforms.
Developers choose minizip-ng for its active maintenance, comprehensive feature set (including modern compression like ZSTD and strong AES encryption), strict cross-platform compatibility, and a clean API that remains backward-compatible with the original minizip.
Fork of the popular zip manipulation library found in the zlib distribution.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Zlib, BZIP2, LZMA, PPMD, XZ, and ZSTD, allowing developers to choose the best compression for their needs, as detailed in the features list.
Includes both PKWARE and WinZIP AES encryption, providing robust security options for password-protected archives.
Runs on Windows, macOS, and Linux with a compatibility layer for original minizip API, ensuring wide adoption and easy migration.
Maintained with continuous integration, fuzzing tests, and regular updates, addressing long-standing issues from the original minizip.
Requires CMake and can fetch multiple third-party libraries (e.g., bzip2, liblzma, zstd) based on options, increasing setup complexity and potential binary bloat.
As a C library, it forces developers to handle memory management and error checking directly, lacking high-level abstractions for simpler integration.
Beyond basic examples, developers must rely on source code or community help for complex tasks like custom streaming or advanced encryption setups.