www.zlib.net Open in urlscan Pro
85.187.148.2  Public Scan

Submitted URL: http://zlib.org/
Effective URL: http://www.zlib.net/
Submission: On February 09 via manual from GB — Scanned from GB

Form analysis 0 forms found in the DOM

Text Content

A MASSIVELY SPIFFY YET DELICATELY UNOBTRUSIVE COMPRESSION LIBRARY
(ALSO FREE, NOT TO MENTION UNENCUMBERED BY PATENTS)

(NOT RELATED TO THE LINUX ZLIBC COMPRESSING FILE-I/O LIBRARY)



--------------------------------------------------------------------------------

Welcome to the zlib home page, web pages originally created by Greg Roelofs and
maintained by Mark Adler. If this page seems suspiciously similar to the PNG
Home Page, rest assured that the similarity is completely coincidental. No,
really.

zlib was written by Jean-loup Gailly (compression) and Mark Adler
(decompression).



Current release:

zlib 1.2.11

January 15, 2017

Version 1.2.11 has these key improvements over 1.2.10:

 * Fix deflate stored bug when pulling last block from window
 * Permit immediate deflateParams changes before any deflate input

Due to the bug fixes, any installations of 1.2.9 or 1.2.10 should be immediately
replaced with 1.2.11.

Version 1.2.10 has these key improvements over 1.2.9:

 * Fix bug in deflate_stored() for zero-length input
 * Fix bug in gzwrite.c that produced corrupt gzip files

Version 1.2.9 has these key improvements over 1.2.8:

 * Improve compress() and uncompress() to support large lengths
 * Allow building zlib outside of the source directory
 * Fix bug when level 0 used with Z_HUFFMAN or Z_RLE
 * Fix bugs in creating a very large gzip header
 * Add uncompress2() function, which returns the input size used
 * Dramatically speed up deflation for level 0 (storing)
 * Add gzfread() and gzfwrite(), duplicating the interfaces of fread() and
   fwrite()
 * Add crc32_z() and adler32_z() functions with size_t lengths
 * Many portability improvements

You can also look at the complete Change Log.



--------------------------------------------------------------------------------



Canonical URL: http://zlib.net/ (US)



--------------------------------------------------------------------------------

zlib is designed to be a free, general-purpose, legally unencumbered -- that is,
not covered by any patents -- lossless data-compression library for use on
virtually any computer hardware and operating system. The zlib data format is
itself portable across platforms. Unlike the LZW compression method used in Unix
compress(1) and in the GIF image format, the compression method currently used
in zlib essentially never expands the data. (LZW can double or triple the file
size in extreme cases.) zlib's memory footprint is also independent of the input
data and can be reduced, if necessary, at some cost in compression. A more
precise, technical discussion of both points is available on another page.

zlib was written by Jean-loup Gailly (compression) and Mark Adler
(decompression). Jean-loup is also the primary author of gzip(1), the author of
the comp.compression FAQ list and the former maintainer of Info-ZIP's Zip; Mark
is also the author of gzip's and UnZip's main decompression routines and was the
original author of Zip. Not surprisingly, the compression algorithm used in zlib
is essentially the same as that in gzip and Zip, namely, the `deflate' method
that originated in PKWARE's PKZIP 2.x.

Mark and Jean-loup can be reached by e-mail at . Please read the FAQ and the
manual before asking us for help. We are getting too many questions which
already have an answer in the zlib documentation.

The deflate and zlib specifications both achieved official Internet RFC status
in May 1996, and zlib itself was adopted in version 1.1 of the Java Development
Kit (JDK), both as a raw class and as a component of the JAR archive format.

The lovely zlib-vise image above was provided courtesy of Bruce Gardner, art
director of Dr. Dobb's Journal. It appears in Mark Nelson's article in the
January 1997 issue (see below).



--------------------------------------------------------------------------------

The current release is publicly available here:



zlib source code, version 1.2.11, tar.gz format (593K, SHA-256 hash
c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1):



US (zlib.net) (GPG signature) Pick a mirror (prdownloads.sourceforge.net) zlib
source code, version 1.2.11, tar.xz format (457K, SHA-256 hash
4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066):



US (zlib.net) (GPG signature) Pick a mirror (prdownloads.sourceforge.net) zlib
source code, version 1.2.11, zipfile format (730K, SHA-256 hash
d7510a8ee1918b7d0cad197a089c0a2cd4d6df05fee22389f67f115e738b178d):



US (zlib.net) (GPG signature) Pick a mirror (prdownloads.sourceforge.net)

Note that zlib is an integral part of libpng and has been tested extensively as
part of many PNG-supporting applications.



--------------------------------------------------------------------------------




ZLIB INFORMATION

zlib Frequently Asked Questions Zlib-announce mailing list New versions of zlib
are announced on this list. Zlib-devel mailing list Please do not send questions
or comments about zlib to this mailing list. Send those directly to the authors
at after checking the FAQ and the manual, of course. The zlib-devel list is for
the development of zlib—members are contributors to and testers of new versions
of zlib. zlib Manual zlib Usage Example zlib Technical Details zlib-related
specifications:
 * RFC 1950 ZLIB Compressed Data Format Specification version 3.3
 * RFC 1951 DEFLATE Compressed Data Format Specification version 1.3
 * RFC 1952 GZIP file format specification version 4.3

Deflate stream disassembler. infgen.c produces a readable description of a gzip,
zlib, or raw deflate stream. zlib's Deflate Algorithm zlib's deflate flush modes
zlib License All released versions of zlib zlib on github


CRC (CYCLIC REDUNDANCY CHECK) BONUS INFORMATION

Ross Williams' classic "A Painless Guide to CRC Error Detection Algorithms" Code
to generate any CRC, with a list of CRC descriptions. crcany.c can take a
description of a CRC and compute that CRC efficiently. It includes bit-wise,
table-driven byte-wise, and table-driven word-wise CRC algorithms. Code to
modify a message so that it generates the desired CRC. spoof.c takes an
abbreviated description of the CRC, the exclusive-or of the current CRC of the
message and the desired CRC, the length of the message, and a list of bit
locations in a message, and tells you which of those bits should be inverted in
the message to get the desired CRC. Note that it does not need the message
itself, due to the linearity property of CRCs.


ZIP FILE PROCESSING BONUS SOFTWARE

Code to read a zip file as a stream and extract its contents. sunzip.c will read
a zip file from stdin and extract the files therein that use compression methods
0, 8, 9, or 12 (stored, deflate, deflate64, or bzip2). It accepts Zip64 input.
Code to merge multiple zip files into a single zip file. zipknit.c accepts Zip64
input files, and will create Zip64 output if the combined size of the merged zip
file warrants it. All compression formats are permitted, since no decompression
or recompression is performed. Encrypted entries are permitted, and pass through
unscathed.



--------------------------------------------------------------------------------


RELATED EXTERNAL LINKS

zlib for Linux, both shared and static plus headers (RPM format, many
architectures) zlib for Solaris (alternate) zlib for macOS (Mac OS X): zlib is
already included as part of macOS zlib for Palm Pilot zlib for Newton OS zlib
for Windows CE zlib for Windows 9x/NT/2000/XP/2003 (DLL version, plus related
utilities) zlib for Windows 9x/NT (DLL and static version) DotNetZip zip file
manipulation for .NET, and more (including replacements for the buggy Microsoft
GZipStream and DeflateStream classes) zlib for .NET in C# zlib DLL wrapper for
.NET in C# Zip for .NET Mark Nelson's ZlibTool article (January 1997) zlib C++
wrapper for the gz* functions. C++ zlib and gzip filters in an iostream
framework. zlib 32-bit OCX (C++ source and binaries for use with Visual
Basic 4.x or Delphi 2.0) (unsupported VB5 binary also available) zlib Delphi 5
interface (includes compiled object files and corresponding C++ Builder 5
project files) zlib Perl interface (source code; look for Compress-Zlib*.tar.gz)
zlib Python interface (online manual; part of the standard library as of
Python 1.5) zlib Tcl interface mkZiplib zlib Haskell interface zlib Java
interface (see also JAR format) zlib reimplementation in pure Java (not tested
by us, but looks like a good alternative to java.util.zip) Mark Nelson's JavaZip
article (with source code) (December 1997) Random access for gzip archives, for
Java Gilles Vollant's zlib-based mini-zip and mini-unzip (see also Info-ZIP's
UnZip, which optionally can be compiled with zlib) Scott Ludwig's zlib-based
CExe executable compressor for Win32 zlib technical issues, including spec
errors zlib information in Japanese zlib information in Russian Real World
Scanning and Halftones (second edition includes a section on zlib) Markus
Oberhumer's LZO `real-time' data compression library (not tested by us, but
looks like a good alternative if you need more speed and less compression) lz4,
a very fast compression algorithm (not tested by us, but looks like an even
better alternative if you need more speed and less compression) Zstandard, a
better compression algorithm (not tested by us, but appears to be a better
alternative to zlib in both dimensions of compression and speed, as well as
decompression speed) libbzip2 (not tested by us, but looks like a good
alternative if you need more compression and less speed) PPP Deflate Protocol
(RFC 1979) Info-ZIP Home Page Portable Network Graphics (PNG) Home Page gzip
Home Page pigz (parallel gzip) Home Page DataCompression.info comp.compression
Frequently Asked Questions list



--------------------------------------------------------------------------------

Send comments or questions about zlib to the authors at   after checking FAQ and
manual.
Please report broken links to (PGP key).

This page last updated August 26th, 2021.

--------------------------------------------------------------------------------

Web page copyright © 1996-2021 Greg Roelofs, Jean-loup Gailly and Mark Adler.
zlib software copyright © 1995-2017 Jean-loup Gailly and Mark Adler. zlib.org
domain name donated by Andrew Green.