Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. Minizip

Minizip

NOASSERTIONC4.2.1

A modern, cross-platform C library for creating, reading, and modifying ZIP archives with extensive compression and encryption support.

GitHubGitHub
1.5k stars489 forks0 contributors

What is Minizip?

minizip-ng is a ZIP archive manipulation library written in C, serving as a modern, maintained fork of the original minizip from the zlib distribution. It enables developers to programmatically create, extract, and modify ZIP files with support for multiple compression algorithms, encryption standards, and advanced features like large file handling and Unicode. The project solves the need for an up-to-date, feature-complete, and cross-platform ZIP library that addresses bugs and limitations of the older codebase.

Target Audience

System programmers, embedded developers, and software engineers working in C or C++ who need reliable, high-performance ZIP file handling in their applications, especially those targeting multiple operating systems.

Value Proposition

Developers choose minizip-ng for its extensive feature set, active maintenance, and cross-platform reliability. Its unique selling points include support for modern compression methods like ZSTD, strong WinZIP AES encryption, a clean refactored codebase for better maintainability, and a compatibility layer for easy migration from the original minizip.

Overview

Fork of the popular zip manipulation library found in the zlib distribution.

Use Cases

Best For

  • Adding ZIP compression/decompression to cross-platform C/C++ applications
  • Implementing secure, encrypted archive creation and extraction
  • Handling large ZIP files (beyond 4GB) with ZIP64 support
  • Building custom command-line or GUI archive tools
  • Processing ZIP archives directly in memory for performance
  • Maintaining compatibility with legacy minizip-based projects

Not Ideal For

  • Projects using high-level scripting languages (e.g., Python, JavaScript) where native C bindings add integration complexity
  • Embedded systems with strict memory constraints, as optional compression libraries can significantly increase binary size
  • Teams seeking a plug-and-play archive solution without build configuration, due to CMake setup and dependency management

Pros & Cons

Pros

Modern Compression Flexibility

Supports ZSTD, LZMA, PPMD, and other advanced algorithms listed in the features, allowing developers to optimize for speed or compression ratio in diverse scenarios.

Cross-Platform Consistency

Explicitly targets Windows, macOS, and Linux with a unified API, ensuring reliable archive manipulation across operating systems without platform-specific code.

Extensive Customization Options

Offers compile-time flags like MZ_COMPRESS_ONLY and MZ_DECOMPRESS_ONLY for tailored builds, reducing footprint or enabling specific use cases as documented in the README.

Robust Error Recovery

Includes features to recover corrupt central directories and handle large files via ZIP64, enhancing reliability in real-world archive processing.

Cons

Complex Build Configuration

The CMake setup with over 20 options (e.g., MZ_FETCH_LIBS, MZ_ZLIB_FLAVOR) can be daunting and error-prone, requiring deep understanding for optimal tuning.

External Dependency Overhead

Relies on third-party libraries like bzip2, liblzma, and ZSTD; if not present, CMake fetches them, increasing build time and potential licensing or version conflicts.

Steep Learning Curve

As a low-level C library, it demands familiarity with manual memory management and API intricacies, making it less accessible compared to higher-level wrappers.

Frequently Asked Questions

Quick Stats

Stars1,458
Forks489
Contributors0
Open Issues10
Last commit23 days ago
CreatedSince 2012

Tags

#c-library#bzip2#portable#minizip#c#encryption#zip#data-compression#lzma#file-archiving#cross-platform#compression#zlib

Built With

C
CMake
C
C++

Included in

C/C++70.6k
Auto-fetched 1 day ago

Related Projects

zstdzstd

Zstandard - Fast real-time compression algorithm

Stars27,216
Forks2,505
Last commit7 days ago
brotlibrotli

Brotli compression format

Stars14,736
Forks1,337
Last commit4 days ago
LZ4LZ4

Extremely Fast Compression algorithm

Stars11,852
Forks1,557
Last commit7 days ago
libarchivelibarchive

Multi-format archive and compression library

Stars3,521
Forks941
Last commit6 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub