zlib - compression/decompression library
[see zlib.h for full description]
The zlib library is a general purpose data compression library. The code is thread safe.
It provides in-memory compression and decompression functions, including integrity checks
of the uncompressed data. This version of the library supports only one compression
method (deflation) but other algorithms will be added later and will have the same stream
Compression can be done in a single step if the buffers are large enough (for example if
an input file is mmap'ed), or can be done by repeated calls of the compression function.
In the latter case, the application must provide more input and/or consume the output
(providing more output space) before each call.
The library also supports reading and writing files in gzip(1) (.gz) format with an inter-
face similar to that of stdio.
The library does not install any signal handler. The decoder checks the consistency of
the compressed data, so the library should never crash even in case of corrupted input.
All functions of the compression library are documented in the file zlib.h. The distribu-
tion source includes examples of use of the library in the files example.c and minigzip.c.
Changes to this version are documented in the file ChangeLog that accompanies the source,
and are concerned primarily with bug fixes and portability enhancements.
A Java implementation of zlib is available in the Java Development Kit 1.1:
A Perl interface to zlib, written by Paul Marquess (email@example.com), is available at CPAN
(Comprehensive Perl Archive Network) sites, including:
A Python interface to zlib, written by A.M. Kuchling (firstname.lastname@example.org), is available in
Python 1.5 and later versions:
A zlib binding for tcl(1), written by Andreas Kupries (email@example.com), is availl-
An experimental package to read and write files in .zip format, written on top of zlib by
Gilles Vollant (firstname.lastname@example.org), is available at:
http://www.winimage.com/zLibDll/unzip.html and also in the contrib/minizip direc-
tory of the main zlib web site.
The zlib web site can be found at either of these locations:
The data format used by the zlib library is described by RFC (Request for Comments) 1950
to 1952 in the files:
http://www.ietf.org/rfc/rfc1950.txt (concerning zlib format)
http://www.ietf.org/rfc/rfc1951.txt (concerning deflate format)
http://www.ietf.org/rfc/rfc1952.txt (concerning gzip format)
These documents are also available in other formats from:
Mark Nelson (email@example.com) wrote an article about zlib for the Jan. 1997 issue of Dr.
Dobb's Journal; a copy of the article is available at:
Before reporting a problem, please check the zlib web site to verify that you have the
latest version of zlib; otherwise, obtain the latest version and see if the problem still
exists. Please read the zlib FAQ at:
before asking for help. Send questions and/or comments to firstname.lastname@example.org, or (for the Win-
dows DLL version) to Gilles Vollant (email@example.com).
Version 22.214.171.124 Copyright (C) 1995-2006 Jean-loup Gailly (firstname.lastname@example.org) and Mark Adler
This software is provided "as-is," without any express or implied warranty. In no event
will the authors be held liable for any damages arising from the use of this software.
See the distribution directory with respect to requirements governing redistribution. The
deflate format used by zlib was defined by Phil Katz. The deflate and zlib specifications
were written by L. Peter Deutsch. Thanks to all the people who reported problems and sug-
gested various improvements in zlib; who are too numerous to cite here.
UNIX manual page by R. P. C. Rodgers, U.S. National Library of Medicine
21 December 2009 ZLIB(3)