awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
madler avatar

madler/zlib

0
View on GitHub↗
6,687 stars·2,710 forks·C·other·9 viewszlib.net↗

Zlib

zlib is a lossless data compression library that implements the deflate compression algorithm, combining LZ77 sliding window and Huffman coding. It provides the core compression and decompression engines, along with support for gzip, zlib, and raw deflate stream formats, enabling data to be compressed and restored without any loss of information.

The library offers a range of capabilities for handling compressed data, including single-call memory and file operations, as well as incremental stream-based processing for working with data larger than available memory. It includes mechanisms for aborting compression or decompression mid-process through a user-set flag, and provides callback-based progress reporting for user feedback and cancellation. For data integrity, zlib computes Adler-32 and CRC-32 checksums, and includes tools for generating custom CRC algorithms and manipulating CRC values.

Beyond compression, the library handles zip archives through its minizip contribution, supporting creation, extraction, and merging of zip files with multiple compression methods including deflate64 and bzip2, as well as Zip64 for large archives. The library is designed to work across different platforms, exchanging compressed data between systems with different byte orders and 64-bit architectures.

Features

  • Data Compression and Decompression - Implements the deflate algorithm with LZ77 and Huffman coding for lossless compression and decompression.
  • Deflate Compressors - Compresses data using the deflate algorithm, accepting input and output buffers for arbitrary streams.
  • In-Memory Compressors - Compresses a block of data in a single call using the deflate algorithm, producing a compressed buffer.
  • Lossless Compressors - Reduces data size losslessly using the deflate algorithm, outputting in zlib, gzip, or raw deflate format.
  • Data Integrity Verification - Provides Adler-32 and CRC-32 checksums for verifying data integrity during compression and decompression.
  • Zlib Compression Utilities - Processes data in the zlib format with header and checksum for compression and decompression.
  • Incremental Data Streaming - Processes data incrementally through memory buffers for compression or decompression without loading everything at once.
  • Streaming Compression Engines - Provides the core deflate compression engine using LZ77 and Huffman coding for lossless data reduction.
  • Caller-Supplied Buffer Streaming - Processes data incrementally through caller-supplied memory buffers for compression or decompression.
  • In-Memory Decompressors - Decompresses a block of data in a single call using the inflate algorithm, restoring original content.
  • CRC Lookup Tables - Implements table-driven CRC computation for data integrity verification during compression.
  • Deflate Decompressors - Reconstructs original data from a deflate-compressed stream, restoring it to its exact prior state.
  • Deflate Stream Decompression - Provides the core inflate engine for decompressing deflate, gzip, and zlib streams.
  • Gzip Decompression - Ships a stdio-like interface for reading and writing gzip-compressed files transparently.
  • Deflate Decompression - Provides the inflate decompression engine that restores deflate, zlib, and gzip streams.
  • Gzip File Read-Write Interfaces - Provides a stdio-like interface for transparent reading and writing of gzip files.
  • Gzip File Read-Write Operations - Provides a stdio-like interface for reading, writing, and appending gzip files.
  • Incremental Stream Processing - Processes data incrementally through repeated calls for compression or decompression of large data.
  • Inflate Decompressors - Decompresses data using the inflate algorithm, reading from an input buffer and writing to an output buffer.
  • Inflate Stream Decompression - Decompresses data incrementally by feeding compressed chunks through the inflate engine.
  • Lossless Decompressors - Restores data compressed with deflate, zlib, or gzip back to its original form without any loss.
  • CRC Computation Libraries - Ships a dedicated CRC computation library with table-driven algorithms and custom CRC generation.
  • Gzip File Writers - Writes compressed data directly to a gzip file, handling file I/O and compression in one operation.
  • Single-Call File Compressors - Compresses an entire file to another file using one function call with an optional compression level.
  • Raw Deflate Stream Processing - Processes raw deflate streams without wrapper formats for custom containers or protocols.
  • Large Data Volume Handling - Supports processing data exceeding 4 GB without loss or corruption.
  • Table-Driven CRC Algorithms - Calculates CRC values using bit-wise, byte-wise, or word-wise table-driven algorithms.
  • Table-Driven CRC Computation - Calculates CRC values using bit-wise, byte-wise, or word-wise table-driven algorithms.
  • Zip Compression Libraries - Reads and writes zip files with stored, deflate, deflate64, or bzip2 compression, including Zip64 support.
  • Adler-32 and CRC-32 Checksums - Calculates Adler-32 or CRC-32 checksums and combines two checksums into one.
  • Adler-32 Checksum Computation - Computes Adler-32 checksums for data integrity during compression and decompression.
  • CRC-32 Checksum Computation - Computes CRC-32 checksums for widely compatible data integrity verification.
  • Single-Call File Decompression - Ships a convenience function for decompressing an entire file in one call.
  • Build Systems - A robust and widely used data compression library.

Star history

Star history chart for madler/zlibStar history chart for madler/zlib

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Zlib

Similar open-source projects, ranked by how many features they share with Zlib.
  • nodeca/pakonodeca avatar

    nodeca/pako

    6,081View on GitHub↗

    Pako is a pure JavaScript compression library that ports the C zlib library to JavaScript, providing deflate and gzip compression and decompression capabilities. It runs in both browser and Node.js environments by using typed arrays and universal JavaScript, avoiding platform-specific APIs for cross-platform compatibility. The library handles data through bitwise operations for Huffman coding and LZ77 matching, and automatically encodes string inputs to UTF-8 before compression while decoding them back on decompression. It supports streaming chunk-based processing, allowing incremental data h

    JavaScript
    View on GitHub↗6,081
  • google/wuffsgoogle avatar

    google/wuffs

    4,773View on GitHub↗

    Wuffs is a toolset for generating memory-safe, sandboxed parsers and decoders from domain-specific language specifications. It functions as a compiler that transforms these specifications into executable code for C, Go, or Rust, specifically designed to decode untrusted file formats while preventing buffer and integer overflows. The project employs a sandboxed execution model that prohibits system calls and manual memory management to ensure computations are side-effect free. It utilizes a refined type system and compile-time constraint verification to enforce memory safety, alongside saturat

    Ccodecmemory-safetyparsing
    View on GitHub↗4,773
  • lz4/lz4lz4 avatar

    lz4/lz4

    11,882View on GitHub↗

    This project provides a lossless compression algorithm and a byte-oriented compression library designed for high-speed data reduction and maximum decompression speed. It functions as a stream-oriented compression engine, a software library for encoding and decoding data blocks, and a command-line tool for managing interoperable compressed frames. The system distinguishes itself through the use of predefined pattern dictionaries to improve compression ratios for small data sets and small packets. It supports multiple processing modes, including high-speed block compression for minimal latency

    Cccompressionlz4
    View on GitHub↗11,882
  • icsharpcode/sharpziplibicsharpcode avatar

    icsharpcode/SharpZipLib

    3,913View on GitHub↗

    SharpZipLib is a .NET compression library and file archiver used to create, extract, and manage Zip, GZip, Tar, and BZip2 archives. It provides a framework for compressing and decompressing data streams and files within the .NET ecosystem. The library distinguishes itself through support for archives that exceed the standard four gigabyte size limit. It also includes capabilities for decrypting password-protected files using industry-standard encryption and managing Tar archives with long filename support. The project covers a broad range of archive management operations, including integrity

    C#
    View on GitHub↗3,913
See all 30 alternatives to Zlib→

Frequently asked questions

What does madler/zlib do?

zlib is a lossless data compression library that implements the deflate compression algorithm, combining LZ77 sliding window and Huffman coding. It provides the core compression and decompression engines, along with support for gzip, zlib, and raw deflate stream formats, enabling data to be compressed and restored without any loss of information.

What are the main features of madler/zlib?

The main features of madler/zlib are: Data Compression and Decompression, Deflate Compressors, In-Memory Compressors, Lossless Compressors, Data Integrity Verification, Zlib Compression Utilities, Incremental Data Streaming, Streaming Compression Engines.

What are some open-source alternatives to madler/zlib?

Open-source alternatives to madler/zlib include: nodeca/pako — Pako is a pure JavaScript compression library that ports the C zlib library to JavaScript, providing deflate and gzip… google/wuffs — Wuffs is a toolset for generating memory-safe, sandboxed parsers and decoders from domain-specific language… lz4/lz4 — This project provides a lossless compression algorithm and a byte-oriented compression library designed for high-speed… icsharpcode/sharpziplib — SharpZipLib is a .NET compression library and file archiver used to create, extract, and manage Zip, GZip, Tar, and… google/snappy — Snappy is a high-performance lossless compression library implemented in C++. It provides data reduction methods that… ziparchive/ziparchive — ZipArchive is a Swift library and file utility designed for compressing and extracting files into zip archives on iOS,…