PNG Tools Overview

You can find a lot of PNG Tools on the net. This article list them, and show competitors running with right settings for maximize the compression. To see why results are Good, Correct, Bad, or to see images tested, read this article : PNG Compression Tools Comparison.

AdvanceCOMP

advancecomp v1.15 by Andrea Mazzoleni
Usage: advpng [options] [FILES...]

Options:
  -0, --shrink-store    Don't compress
  -1, --shrink-fast     Compress fast
  -2, --shrink-normal   Compress normal
  -3, --shrink-extra    Compress extra
  -4, --shrink-insane   Compress extreme

Version : 1.15 | See Website | Download AdvanceCOMP (Win32)

This project is not updated since 2002. Despite that, it can give some interesting results. It contains two seperate programs, advdef and advpng. First one recompress the deflate stream, second can do some image structure modifications before compression (remove unnecessary chunks, compact iDAT, 8 bits/pixels test).

advpng 1.15 (Option used :-z -4)
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Good 7223 Bytes6006 Bytes
255-bad-trns-values.png Bad 2547 Bytes2052 Bytes
256-entries-to-17.png Bad 1243 Bytes1023 Bytes
alpha-channel-filtered-grayscale.png Good 11349 Bytes11271 Bytes
alpha-channel-filtered-rgba.png Good 11259 Bytes11886 Bytes
bad-transparacy-truecolor-alpha.png Bad 85864 Bytes78376 Bytes
compact-idat-chunk.png Good 17193 Bytes10056 Bytes
data-png-header.png Good 5129 Bytes306 Bytes
dirty-data-rbg.png Bad 90027 Bytes86036 Bytes
filtering-each-line.png Bad 181408 Bytes181408 Bytes
grayscale-alpha-filter.png Bad 21692 BytesNot Supported
grayscale-alpha-to-grayscale-trns.png Bad 7032 BytesNot Supported
grayscale-alpha-to-paletted.png Bad 18708 BytesNot Supported
low-compression-huffman-only-is-better.png Bad 173207 Bytes171473 Bytes
order-entries-in-palette.png Bad 24834 Bytes18403 Bytes
paletted-as-grayscale.png Bad 17304 BytesNot Supported
paletted-to-truecolor.png Bad 1362 Bytes1365 Bytes
truecolor-alpha-as-filtered-paletted.png Bad 72038 Bytes67144 Bytes
truecolor-alpha-filter.png Bad 46912 Bytes43414 Bytes
truecolor-alpha-to-grayscale-alpha.png Bad 97074 Bytes89625 Bytes
truecolor-alpha-to-paletted-trns.png Bad 32473 Bytes25658 Bytes
truecolor-alpha-to-truecolor-trns.png Bad 16653 Bytes15515 Bytes
truecolor-to-paletted-67-colors.png Bad 1920 Bytes1063 Bytes

advpng is a compressor tool, which can do a 7-zip re-compression in a very fast process. It does not support GrayScale files, image reduction, or others optimization tricks. It has no option for better results. For an efficient usage of advpng, you should optimize your PNG files before, and compress them next with it.

Input Size : 944 821 Bytes Output Size : 894 224 Bytes - 50597 Bytes (5,36 %)

CryoPNG

OptiPNG 0.6.4 (Dirty Filters Ugly Hack): Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

Synopsis:
    optipng [options] files ...
Files:
    Image files of type: PNG, BMP, GIF, PNM or TIFF
Optimization details:
        -o7  =  -zc1-9 -zm8-9 -zs0-3 -f0-5    (240 trials)

Version : 0.6.4 | See Website | Download CryoPNG (Win32)

This project is credited OptiPNG, it's true name is CryoPNG, and it's created by Frederic Kayser. His idea was to apply filters to RGB data which are not displayed by browser, instead of using always the 0 (None) Filter. CryoPNG is only applicable on RGB+Alpha files (ColorType 6), and is a modification of OptiPNG.

cryopng 0.6.4 (Option used :-o7)
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Bad 7223 BytesNot Supported
255-bad-trns-values.png Bad 2547 BytesNot Supported
256-entries-to-17.png Bad 1243 BytesNot Supported
alpha-channel-filtered-grayscale.png Bad 11349 Bytes9563 Bytes
alpha-channel-filtered-rgba.png Correct 11259 Bytes9420 Bytes
bad-transparacy-truecolor-alpha.png Correct 85864 Bytes995 Bytes
compact-idat-chunk.png Good 17193 Bytes10563 Bytes
data-png-header.png Bad 5129 BytesNot Supported
dirty-data-rbg.png Good 90027 Bytes44923 Bytes
filtering-each-line.png Bad 181408 BytesNot Supported
grayscale-alpha-filter.png Bad 21692 BytesNot Supported
grayscale-alpha-to-grayscale-trns.png Bad 7032 BytesNot Supported
grayscale-alpha-to-paletted.png Bad 18708 BytesNot Supported
low-compression-huffman-only-is-better.png Bad 173207 BytesNot Supported
order-entries-in-palette.png Bad 24834 BytesNot Supported
paletted-as-grayscale.png Bad 17304 BytesNot Supported
paletted-to-truecolor.png Bad 1362 BytesNot Supported
truecolor-alpha-as-filtered-paletted.png Bad 72038 Bytes28869 Bytes
truecolor-alpha-filter.png Bad 46912 Bytes39791 Bytes
truecolor-alpha-to-grayscale-alpha.png Bad 97074 Bytes54359 Bytes
truecolor-alpha-to-paletted-trns.png Bad 32473 Bytes27655 Bytes
truecolor-alpha-to-truecolor-trns.png Bad 16653 Bytes10203 Bytes
truecolor-to-paletted-67-colors.png Bad 1920 BytesNot Supported

CryoPNG is a must have tool for a best filtering of RGB+Alpha PNG. It does not support all others ColorType, but it's very efficient in this category. For an efficient usage of cryopng, you should optimize your PNG32 files with it, but you have to complement it with another png optimizer.

Input Size : 944 821 Bytes Output Size : 700 120 Bytes - 244 701 Bytes (25,90 %)

OptiPNG

OptiPNG 0.6.5: Advanced PNG optimizer.
Copyright (C) 2001-2011 Cosmin Truta.

Synopsis:
    optipng [options] files ...
Files:
    Image files of type: PNG, BMP, GIF, PNM or TIFF
Optimization details:
        -o7  =  -zc1-9 -zm8-9 -zs0-3 -f0-5    (240 trials)

Version : 0.6.5 | See Website | Download OptiPNG (Win32)

This project is based on PNGCrush. According to the author, it's running faster because all trials are performed in memory. It also include part of PNGRewrite code for doing some images reduction. OptiPNG is used by a lot of optimizers, including online service as SmushIt.

optipng 0.6.5 (Option used :-o7)
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Bad 7223 Bytes6700 Bytes
255-bad-trns-values.png Bad 2547 Bytes2051 Bytes
256-entries-to-17.png Good 1243 Bytes303 Bytes
alpha-channel-filtered-grayscale.png Good 11349 Bytes7827 Bytes
alpha-channel-filtered-rgba.png Good 11259 Bytes9463 Bytes
bad-transparacy-truecolor-alpha.png Bad 85864 Bytes68796 Bytes
compact-idat-chunk.png Good 17193 Bytes10563 Bytes
data-png-header.png Bad 5129 Bytes4905 Bytes
dirty-data-rbg.png Bad 90027 Bytes63955 Bytes
filtering-each-line.png Good 181408 Bytes757 Bytes
grayscale-alpha-filter.png Bad 21692 Bytes18885 Bytes
grayscale-alpha-to-grayscale-trns.png Good 7032 Bytes4308 Bytes
grayscale-alpha-to-paletted.png Good 18708 Bytes13832 Bytes
low-compression-huffman-only-is-better.png Good 173207 Bytes100444 Bytes
order-entries-in-palette.png Bad 24834 Bytes19296 Bytes
paletted-as-grayscale.png Bad 17304 Bytes15571 Bytes
paletted-to-truecolor.png Bad 1362 Bytes1058 Bytes
truecolor-alpha-as-filtered-paletted.png Bad 72038 Bytes60638 Bytes
truecolor-alpha-filter.png Bad 46912 Bytes41937 Bytes
truecolor-alpha-to-grayscale-alpha.png Bad 97074 Bytes76654 Bytes
truecolor-alpha-to-paletted-trns.png Bad 32473 Bytes20012 Bytes
truecolor-alpha-to-truecolor-trns.png Bad 16653 Bytes10227 Bytes
truecolor-to-paletted-67-colors.png Bad 1920 Bytes1104 Bytes

OptiPNG is an soft optimizer, and run a good compression routine, but it should be more efficient if it runs others optimization tricks. It does not support RGB filtering, or other image reduction which can be very useful and efficient for Web.

Input Size : 944 821 Bytes Output Size : 559 486 Bytes - 385 335 Bytes (40,78 %)

PNGCrush


 | pngcrush 1.7.15
 |    Copyright (C) 1998-2002,2006-2011 Glenn Randers-Pehrson
 |    Portions copyright (C) 2005       Greg Roelofs

options:
    -bit_depth depth (bit_depth to use in output file)
        -brute (use brute-force: try 126 different methods [11-136])
            -c color_type of output file [0, 2, 4, or 6]
            -f user_filter [0-5]
      -huffman (use only zlib strategy 2, Huffman-only)
     -plte_len n (truncate unused entries from the top of PLTE)
       -reduce (do lossless color-type or bit-depth reduction)
            -z zlib_strategy [0, 1, 2, or 3]
         -zmem zlib_compression_mem_level [1-9, default 9]

Version : 1.7.15 | See Website | Download PNGCrush (Win32)

PNGCrush is one of the first PNG optimizer which have been publied, back in 1998. The author has also written the PNG specification and others cool projects on MNG. PNGCrush as a lot of options, and most of utils are based on it (OptiPNG, TruePNG, and indirectly all optimizers based on OptiPNG as SmushIt).

pngcrush 1.7.15
File Tested Option Result Input Size Output Size
16-colors-best-encoded-as-8bits.png -bit_depth 8 Good 7223 Bytes6630 Bytes
255-bad-trns-values.png Bug! Bad 2547 Bytes2051 Bytes
256-entries-to-17.png -plte_len 17 Good 1243 Bytes303 Bytes
alpha-channel-filtered-grayscale.png -c 4 -brute Good 11349 Bytes7827 Bytes
alpha-channel-filtered-rgba.png -brute Good 11259 Bytes9463 Bytes
bad-transparacy-truecolor-alpha.png -brute Bad 85864 Bytes69307 Bytes
compact-idat-chunk.png -brute Good 17193 Bytes10610 Bytes
data-png-header.png -rem alla Good 5129 Bytes303 Bytes
dirty-data-rbg.png -brute Bad 90027 Bytes62479 Bytes
filtering-each-line.png -brute Good 181408 Bytes757 Bytes
grayscale-alpha-filter.png -c 4 -brute Bad 21692 Bytes18885 Bytes
grayscale-alpha-to-grayscale-trns.png -c 0 -brute (+add tRNS) Good 7032 Bytes3543 Bytes
grayscale-alpha-to-paletted.png -reduce -brute Bad 18708 Bytes16074 Bytes
low-compression-huffman-only-is-better.png -huffman Good 173207 Bytes100344 Bytes
order-entries-in-palette.png -brute Bad 24834 Bytes19319 Bytes
paletted-as-grayscale.png -reduce -brute Good 17304 Bytes15771 Bytes
paletted-to-truecolor.png -c 2 -rem PLTE -brute Good 1362 Bytes459 Bytes
truecolor-alpha-as-filtered-paletted.png -reduce -brute Bad 72038 Bytes60605 Bytes
truecolor-alpha-filter.png -brute Bad 46912 Bytes41937 Bytes
truecolor-alpha-to-grayscale-alpha.png -c 4 -brute Bad 97074 Bytes49886 Bytes
truecolor-alpha-to-paletted-trns.png -reduce -brute Bad 32473 Bytes27687 Bytes
truecolor-alpha-to-truecolor-trns.png -c 2 -brute (+add tRNS) Good 32473 Bytes9162 Bytes
truecolor-to-paletted-67-colors.png -reduce -brute Bad 1920 Bytes1187 Bytes

PNGCrush is probably the most know PNG opitimizer. As you can see, there is yet improvement to do to get better results and as PNGOUT, you have to know PNG basics knoweldge to use correctly. Others optimizers based on it have the advantage to search PNG settings automatically.

Input Size : 944 821 Bytes Output Size : 536 169 Bytes - 408 652 Bytes (43,25 %)

PNGOptimizer

PngOptimizerCL 2.0 (x86) (C) 2002/2011 by Hadrien Nilsson - psydk.org
Converts GIF, BMP and TGA files to optimized PNG files.
Optimizes and cleans PNG files.

Usage:  PngOptimizerCL -file:"yourfile.png"
  [-BackupOldPngFiles]
  [-KeepInterlacing]
  [-AvoidGreyWithSimpleTransparency]
  [-IgnoreAnimatedGifs]
  [-KeepFileDate]
  [-KeepBackgroundColor][:R|K|F] [-ForcedBackgroundColor:RRGGBB]
  [-KeepTextualData][:R|K|F]  [-ForcedTextKeyword:Foo] [-ForcedTextData:Bar]

Version : 2.0 | See Website | Download PNGOptimizer (Win32)

PNGOptimizer is the faster tool tested here. It runs a good optimization step before doing an average compression, supports some image reduction and can do RGB Filtering (only with None filter). It gives a good ratio speed performance / output result.

pngoptimizer 2.0 (No Option used)
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Bad 7223 Bytes6697 Bytes
255-bad-trns-values.png Good 2547 Bytes1825 Bytes
256-entries-to-17.png Good 1243 Bytes307 Bytes
alpha-channel-filtered-grayscale.png Bad 11349 Bytes10712 Bytes
alpha-channel-filtered-rgba.png Bad 11259 Bytes10973 Bytes
bad-transparacy-truecolor-alpha.png Correct 85864 Bytes761 Bytes
compact-idat-chunk.png Good 17193 Bytes10564 Bytes
data-png-header.png Good 5129 Bytes307 Bytes
dirty-data-rbg.png Correct 90027 Bytes46768 Bytes
filtering-each-line.png Good 181408 Bytes790 Bytes
grayscale-alpha-filter.png Bad 21692 Bytes18925 Bytes
grayscale-alpha-to-grayscale-trns.png Good 7032 Bytes4354 Bytes
grayscale-alpha-to-paletted.png Bad 18708 Bytes18708 Bytes
low-compression-huffman-only-is-better.png Correct 173207 Bytes102327 Bytes
order-entries-in-palette.png Good 24834 Bytes15978 Bytes
paletted-as-grayscale.png Bad 17304 Bytes15835 Bytes
paletted-to-truecolor.png Bad 1362 Bytes1059 Bytes
truecolor-alpha-as-filtered-paletted.png Bad 72038 Bytes28952 Bytes
truecolor-alpha-filter.png Correct 46912 Bytes39374 Bytes
truecolor-alpha-to-grayscale-alpha.png Bad 97074 Bytes54451 Bytes
truecolor-alpha-to-paletted-trns.png Bad 32473 Bytes27657 Bytes
truecolor-alpha-to-truecolor-trns.png Good 16653 Bytes9168 Bytes
truecolor-to-paletted-67-colors.png Bad 1920 Bytes1100 Bytes

The very fast process of those files is a good point, there are still others image reduction and tweaks which can done. PNGOptimizer reduces all PNG Test Corpus files by more than 50%. It can be used as an optimizer, then run another compression routine to achieve better results.

Input Size : 944 821 Bytes Output Size : 427 592 Bytes - 517 229 Bytes (54,74 %)

PNGOUT

PNGOUT [In:{PNG,JPG,GIF,TGA,PCX,BMP}] (Out:PNG) (options...)      Jul  2 2011
by Ken Silverman (http://advsys.net/ken)
PNGOUT optimizes PNG size losslessly using my own deflate algorithm (not Zlib)
With the right options, it can often beat other programs by 5-10%. Options:
   /c# PNG output color: 0=Gray, 2=RGB, 3=Pal, 4=Gray+Alpha, 6=RGB+Alpha
   /f# PNG output filter: 0=none, 1=x, 2=y, 3=x&y, 4=Paeth, 5=mixed, 6=reuse
   /d# Override default bitdepth: 0(min),1,2,4,8 (valid only in /c0,/c3 modes)
   /s# Select strategy. 0:Xtreme(default), 1:Intense, 2:Longest Match,
       3:Huffman Only, 4:Uncompressed

Version : 07/02/2011 | See Website | Download PNGOUT (Win32)

PNGOUT is probably the best PNG Compressor (but not the best PNG optimizer for a Web usage). Users have to select right settings to get best results, so you must have PNG basics knoweldge before using it. As you can see in PNG Compression Tools Comparison, PNGOUT should be used with its options.

pngout 07/02/2011
File Tested Option Result Input Size Output Size
16-colors-best-encoded-as-8bits.png /c3 /f0 /d8 /n2 Good 7223 Bytes5900 Bytes
255-bad-trns-values.png /c3 /f0 /n2 Good 2547 Bytes1766 Bytes
256-entries-to-17.png /c3 /f0 /n1 Good 1243 Bytes305 Bytes
alpha-channel-filtered-grayscale.png /c4 /f5 /n2 Good 11349 Bytes6974 Bytes
alpha-channel-filtered-rgba.png /c6 /f5 /n5 Good 11259 Bytes8841 Bytes
bad-transparacy-truecolor-alpha.png /c6 /f5 /n8 Bad 85864 Bytes66320 Bytes
compact-idat-chunk.png /c6 /f0 /n1 Good 17193 Bytes9957 Bytes
data-png-header.png /c3 /f0 /n1 Good 5129 Bytes305 Bytes
dirty-data-rbg.png /c6 /f5 /n8 Bad 90027 Bytes62479 Bytes
filtering-each-line.png /c2 /f5 /n1 Good 181408 Bytes751 Bytes
grayscale-alpha-filter.png /c4 /f5 /n1 Bad 21692 Bytes17874 Bytes
grayscale-alpha-to-grayscale-trns.png /c0 /f4 /n1 Good 7032 Bytes3389 Bytes
grayscale-alpha-to-paletted.png /c3 /f0 /n5 Good 18708 Bytes13161 Bytes
low-compression-huffman-only-is-better.png /s3 /c2 /f5 /n5 Good 173207 Bytes100168 Bytes
order-entries-in-palette.png /c3 /f1 /n3 Bad 24834 Bytes20604 Bytes
paletted-as-grayscale.png /c0 /f5 /d8 /n2 Bad 17304 Bytes15439 Bytes
paletted-to-truecolor.png /c2 /f5 /n2 Good 1362 Bytes445 Bytes
truecolor-alpha-as-filtered-paletted.png /c6 /f5 /n8 Bad 72038 Bytes57849 Bytes
truecolor-alpha-filter.png /c6 /f5 /n3 Bad 46912 Bytes39812 Bytes
truecolor-alpha-to-grayscale-alpha.png /c6 /f5 /n2 Bad 97074 Bytes72681 Bytes
truecolor-alpha-to-paletted-trns.png /c3 /f0 /n4 Good 32473 Bytes19171 Bytes
truecolor-alpha-to-truecolor-trns.png /c2 /f5 /n2 Good 16653 Bytes8745 Bytes
truecolor-to-paletted-67-colors.png /c3 /f0 /n1 Good 1920 Bytes1039 Bytes

PNGOUT is a great compressor once you get the right settings. But for a Web usage, it should be interesting to use RGB filtering or Palette Optimization. PNGOUT is a must have tool for the final compression. You should be use it after a good PNG pre-optimizer to achieve a best result.

Input Size : 944 821 Bytes Output Size : 533 990 Bytes - 410 831 Bytes (43,48 %)

PNGRewrite

pngrewrite v1.4.0: PNG image palette optimizer
Usage: pngrewrite infile.png outfile.png

Version : 1.4.0 | See Website | Download PNGRewrite (Win32)

PNGRewrite does image reduction, mainly working with Palette images but not only. It can sort the palette (to get a small tRNS chunk), remove duplicates entries, trunk the palette, or try to reduce pixel depth or modify ColorType if possible. All thoses operations are lossless for the image.

pngrewrite v1.4.0
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Bad 7223 Bytes6683 Bytes
255-bad-trns-values.png Good 2547 Bytes1829 Bytes
256-entries-to-17.png Good 1243 Bytes307 Bytes
alpha-channel-filtered-grayscale.png Bad 11349 BytesNot Supported
alpha-channel-filtered-rgba.png Bad 11259 BytesNot Supported
bad-transparacy-truecolor-alpha.png Bad 85864 BytesNot Supported
compact-idat-chunk.png Bad 17193 BytesNot Supported
data-png-header.png Good 5129 Bytes389 Bytes
dirty-data-rbg.png Bad 90027 BytesNot Supported
filtering-each-line.png Bad 181408 BytesNot Supported
grayscale-alpha-filter.png Bad 21692 BytesNot Supported
grayscale-alpha-to-grayscale-trns.png Good 7032 Bytes3548 Bytes
grayscale-alpha-to-paletted.png Bad 18708 Bytes13783 Bytes
low-compression-huffman-only-is-better.png Bad 173207 BytesNot Supported
order-entries-in-palette.png Bad 24834 Bytes19319 Bytes
paletted-as-grayscale.png Good 17304 Bytes15835 Bytes
paletted-to-truecolor.png Bad 1362 Bytes1365 Bytes
truecolor-alpha-as-filtered-paletted.png Bad 72038 BytesNot Supported
truecolor-alpha-filter.png Bad 46912 BytesNot Supported
truecolor-alpha-to-grayscale-alpha.png Bad 97074 BytesNot Supported
truecolor-alpha-to-paletted-trns.png Good 32473 Bytes20049 Bytes
truecolor-alpha-to-truecolor-trns.png Bad 16653 BytesNot Supported
truecolor-to-paletted-67-colors.png Good 1920 Bytes1100 Bytes

PNGRewrite is good for Palette images, or images which can be converted to Palette without loss of quality (image reduction). In others cases, it's recommanded to use another optimizer in complement, because PNGRewrite only supports this kind of images.

Input Size : 944 821 Bytes Output Size : 908 983 Bytes - 35838 Bytes (3,79 %)

pngwolf

-----------------------------------------------------------------------------
Usage: pngwolf --in=file.png --out=file.png
-----------------------------------------------------------------------------
 --zlib-level=                  zlib estimator compression level (default: 5)
 --zlib-strategy=               zlib estimator strategy (default: 0)
 --zlib-window=                 zlib estimator window bits (default: 15)
 --zlib-memlevel=               zlib estimator memory level (default: 8)
 --7zip-mfb=                    7zip fast bytes 3..258 (default: 258)
 --7zip-mpass=                  7zip passes 0..15 (d: 2; > ~ slower, smaller)
 --7zip-mmc                     7zip match finder cycles (d: 258)
 --normalize-alpha              For RGBA, make fully transparent pixels black
-----------------------------------------------------------------------------
Uses http://zlib.net/ and http://lancet.mit.edu/ga/ and http://www.7-zip.org/
-----------------------------------------------------------------------------
http://bjoern.hoehrmann.de/pngwolf/ (c) 2008-2011 http://bjoern.hoehrmann.de/

Version : March 2011 | See Website | Download pngwolf (Win32)

pngwolf is a great PNG optimizer, which have the ability to test differents filtering methods. According to its author, it uses a genetic algorithm for finding the best scanline filter for each scanline in the image. It's very efficient on RGB (24-bit) or RGB+Alpha (32-bit).

pngwolf March 2011 (--7zip-mpass=15 --zlib-level=9 --normalize-alpha) --normalize-alpha was not used for alpha-channel-filtered-grayscale/rgba files.
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Bad 7223 Bytes6263 Bytes
255-bad-trns-values.png Bad 2547 Bytes1993 Bytes
256-entries-to-17.png Good 1243 Bytes1024 Bytes
alpha-channel-filtered-grayscale.png Bad 11349 Bytes8828 Bytes
alpha-channel-filtered-rgba.png Good 11259 Bytes8848 Bytes
bad-transparacy-truecolor-alpha.png Bad 85864 Bytes984 Bytes
compact-idat-chunk.png Good 17193 Bytes10030 Bytes
data-png-header.png Bad 5129 Bytes4909 Bytes
dirty-data-rbg.png Correct 90027 Bytes45632 Bytes
filtering-each-line.png Good 181408 Bytes757 Bytes
grayscale-alpha-filter.png Bad 21692 Bytes18004 Bytes
grayscale-alpha-to-grayscale-trns.png Good 7032 Bytes4102 Bytes
grayscale-alpha-to-paletted.png Bad 18708 Bytes14965 Bytes
low-compression-huffman-only-is-better.png Correct 173207 Bytes106835 Bytes
order-entries-in-palette.png Bad 24834 Bytes18251 Bytes
paletted-as-grayscale.png Bad 17304 Bytes15480 Bytes
paletted-to-truecolor.png Bad 1362 Bytes1058 Bytes
truecolor-alpha-as-filtered-paletted.png Bad 72038 Bytes26266 Bytes
truecolor-alpha-filter.png Correct 46912 Bytes37339 Bytes
truecolor-alpha-to-grayscale-alpha.png Bad 97074 Bytes51910 Bytes
truecolor-alpha-to-paletted-trns.png Bad 32473 Bytes25640 Bytes
truecolor-alpha-to-truecolor-trns.png Good 16653 Bytes9683 Bytes
truecolor-to-paletted-67-colors.png Bad 1920 Bytes1118 Bytes

PNGWolf is an excellent tool which can be useful for all filtered images (including Filtered Paletted images). It does not support yet any image reduction (except RGB Filtering with None Filter). Combined with PNGOUT and -ks -f6 option, you can get good results.

Input Size : 944 821 Bytes Output Size : 419 914 Bytes - 524 907 Bytes (55,56 %)

TruePNG

TruePNG 0.3.5.4 : PNG Optimizer
by x128 (c) 2010-2012
x128@ua.fm

TruePNG {options} file

optimization level:
/o4 or /o max  = /zc9 /zm1-9 /zs0-3 /fe /i0 /md remove all

Version : 0.3.5.4 | See Website | Download TruePNG (Win32)

TruePNG is one of the best PNG optimizer (but not the best PNG compressor), because it can determine with the most accurate way the ColorType / Delta filtering adapted to the file. It also include a strong palette optimizer, and RGB filtering with several filters.

truepng 0.3.5.4 (Option used :-o4 -a1)
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Good 7223 Bytes6647 Bytes
255-bad-trns-values.png Good 2547 Bytes1766 Bytes
256-entries-to-17.png Good 1243 Bytes303 Bytes
alpha-channel-filtered-grayscale.png Good 11349 Bytes7512 Bytes
alpha-channel-filtered-rgba.png Good 11259 Bytes9151 Bytes
bad-transparacy-truecolor-alpha.png Good 85864 Bytes568 Bytes
compact-idat-chunk.png Good 17193 Bytes10549 Bytes
data-png-header.png Good 5129 Bytes319 Bytes
dirty-data-rbg.png Good 90027 Bytes45173 Bytes
filtering-each-line.png Good 181408 Bytes754 Bytes
grayscale-alpha-filter.png Good 21692 Bytes17468 Bytes
grayscale-alpha-to-grayscale-trns.png Good 7032 Bytes3537 Bytes
grayscale-alpha-to-paletted.png Good 18708 Bytes13426 Bytes
low-compression-huffman-only-is-better.png Good 173207 Bytes100360 Bytes
order-entries-in-palette.png Good 24834 Bytes15361 Bytes
paletted-as-grayscale.png Good 17304 Bytes14657 Bytes
paletted-to-truecolor.png Good 1362 Bytes459 Bytes
truecolor-alpha-as-filtered-paletted.png Good 72038 Bytes17241 Bytes
truecolor-alpha-filter.png Good 46912 Bytes38996 Bytes
truecolor-alpha-to-grayscale-alpha.png Good 97074 Bytes41296 Bytes
truecolor-alpha-to-paletted-trns.png Good 32473 Bytes19894 Bytes
truecolor-alpha-to-truecolor-trns.png Good 16653 Bytes9150 Bytes
truecolor-to-paletted-67-colors.png Good 1920 Bytes1101 Bytes

TruePNG is an excellent PNG optimizer, and can also achieve a best compression than OptiPNG because of a better PNG optimization (ColorType choice / Filtering). It can be completed with strongest compressor, as advdef, or PNGOUT with -ks -kp settings (for filtered Paletted files).

Input Size : 944 821 Bytes Output Size : 376 628 Bytes - 568 193 Bytes (60,14 %)

pngXoptimizer

pngXoptimizer 1.1 - by Cedric Louvrier

Drag-and-Drop your PNG files on pngXoptimizer executable

Version : 1.1 | See Website | Download pngXoptimizer (Win32)

pngXoptimizer is my homemade tool, a PNG batch optimizer which is able to combine an optimizer and a solid compressor with up to 4 parallel process (multi-threading). Most of the time, pngXoptimizer can give smallest files than others tools, and in a faster batch process.

pngXoptimizer 1.1
File Tested Result Input Size Output Size
16-colors-best-encoded-as-8bits.png Good 7223 Bytes5900 Bytes
255-bad-trns-values.png Good 2547 Bytes1728 Bytes
256-entries-to-17.png Good 1243 Bytes301 Bytes
alpha-channel-filtered-grayscale.png Good 11349 Bytes6970 Bytes
alpha-channel-filtered-rgba.png Good 11259 Bytes8858 Bytes
bad-transparacy-truecolor-alpha.png Good 85864 Bytes574 Bytes
compact-idat-chunk.png Good 17193 Bytes9956 Bytes
data-png-header.png Good 5129 Bytes305 Bytes
dirty-data-rbg.png Good 90027 Bytes44223 Bytes
filtering-each-line.png Good 181408 Bytes751 Bytes
grayscale-alpha-filter.png Good 21692 Bytes16907 Bytes
grayscale-alpha-to-grayscale-trns.png Good 7032 Bytes3607 Bytes
grayscale-alpha-to-paletted.png Good 18708 Bytes13287 Bytes
low-compression-huffman-only-is-better.png Good 173207 Bytes100155 Bytes
order-entries-in-palette.png Good 24834 Bytes14814 Bytes
paletted-as-grayscale.png Good 17304 Bytes14910 Bytes
paletted-to-truecolor.png Good 1362 Bytes438 Bytes
truecolor-alpha-as-filtered-paletted.png Good 72038 Bytes16391 Bytes
truecolor-alpha-filter.png Good 46912 Bytes37225 Bytes
truecolor-alpha-to-grayscale-alpha.png Good 97074 Bytes39955 Bytes
truecolor-alpha-to-paletted-trns.png Good 32473 Bytes19399 Bytes
truecolor-alpha-to-truecolor-trns.png Good 16653 Bytes9056 Bytes
truecolor-to-paletted-67-colors.png Good 1920 Bytes1049 Bytes

Thanks to the tools, pngXoptimizer can optimize and reduce file significantly. It also contains instructions to optimize some files faster or better.

Input Size : 944 821 Bytes Output Size : 366 759 Bytes - 578 062 Bytes (61,18 %)

Other optimizers and PNG Quantizers

DeflOpt

Version : 2.07 | See Website | Download DeflOpt

It removes garbage from PNG files, clean huffman symbols and others tricks to optimize the Deflate structure. A quick cleaner which can be efficient after a PNG optimizer, and a PNG compressor.

defluff

Version : 0.3.2 | See Website | Download defluff

This tool is very closed to DeflOpt, and do the same things with different strategies. To get the best results, you can combine both of them, always after a PNG optimizer and when compression is achieved.

Huffmix

Version : 0.4b2 | See Website | Download Huffmix

Huffmix get the best blocks results from two trials files created by PNGOUT, and create a new output file with best results. It can let you to achieve a best result faster with PNGOUT trials.

PrePNG

Version : May 10 | See Website | Download PrePNG

Prepng rewrite input PNG without compression, but with filtering step (delta, average, and Paeth). Setting no compression to a file can help to improve new trial compression.

pngquant

Version : 1.7.0 | See Website | Download pngquant

pngquant is a PNG quantizer, which reduce the number of colors to 256 in maximum. It always create PNG-8 file (Paletted), which can contains alpha values if necessary. See also pngnq.

pngnq

Version : 1.0 | See Website | Download pngnq

pngnq is based on pngquant, but it uses a different quantization algorithm which is more efficient, and give better quality / size ratio. Only produce PNG-8 with alpha values if necessary.

Color Quantizer

Version : 0.6.0.8 | See Website | Download Color Q.

Color Quantizer is a GUI which contains other programs, like PNGOUT, TruePNG, DeflOpt, jpegtran and Intel library for JPG. It can reduce the number of colors with an advanced quantizer.

PNGKT

Version : 1.2 | See Website | Download PNGKT

PNGKT is a RGB Filter which can optimize PNG files by turning to (0,0,0) all RGB pixels which are not displayed (because Alpha Channel corresponding pixels is also 0).

PNG-fA

Version : 1.0 | See Website | Download PNG-fA

PNG-fA is a tool which can test different filtering of RGB area instead of turning pixel to 0,0,0. It tests with None Filter (0,0,0), Up and Paeth and write the best output. Warning, it does not make any backup.

FastPNG

Version : 1.0 | See Website | Download FastPNG

FastPNG is another homemade tool which is able to optimize a lot of PNG in 8 parallel process, focalising on speed over space -it runs faster basic optimization than ScriptPNG's Fastest option.

unchunks

Version : 1.0 | See Website | Download unchunks

unchunks is a tool with a simple goal : remove all unnecessary chunks of PNG files, keeping the compression and settings of PNG intacts.