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 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 Bytes | 6006 Bytes |
| 255-bad-trns-values.png | Bad | 2547 Bytes | 2052 Bytes |
| 256-entries-to-17.png | Bad | 1243 Bytes | 1023 Bytes |
| alpha-channel-filtered-grayscale.png | Good | 11349 Bytes | 11271 Bytes |
| alpha-channel-filtered-rgba.png | Good | 11259 Bytes | 11886 Bytes |
| bad-transparacy-truecolor-alpha.png | Bad | 85864 Bytes | 78376 Bytes |
| compact-idat-chunk.png | Good | 17193 Bytes | 10056 Bytes |
| data-png-header.png | Good | 5129 Bytes | 306 Bytes |
| dirty-data-rbg.png | Bad | 90027 Bytes | 86036 Bytes |
| filtering-each-line.png | Bad | 181408 Bytes | 181408 Bytes |
| grayscale-alpha-filter.png | Bad | 21692 Bytes | Not Supported |
| grayscale-alpha-to-grayscale-trns.png | Bad | 7032 Bytes | Not Supported |
| grayscale-alpha-to-paletted.png | Bad | 18708 Bytes | Not Supported |
| low-compression-huffman-only-is-better.png | Bad | 173207 Bytes | 171473 Bytes |
| order-entries-in-palette.png | Bad | 24834 Bytes | 18403 Bytes |
| paletted-as-grayscale.png | Bad | 17304 Bytes | Not Supported |
| paletted-to-truecolor.png | Bad | 1362 Bytes | 1365 Bytes |
| truecolor-alpha-as-filtered-paletted.png | Bad | 72038 Bytes | 67144 Bytes |
| truecolor-alpha-filter.png | Bad | 46912 Bytes | 43414 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | Bad | 97074 Bytes | 89625 Bytes |
| truecolor-alpha-to-paletted-trns.png | Bad | 32473 Bytes | 25658 Bytes |
| truecolor-alpha-to-truecolor-trns.png | Bad | 16653 Bytes | 15515 Bytes |
| truecolor-to-paletted-67-colors.png | Bad | 1920 Bytes | 1063 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 %) |
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 Bytes | Not Supported |
| 255-bad-trns-values.png | Bad | 2547 Bytes | Not Supported |
| 256-entries-to-17.png | Bad | 1243 Bytes | Not Supported |
| alpha-channel-filtered-grayscale.png | Bad | 11349 Bytes | 9563 Bytes |
| alpha-channel-filtered-rgba.png | Correct | 11259 Bytes | 9420 Bytes |
| bad-transparacy-truecolor-alpha.png | Correct | 85864 Bytes | 995 Bytes |
| compact-idat-chunk.png | Good | 17193 Bytes | 10563 Bytes |
| data-png-header.png | Bad | 5129 Bytes | Not Supported |
| dirty-data-rbg.png | Good | 90027 Bytes | 44923 Bytes |
| filtering-each-line.png | Bad | 181408 Bytes | Not Supported |
| grayscale-alpha-filter.png | Bad | 21692 Bytes | Not Supported |
| grayscale-alpha-to-grayscale-trns.png | Bad | 7032 Bytes | Not Supported |
| grayscale-alpha-to-paletted.png | Bad | 18708 Bytes | Not Supported |
| low-compression-huffman-only-is-better.png | Bad | 173207 Bytes | Not Supported |
| order-entries-in-palette.png | Bad | 24834 Bytes | Not Supported |
| paletted-as-grayscale.png | Bad | 17304 Bytes | Not Supported |
| paletted-to-truecolor.png | Bad | 1362 Bytes | Not Supported |
| truecolor-alpha-as-filtered-paletted.png | Bad | 72038 Bytes | 28869 Bytes |
| truecolor-alpha-filter.png | Bad | 46912 Bytes | 39791 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | Bad | 97074 Bytes | 54359 Bytes |
| truecolor-alpha-to-paletted-trns.png | Bad | 32473 Bytes | 27655 Bytes |
| truecolor-alpha-to-truecolor-trns.png | Bad | 16653 Bytes | 10203 Bytes |
| truecolor-to-paletted-67-colors.png | Bad | 1920 Bytes | Not 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 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 Bytes | 6700 Bytes |
| 255-bad-trns-values.png | Bad | 2547 Bytes | 2051 Bytes |
| 256-entries-to-17.png | Good | 1243 Bytes | 303 Bytes |
| alpha-channel-filtered-grayscale.png | Good | 11349 Bytes | 7827 Bytes |
| alpha-channel-filtered-rgba.png | Good | 11259 Bytes | 9463 Bytes |
| bad-transparacy-truecolor-alpha.png | Bad | 85864 Bytes | 68796 Bytes |
| compact-idat-chunk.png | Good | 17193 Bytes | 10563 Bytes |
| data-png-header.png | Bad | 5129 Bytes | 4905 Bytes |
| dirty-data-rbg.png | Bad | 90027 Bytes | 63955 Bytes |
| filtering-each-line.png | Good | 181408 Bytes | 757 Bytes |
| grayscale-alpha-filter.png | Bad | 21692 Bytes | 18885 Bytes |
| grayscale-alpha-to-grayscale-trns.png | Good | 7032 Bytes | 4308 Bytes |
| grayscale-alpha-to-paletted.png | Good | 18708 Bytes | 13832 Bytes |
| low-compression-huffman-only-is-better.png | Good | 173207 Bytes | 100444 Bytes |
| order-entries-in-palette.png | Bad | 24834 Bytes | 19296 Bytes |
| paletted-as-grayscale.png | Bad | 17304 Bytes | 15571 Bytes |
| paletted-to-truecolor.png | Bad | 1362 Bytes | 1058 Bytes |
| truecolor-alpha-as-filtered-paletted.png | Bad | 72038 Bytes | 60638 Bytes |
| truecolor-alpha-filter.png | Bad | 46912 Bytes | 41937 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | Bad | 97074 Bytes | 76654 Bytes |
| truecolor-alpha-to-paletted-trns.png | Bad | 32473 Bytes | 20012 Bytes |
| truecolor-alpha-to-truecolor-trns.png | Bad | 16653 Bytes | 10227 Bytes |
| truecolor-to-paletted-67-colors.png | Bad | 1920 Bytes | 1104 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 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 Bytes | 6630 Bytes |
| 255-bad-trns-values.png | Bug! | Bad | 2547 Bytes | 2051 Bytes |
| 256-entries-to-17.png | -plte_len 17 | Good | 1243 Bytes | 303 Bytes |
| alpha-channel-filtered-grayscale.png | -c 4 -brute | Good | 11349 Bytes | 7827 Bytes |
| alpha-channel-filtered-rgba.png | -brute | Good | 11259 Bytes | 9463 Bytes |
| bad-transparacy-truecolor-alpha.png | -brute | Bad | 85864 Bytes | 69307 Bytes |
| compact-idat-chunk.png | -brute | Good | 17193 Bytes | 10610 Bytes |
| data-png-header.png | -rem alla | Good | 5129 Bytes | 303 Bytes |
| dirty-data-rbg.png | -brute | Bad | 90027 Bytes | 62479 Bytes |
| filtering-each-line.png | -brute | Good | 181408 Bytes | 757 Bytes |
| grayscale-alpha-filter.png | -c 4 -brute | Bad | 21692 Bytes | 18885 Bytes |
| grayscale-alpha-to-grayscale-trns.png | -c 0 -brute (+add tRNS) | Good | 7032 Bytes | 3543 Bytes |
| grayscale-alpha-to-paletted.png | -reduce -brute | Bad | 18708 Bytes | 16074 Bytes |
| low-compression-huffman-only-is-better.png | -huffman | Good | 173207 Bytes | 100344 Bytes |
| order-entries-in-palette.png | -brute | Bad | 24834 Bytes | 19319 Bytes |
| paletted-as-grayscale.png | -reduce -brute | Good | 17304 Bytes | 15771 Bytes |
| paletted-to-truecolor.png | -c 2 -rem PLTE -brute | Good | 1362 Bytes | 459 Bytes |
| truecolor-alpha-as-filtered-paletted.png | -reduce -brute | Bad | 72038 Bytes | 60605 Bytes |
| truecolor-alpha-filter.png | -brute | Bad | 46912 Bytes | 41937 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | -c 4 -brute | Bad | 97074 Bytes | 49886 Bytes |
| truecolor-alpha-to-paletted-trns.png | -reduce -brute | Bad | 32473 Bytes | 27687 Bytes |
| truecolor-alpha-to-truecolor-trns.png | -c 2 -brute (+add tRNS) | Good | 32473 Bytes | 9162 Bytes |
| truecolor-to-paletted-67-colors.png | -reduce -brute | Bad | 1920 Bytes | 1187 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 %) |
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 Bytes | 6697 Bytes |
| 255-bad-trns-values.png | Good | 2547 Bytes | 1825 Bytes |
| 256-entries-to-17.png | Good | 1243 Bytes | 307 Bytes |
| alpha-channel-filtered-grayscale.png | Bad | 11349 Bytes | 10712 Bytes |
| alpha-channel-filtered-rgba.png | Bad | 11259 Bytes | 10973 Bytes |
| bad-transparacy-truecolor-alpha.png | Correct | 85864 Bytes | 761 Bytes |
| compact-idat-chunk.png | Good | 17193 Bytes | 10564 Bytes |
| data-png-header.png | Good | 5129 Bytes | 307 Bytes |
| dirty-data-rbg.png | Correct | 90027 Bytes | 46768 Bytes |
| filtering-each-line.png | Good | 181408 Bytes | 790 Bytes |
| grayscale-alpha-filter.png | Bad | 21692 Bytes | 18925 Bytes |
| grayscale-alpha-to-grayscale-trns.png | Good | 7032 Bytes | 4354 Bytes |
| grayscale-alpha-to-paletted.png | Bad | 18708 Bytes | 18708 Bytes |
| low-compression-huffman-only-is-better.png | Correct | 173207 Bytes | 102327 Bytes |
| order-entries-in-palette.png | Good | 24834 Bytes | 15978 Bytes |
| paletted-as-grayscale.png | Bad | 17304 Bytes | 15835 Bytes |
| paletted-to-truecolor.png | Bad | 1362 Bytes | 1059 Bytes |
| truecolor-alpha-as-filtered-paletted.png | Bad | 72038 Bytes | 28952 Bytes |
| truecolor-alpha-filter.png | Correct | 46912 Bytes | 39374 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | Bad | 97074 Bytes | 54451 Bytes |
| truecolor-alpha-to-paletted-trns.png | Bad | 32473 Bytes | 27657 Bytes |
| truecolor-alpha-to-truecolor-trns.png | Good | 16653 Bytes | 9168 Bytes |
| truecolor-to-paletted-67-colors.png | Bad | 1920 Bytes | 1100 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 [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 Bytes | 5900 Bytes |
| 255-bad-trns-values.png | /c3 /f0 /n2 | Good | 2547 Bytes | 1766 Bytes |
| 256-entries-to-17.png | /c3 /f0 /n1 | Good | 1243 Bytes | 305 Bytes |
| alpha-channel-filtered-grayscale.png | /c4 /f5 /n2 | Good | 11349 Bytes | 6974 Bytes |
| alpha-channel-filtered-rgba.png | /c6 /f5 /n5 | Good | 11259 Bytes | 8841 Bytes |
| bad-transparacy-truecolor-alpha.png | /c6 /f5 /n8 | Bad | 85864 Bytes | 66320 Bytes |
| compact-idat-chunk.png | /c6 /f0 /n1 | Good | 17193 Bytes | 9957 Bytes |
| data-png-header.png | /c3 /f0 /n1 | Good | 5129 Bytes | 305 Bytes |
| dirty-data-rbg.png | /c6 /f5 /n8 | Bad | 90027 Bytes | 62479 Bytes |
| filtering-each-line.png | /c2 /f5 /n1 | Good | 181408 Bytes | 751 Bytes |
| grayscale-alpha-filter.png | /c4 /f5 /n1 | Bad | 21692 Bytes | 17874 Bytes |
| grayscale-alpha-to-grayscale-trns.png | /c0 /f4 /n1 | Good | 7032 Bytes | 3389 Bytes |
| grayscale-alpha-to-paletted.png | /c3 /f0 /n5 | Good | 18708 Bytes | 13161 Bytes |
| low-compression-huffman-only-is-better.png | /s3 /c2 /f5 /n5 | Good | 173207 Bytes | 100168 Bytes |
| order-entries-in-palette.png | /c3 /f1 /n3 | Bad | 24834 Bytes | 20604 Bytes |
| paletted-as-grayscale.png | /c0 /f5 /d8 /n2 | Bad | 17304 Bytes | 15439 Bytes |
| paletted-to-truecolor.png | /c2 /f5 /n2 | Good | 1362 Bytes | 445 Bytes |
| truecolor-alpha-as-filtered-paletted.png | /c6 /f5 /n8 | Bad | 72038 Bytes | 57849 Bytes |
| truecolor-alpha-filter.png | /c6 /f5 /n3 | Bad | 46912 Bytes | 39812 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | /c6 /f5 /n2 | Bad | 97074 Bytes | 72681 Bytes |
| truecolor-alpha-to-paletted-trns.png | /c3 /f0 /n4 | Good | 32473 Bytes | 19171 Bytes |
| truecolor-alpha-to-truecolor-trns.png | /c2 /f5 /n2 | Good | 16653 Bytes | 8745 Bytes |
| truecolor-to-paletted-67-colors.png | /c3 /f0 /n1 | Good | 1920 Bytes | 1039 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 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 Bytes | 6683 Bytes |
| 255-bad-trns-values.png | Good | 2547 Bytes | 1829 Bytes |
| 256-entries-to-17.png | Good | 1243 Bytes | 307 Bytes |
| alpha-channel-filtered-grayscale.png | Bad | 11349 Bytes | Not Supported |
| alpha-channel-filtered-rgba.png | Bad | 11259 Bytes | Not Supported |
| bad-transparacy-truecolor-alpha.png | Bad | 85864 Bytes | Not Supported |
| compact-idat-chunk.png | Bad | 17193 Bytes | Not Supported |
| data-png-header.png | Good | 5129 Bytes | 389 Bytes |
| dirty-data-rbg.png | Bad | 90027 Bytes | Not Supported |
| filtering-each-line.png | Bad | 181408 Bytes | Not Supported |
| grayscale-alpha-filter.png | Bad | 21692 Bytes | Not Supported |
| grayscale-alpha-to-grayscale-trns.png | Good | 7032 Bytes | 3548 Bytes |
| grayscale-alpha-to-paletted.png | Bad | 18708 Bytes | 13783 Bytes |
| low-compression-huffman-only-is-better.png | Bad | 173207 Bytes | Not Supported |
| order-entries-in-palette.png | Bad | 24834 Bytes | 19319 Bytes |
| paletted-as-grayscale.png | Good | 17304 Bytes | 15835 Bytes |
| paletted-to-truecolor.png | Bad | 1362 Bytes | 1365 Bytes |
| truecolor-alpha-as-filtered-paletted.png | Bad | 72038 Bytes | Not Supported |
| truecolor-alpha-filter.png | Bad | 46912 Bytes | Not Supported |
| truecolor-alpha-to-grayscale-alpha.png | Bad | 97074 Bytes | Not Supported |
| truecolor-alpha-to-paletted-trns.png | Good | 32473 Bytes | 20049 Bytes |
| truecolor-alpha-to-truecolor-trns.png | Bad | 16653 Bytes | Not Supported |
| truecolor-to-paletted-67-colors.png | Good | 1920 Bytes | 1100 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 %) |
----------------------------------------------------------------------------- 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 Bytes | 6263 Bytes | |
| 255-bad-trns-values.png | Bad | 2547 Bytes | 1993 Bytes | |
| 256-entries-to-17.png | Good | 1243 Bytes | 1024 Bytes | |
| alpha-channel-filtered-grayscale.png | Bad | 11349 Bytes | 8828 Bytes | |
| alpha-channel-filtered-rgba.png | Good | 11259 Bytes | 8848 Bytes | |
| bad-transparacy-truecolor-alpha.png | Bad | 85864 Bytes | 984 Bytes | |
| compact-idat-chunk.png | Good | 17193 Bytes | 10030 Bytes | |
| data-png-header.png | Bad | 5129 Bytes | 4909 Bytes | |
| dirty-data-rbg.png | Correct | 90027 Bytes | 45632 Bytes | |
| filtering-each-line.png | Good | 181408 Bytes | 757 Bytes | |
| grayscale-alpha-filter.png | Bad | 21692 Bytes | 18004 Bytes | |
| grayscale-alpha-to-grayscale-trns.png | Good | 7032 Bytes | 4102 Bytes | |
| grayscale-alpha-to-paletted.png | Bad | 18708 Bytes | 14965 Bytes | |
| low-compression-huffman-only-is-better.png | Correct | 173207 Bytes | 106835 Bytes | |
| order-entries-in-palette.png | Bad | 24834 Bytes | 18251 Bytes | |
| paletted-as-grayscale.png | Bad | 17304 Bytes | 15480 Bytes | |
| paletted-to-truecolor.png | Bad | 1362 Bytes | 1058 Bytes | |
| truecolor-alpha-as-filtered-paletted.png | Bad | 72038 Bytes | 26266 Bytes | |
| truecolor-alpha-filter.png | Correct | 46912 Bytes | 37339 Bytes | |
| truecolor-alpha-to-grayscale-alpha.png | Bad | 97074 Bytes | 51910 Bytes | |
| truecolor-alpha-to-paletted-trns.png | Bad | 32473 Bytes | 25640 Bytes | |
| truecolor-alpha-to-truecolor-trns.png | Good | 16653 Bytes | 9683 Bytes | |
| truecolor-to-paletted-67-colors.png | Bad | 1920 Bytes | 1118 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 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 Bytes | 6647 Bytes |
| 255-bad-trns-values.png | Good | 2547 Bytes | 1766 Bytes |
| 256-entries-to-17.png | Good | 1243 Bytes | 303 Bytes |
| alpha-channel-filtered-grayscale.png | Good | 11349 Bytes | 7512 Bytes |
| alpha-channel-filtered-rgba.png | Good | 11259 Bytes | 9151 Bytes |
| bad-transparacy-truecolor-alpha.png | Good | 85864 Bytes | 568 Bytes |
| compact-idat-chunk.png | Good | 17193 Bytes | 10549 Bytes |
| data-png-header.png | Good | 5129 Bytes | 319 Bytes |
| dirty-data-rbg.png | Good | 90027 Bytes | 45173 Bytes |
| filtering-each-line.png | Good | 181408 Bytes | 754 Bytes |
| grayscale-alpha-filter.png | Good | 21692 Bytes | 17468 Bytes |
| grayscale-alpha-to-grayscale-trns.png | Good | 7032 Bytes | 3537 Bytes |
| grayscale-alpha-to-paletted.png | Good | 18708 Bytes | 13426 Bytes |
| low-compression-huffman-only-is-better.png | Good | 173207 Bytes | 100360 Bytes |
| order-entries-in-palette.png | Good | 24834 Bytes | 15361 Bytes |
| paletted-as-grayscale.png | Good | 17304 Bytes | 14657 Bytes |
| paletted-to-truecolor.png | Good | 1362 Bytes | 459 Bytes |
| truecolor-alpha-as-filtered-paletted.png | Good | 72038 Bytes | 17241 Bytes |
| truecolor-alpha-filter.png | Good | 46912 Bytes | 38996 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | Good | 97074 Bytes | 41296 Bytes |
| truecolor-alpha-to-paletted-trns.png | Good | 32473 Bytes | 19894 Bytes |
| truecolor-alpha-to-truecolor-trns.png | Good | 16653 Bytes | 9150 Bytes |
| truecolor-to-paletted-67-colors.png | Good | 1920 Bytes | 1101 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 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 Bytes | 5900 Bytes |
| 255-bad-trns-values.png | Good | 2547 Bytes | 1728 Bytes |
| 256-entries-to-17.png | Good | 1243 Bytes | 301 Bytes |
| alpha-channel-filtered-grayscale.png | Good | 11349 Bytes | 6970 Bytes |
| alpha-channel-filtered-rgba.png | Good | 11259 Bytes | 8858 Bytes |
| bad-transparacy-truecolor-alpha.png | Good | 85864 Bytes | 574 Bytes |
| compact-idat-chunk.png | Good | 17193 Bytes | 9956 Bytes |
| data-png-header.png | Good | 5129 Bytes | 305 Bytes |
| dirty-data-rbg.png | Good | 90027 Bytes | 44223 Bytes |
| filtering-each-line.png | Good | 181408 Bytes | 751 Bytes |
| grayscale-alpha-filter.png | Good | 21692 Bytes | 16907 Bytes |
| grayscale-alpha-to-grayscale-trns.png | Good | 7032 Bytes | 3607 Bytes |
| grayscale-alpha-to-paletted.png | Good | 18708 Bytes | 13287 Bytes |
| low-compression-huffman-only-is-better.png | Good | 173207 Bytes | 100155 Bytes |
| order-entries-in-palette.png | Good | 24834 Bytes | 14814 Bytes |
| paletted-as-grayscale.png | Good | 17304 Bytes | 14910 Bytes |
| paletted-to-truecolor.png | Good | 1362 Bytes | 438 Bytes |
| truecolor-alpha-as-filtered-paletted.png | Good | 72038 Bytes | 16391 Bytes |
| truecolor-alpha-filter.png | Good | 46912 Bytes | 37225 Bytes |
| truecolor-alpha-to-grayscale-alpha.png | Good | 97074 Bytes | 39955 Bytes |
| truecolor-alpha-to-paletted-trns.png | Good | 32473 Bytes | 19399 Bytes |
| truecolor-alpha-to-truecolor-trns.png | Good | 16653 Bytes | 9056 Bytes |
| truecolor-to-paletted-67-colors.png | Good | 1920 Bytes | 1049 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 %) |
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.