blob: adc5b7f03e8c9529f4bfb7169d3a7d89a60cf322 [file] [log] [blame]
.TH ZLIB 3 "xx Aug 2023"
zlib \- compression/decompression library
.I zlib.h
for full description]
.I zlib
library is a general purpose data compression library.
The code is thread safe, assuming that the standard library functions
used are thread safe, such as memory allocation routines.
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 may be added later
with the same stream interface.
Compression can be done in a single step if the buffers are large enough
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
.IR gzip (1)
(.gz) format
with an interface 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 the case of corrupted input.
All functions of the compression library are documented in the file
.IR zlib.h .
The distribution source includes examples of use of the library
in the files
.I test/example.c
.IR test/minigzip.c,
as well as other examples in the
.IR examples/
Changes to this version are documented in the file
.I ChangeLog
that accompanies the source.
.I zlib
is built in to many languages and operating systems, including but not limited to
Java, Python, .NET, PHP, Perl, Ruby, Swift, and Go.
An experimental package to read and write files in the .zip format,
written on top of
.I zlib
by Gilles Vollant (,
is available at:
and also in the
.I contrib/minizip
directory of the main
.I zlib
source distribution.
.I zlib
web site can be found at:
The data format used by the
.I zlib
library is described by RFC
(Request for Comments) 1950 to 1952 in the files:
.IP (for the zlib header and trailer format)
.br (for the deflate compressed data format)
.br (for the gzip header and trailer format)
Mark Nelson wrote an article about
.I 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
.I zlib
web site to verify that you have the latest version of
.IR zlib ;
obtain the latest version and see if the problem still exists.
Please read the
.I zlib
FAQ at:
before asking for help.
Send questions and/or comments to,
or (for the Windows DLL version) to Gilles Vollant (
Copyright (C) 1995-2022 Jean-loup Gailly 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.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
.nr step 1 1
.IP \n[step]. 3
The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
.IP \n+[step].
Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
.IP \n+[step].
This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
The deflate format used by
.I zlib
was defined by Phil Katz.
The deflate and
.I zlib
specifications were written by L. Peter Deutsch.
Thanks to all the people who reported problems and suggested various
improvements in
.IR zlib ;
who are too numerous to cite here.
UNIX manual page by R. P. C. Rodgers,
U.S. National Library of Medicine (
.\" end of man page