• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1ZopfliPNG is a command line program to optimize the Portable Network Graphics
2(PNG) images. This version has the following features:
3- uses Zopfli compression for the Deflate compression,
4- compares several strategies for choosing scanline filter codes,
5- chooses a suitable color type to losslessly encode the image,
6- removes all chunks that are unimportant for the typical web use (metadata,
7  text, etc...),
8- optionally alters the hidden colors of fully transparent pixels for more
9  compression, and,
10- optionally converts 16-bit color channels to 8-bit.
11
12This is an alpha-release for testing while improvements, particularly to add
13palette selection, are still being made. Feedback and bug reports are welcome.
14
15To build ZopfliPNG, use "make zopflipng", or compile all the sources except
16zopfli_bin.c.
17
18The main compression algorithm in ZopfliPNG is ported from WebP lossless, but
19naturally cannot give as much compression gain for PNGs as it does for a more
20modern compression codec like WebP
21https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification.
22
23Compared to libpng -- an often used PNG encoder implementation -- ZopfliPNG uses
242-3 orders of magnitude more CPU time for compression. Initial testing using a
25corpus of 1000 PNGs with translucency, randomly selected from the internet,
26gives a compression improvement of 12% compared to convert -q 95, but only 0.5%
27compared to pngout (from better of /f0 and /f5 runs).
28
29By releasing this software we hope to make images on the web load faster without
30a new image format, but the opportunities for optimization within PNG are
31limited. When targeting Android, Chrome, Opera, and Yandex browsers, or by using
32suitable plugins for other browsers, it is good to note that WebP lossless
33images are still 26 % smaller than images recompressed with ZopfliPNG.
34
352013-05-07, Lode Vandevenne and Jyrki Alakuijala
36