Home > PNG Tools Overview

PNG Tools Overview


AdvanceCOMP

See Website - Version tested: 1.15 - Type: Compressor

This project is no longer updated since 2002. AdvPNG is a pure compressor that uses LZMA (7-zip), and it operates some optimizations on the PNG characteristics (it removes unnecessary chunks, compacts iDAT, and tries 8 bits/pixels test when image contains 16 colors or less).

advpng 1.15 (Option used :-z -4)
File TestedResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.pngGood72236006
255-bad-trns-values.pngBad25472052
256-entries-to-17.pngBad12431023
alpha-channel-filtered-grayscale.pngGood1134911271
alpha-channel-filtered-rgba.pngGood1125911886
bad-transparacy-truecolor-alpha.pngBad8586478376
compact-idat-chunk.pngGood1719310056
data-png-header.pngGood5129306
dirty-data-rbg.pngBad9002786036
filtering-each-line.pngBad181408181408
grayscale-alpha-filter.pngBad21692Not Supported
grayscale-alpha-to-grayscale-trns.pngBad7032Not Supported
grayscale-alpha-to-paletted.pngBad18708Not Supported
low-compression-huffman-only-is-better.pngBad173207171473
order-entries-in-palette.pngBad2483418403
paletted-as-grayscale.pngBad17304Not Supported
paletted-to-truecolor.pngBad13621365
truecolor-alpha-as-filtered-paletted.pngBad7203867144
truecolor-alpha-filter.pngBad4691243414
truecolor-alpha-to-grayscale-alpha.pngBad9707489625
truecolor-alpha-to-paletted-trns.pngBad3247325658
truecolor-alpha-to-truecolor-trns.pngBad1665315515
truecolor-to-paletted-67-colors.pngBad19201063
Total: 24 Files5/24944821894224

AdvPNG saved 50597 Bytes (5,36 %). To use to its advantage, you should run AdvDef (not AdvPNG) after another PNG optimizer utility, capable of performing tests on ColorType, filters, etc. Used alone, it is less efficient because it allows only a few images reductions, and it does not support GrayScale formats.


CryoPNG

See Website - Version tested: 0.6.4 - Type: RGB+Alpha optimizer

This project is credited OptiPNG, but it is actually a modification of OptiPNG, called CryoPNG. This utility can be used on TrueColor + Alpha PNG, and lets you change the RGB space of a PNG file in order to optimize the filtering. It can convert black pixels using existing filters.

cryopng 0.6.4 (Option used :-o7)
File TestedResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.pngBad7223Not Supported
255-bad-trns-values.pngBad2547Not Supported
256-entries-to-17.pngBad1243Not Supported
alpha-channel-filtered-grayscale.pngBad113499563
alpha-channel-filtered-rgba.pngCorrect112599420
bad-transparacy-truecolor-alpha.pngCorrect85864995
compact-idat-chunk.pngGood1719310563
data-png-header.pngBad5129Not Supported
dirty-data-rbg.pngGood9002744923
filtering-each-line.pngBad181408Not Supported
grayscale-alpha-filter.pngBad21692Not Supported
grayscale-alpha-to-grayscale-trns.pngBad7032Not Supported
grayscale-alpha-to-paletted.pngBad18708Not Supported
low-compression-huffman-only-is-better.pngBad173207Not Supported
order-entries-in-palette.pngBad24834Not Supported
paletted-as-grayscale.pngBad17304Not Supported
paletted-to-truecolor.pngBad1362Not Supported
truecolor-alpha-as-filtered-paletted.pngBad7203828869
truecolor-alpha-filter.pngBad4691239791
truecolor-alpha-to-grayscale-alpha.pngBad9707454359
truecolor-alpha-to-paletted-trns.pngBad3247327655
truecolor-alpha-to-truecolor-trns.pngBad1665310203
truecolor-to-paletted-67-colors.pngBad1920Not Supported
Total: 24 Files3/24944821700120

CryoPNG saved 244701 Bytes (25,90 %). Although it can not process all files, CryoPNG can significantly reduce the weight, because it destroys (or changes) RGB values ​​that will not be returned in a Web browser. You can use it only on TrueColor + Alpha PNG, and can be supplemented by a compressor.


OptiPNG

See Website - Version tested: 0.6.5 - Type: Optimizer

This project is based on PNGCrush. According to the author, it's running faster because all trials are performed in memory. It also includes parts of PNGRewrite code for some images reductions. OptiPNG is used by a lot of optimizers, including onlines services as SmushIt.

optipng 0.6.5 (Option used :-o7)
File TestedResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.pngBad72236700
255-bad-trns-values.pngBad25472051
256-entries-to-17.pngGood1243303
alpha-channel-filtered-grayscale.pngGood113497827
alpha-channel-filtered-rgba.pngGood112599463
bad-transparacy-truecolor-alpha.pngBad8586468796
compact-idat-chunk.pngGood1719310563
data-png-header.pngBad51294905
dirty-data-rbg.pngBad9002763955
filtering-each-line.pngGood181408757
grayscale-alpha-filter.pngBad2169218885
grayscale-alpha-to-grayscale-trns.pngGood70324308
grayscale-alpha-to-paletted.pngGood1870813832
low-compression-huffman-only-is-better.pngGood173207100444
order-entries-in-palette.pngBad2483419296
paletted-as-grayscale.pngBad1730415571
paletted-to-truecolor.pngBad13621058
truecolor-alpha-as-filtered-paletted.pngBad7203860638
truecolor-alpha-filter.pngBad4691241937
truecolor-alpha-to-grayscale-alpha.pngBad9707476654
truecolor-alpha-to-paletted-trns.pngBad3247320012
truecolor-alpha-to-truecolor-trns.pngBad1665310227
truecolor-to-paletted-67-colors.pngBad19201104
Total: 24 Files8/24944821559486

OptiPNG saved 385335 Bytes (40,78 %). OptiPNG is a moderate 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 images reductions which can be very useful and efficient for Web.


PNGCrush

See Website - Version tested: 1.7.15 - Type: Optimizer

Pngcrush is one of the first optimization utilities for PNG, published in 1998. The author also wrote the specifications of PNG. PNGCrush has a lot of options, and most of tools are based on it (OptiPNG, TruePNG, and indirectly all optimizers based on OptiPNG as SmushIt).

pngcrush 1.7.15
File TestedOptionResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.png-bit_depth 8Good72236630
255-bad-trns-values.pngBug!Bad25472051
256-entries-to-17.png-plte_len 17Good1243303
alpha-channel-filtered-grayscale.png-c 4 -bruteGood113497827
alpha-channel-filtered-rgba.png-bruteGood112599463
bad-transparacy-truecolor-alpha.png-bruteBad8586469307
compact-idat-chunk.png-bruteGood1719310610
data-png-header.png-rem allaGood5129303
dirty-data-rbg.png-bruteBad9002762479
filtering-each-line.png-bruteGood181408757
grayscale-alpha-filter.png-c 4 -bruteBad2169218885
grayscale-alpha-to-grayscale-trns.png-c 0 -bruteGood70323543
grayscale-alpha-to-paletted.png -reduce -bruteBad1870816074
low-compression-huffman-only-is-better.png-huffmanGood173207100344
order-entries-in-palette.png-bruteBad2483419319
paletted-as-grayscale.png-reduce -bruteGood1730415771
paletted-to-truecolor.png-c 2 -rem PLTE -bruteGood1362459
truecolor-alpha-as-filtered-paletted.png-reduce -bruteBad7203860605
truecolor-alpha-filter.png-bruteBad4691241937
truecolor-alpha-to-grayscale-alpha.png-c 4 -bruteBad9707449886
truecolor-alpha-to-paletted-trns.png-reduce -bruteBad3247327687
truecolor-alpha-to-truecolor-trns.png-c 2 -bruteGood324739162
truecolor-to-paletted-67-colors.png-reduce -bruteBad19201187
Total: 24 Files-12/24944821536169

PNGCrush saved 408652 Bytes (43,25 %). To correctly use pngcrush, you must know the PNG specification, and control options of the utility, because without them, it is unlikely to get a properly optimized PNG. Others optimizers have the advantage to do that automatically.


PNGOptimizer

See Website - Version tested: 2.0 - Type: Optimizer

PngOptimizer is a very simple tool to use: there is no option for images reductions, it does it itself automatically (clean RGB space, palette optimizer, bitdepth reduction, etc.), and also does an average compression. Another good point, it's generally fast.

pngoptimizer 2.0
File TestedResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.pngBad72236697
255-bad-trns-values.pngGood25471825
256-entries-to-17.pngGood1243307
alpha-channel-filtered-grayscale.pngBad1134910712
alpha-channel-filtered-rgba.pngBad1125910973
bad-transparacy-truecolor-alpha.pngCorrect85864761
compact-idat-chunk.pngGood1719310564
data-png-header.pngGood5129307
dirty-data-rbg.pngCorrect9002746768
filtering-each-line.pngGood181408790
grayscale-alpha-filter.pngBad2169218925
grayscale-alpha-to-grayscale-trns.pngGood70324354
grayscale-alpha-to-paletted.pngBad1870818708
low-compression-huffman-only-is-better.pngCorrect173207102327
order-entries-in-palette.pngGood2483415978
paletted-as-grayscale.pngBad1730415835
paletted-to-truecolor.pngBad13621059
truecolor-alpha-as-filtered-paletted.pngBad7203828952
truecolor-alpha-filter.pngCorrect4691239374
truecolor-alpha-to-grayscale-alpha.pngBad9707454451
truecolor-alpha-to-paletted-trns.pngBad3247327657
truecolor-alpha-to-truecolor-trns.pngGood166539168
truecolor-to-paletted-67-colors.pngBad19201100
Total: 24 Files10/24944821427592

PNGOptimizer saved 517229 Bytes (54,74 %). It reduces all PNG Test Corpus files by more than 50%. This tool includes most of the critical images reductions, but there is still more improvement to do to get even better results. It can be completed by a good compressor.


PNGOUT

See Website - Version tested: 07/02/2011 - Type: Compressor / Manual Optimizer

PNGOUT is undoubtedly the best PNG compressor, based on a modified algorithm of Deflate, called KFlate. It can also achieve images reductions, mainly manually. That's mean you've to know about PNG specifications to use it efficiently.

pngout 07/02/2011
File TestedOptionResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.png/c3 /f0 /d8 /n2Good72235900
255-bad-trns-values.png/c3 /f0 /n2Good25471766
256-entries-to-17.png/c3 /f0 /n1Good1243305
alpha-channel-filtered-grayscale.png/c4 /f5 /n2Good113496974
alpha-channel-filtered-rgba.png/c6 /f5 /n5Good112598841
bad-transparacy-truecolor-alpha.png/c6 /f5 /n8Bad8586466320
compact-idat-chunk.png/c6 /f0 /n1Good171939957
data-png-header.png/c3 /f0 /n1Good5129305
dirty-data-rbg.png/c6 /f5 /n8Bad9002762479
filtering-each-line.png/c2 /f5 /n1Good181408751
grayscale-alpha-filter.png/c4 /f5 /n1Bad2169217874
grayscale-alpha-to-grayscale-trns.png/c0 /f4 /n1Good70323389
grayscale-alpha-to-paletted.png/c3 /f0 /n5Good1870813161
low-compression-huffman-only-is-better.png/s3 /c2 /f5 /n5Good173207100168
order-entries-in-palette.png/c3 /f1 /n3Bad2483420604
paletted-as-grayscale.png/c0 /f5 /d8 /n2Bad1730415439
paletted-to-truecolor.png/c2 /f5 /n2Good1362445
truecolor-alpha-as-filtered-paletted.png/c6 /f5 /n8Bad7203857849
truecolor-alpha-filter.png/c6 /f5 /n3Bad4691239812
truecolor-alpha-to-grayscale-alpha.png/c6 /f5 /n2Bad9707472681
truecolor-alpha-to-paletted-trns.png/c3 /f0 /n4Good3247319171
truecolor-alpha-to-truecolor-trns.png/c2 /f5 /n2Good166538745
truecolor-to-paletted-67-colors.png/c3 /f0 /n1Good19201039
Total: 24 Files-16/24944821533990

PNGOUT saved 410831 Bytes (43,48 %). The best usage of PNGOUT is to run it after a good PNG optimizer, as TruePNG. You can use it as a pure compressor, because PNGOUT does not operate some images reductions for Web, as the cleaning of RGB space.


PNGRewrite

See Website - Version tested: 1.4.0 - Type: Paletted/GrayScale Optimizer

PNGRewrite is command-line utility that reduces the unnecessarily large palettes that some programs write into PNG files. It also optimizes transparency data, and reduces the bits-per-pixel if possible. It only runs on Paletted or GrayScale images.

pngrewrite 1.4.0
File TestedResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.pngBad72236683
255-bad-trns-values.pngGood25471829
256-entries-to-17.pngGood1243307
alpha-channel-filtered-grayscale.pngBad11349Not Supported
alpha-channel-filtered-rgba.pngBad11259Not Supported
bad-transparacy-truecolor-alpha.pngBad85864Not Supported
compact-idat-chunk.pngBad17193Not Supported
data-png-header.pngGood5129389
dirty-data-rbg.pngBad90027Not Supported
filtering-each-line.pngBad181408Not Supported
grayscale-alpha-filter.pngBad21692Not Supported
grayscale-alpha-to-grayscale-trns.pngGood70323548
grayscale-alpha-to-paletted.pngBad1870813783
low-compression-huffman-only-is-better.pngBad173207Not Supported
order-entries-in-palette.pngBad2483419319
paletted-as-grayscale.pngGood1730415835
paletted-to-truecolor.pngBad13621365
truecolor-alpha-as-filtered-paletted.pngBad72038Not Supported
truecolor-alpha-filter.pngBad46912Not Supported
truecolor-alpha-to-grayscale-alpha.pngBad97074Not Supported
truecolor-alpha-to-paletted-trns.pngGood3247320049
truecolor-alpha-to-truecolor-trns.pngBad16653Not Supported
truecolor-to-paletted-67-colors.pngGood19201100
Total: 24 Files6/24944821908983

PNGRewrite saved 35838 Bytes (3,79 %), without any comparison to others utility: it only works on Paletted images. Most of PNGRewrite tricks are included into others tools, as OptiPNG, which is using its code. This tool is today partially obsolete.


PNGWolf

See Website - Version tested: March 2011 - Type: Optimizer

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 (Option used :--7zip-mpass=15 --zlib-level=9)
File TestedResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.pngBad72236263
255-bad-trns-values.pngBad25471993
256-entries-to-17.pngGood12431024
alpha-channel-filtered-grayscale.pngBad113498828
alpha-channel-filtered-rgba.pngGood112598848
bad-transparacy-truecolor-alpha.pngBad85864984
compact-idat-chunk.pngGood1719310030
data-png-header.pngBad51294909
dirty-data-rbg.pngCorrect9002745632
filtering-each-line.pngGood181408757
grayscale-alpha-filter.pngBad2169218004
grayscale-alpha-to-grayscale-trns.pngGood70324102
grayscale-alpha-to-paletted.pngBad1870814965
low-compression-huffman-only-is-better.pngCorrect173207106835
order-entries-in-palette.pngBad2483418251
paletted-as-grayscale.pngBad1730415480
paletted-to-truecolor.pngBad13621058
truecolor-alpha-as-filtered-paletted.pngBad7203826266
truecolor-alpha-filter.pngCorrect4691237339
truecolor-alpha-to-grayscale-alpha.pngBad9707451910
truecolor-alpha-to-paletted-trns.pngBad3247325640
truecolor-alpha-to-truecolor-trns.pngGood166539683
truecolor-to-paletted-67-colors.pngBad19201118
Total: 24 Files7,5/24944821559486

PNGWolf saved 524907 Bytes (55,56 %). It 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.


TruePNG

See Website - Version tested: 0.4.0.3 - Type: Optimizer

If you have to choose one, TruePNG is the must have tool, because it operates the most of images reductions (i've returned a lot of suggestions to its author, based on PNG Test Corpus files). Completed with PNGOUT, it gives excellent results — this combinaison is used by ScriptPNG.

truepng 0.4.0.3 (Option used :-o4 -a1)
File TestedResultInput SizeOutput Size
16-colors-best-encoded-as-8bits.pngGood72236647
255-bad-trns-values.pngGood25471766
256-entries-to-17.pngGood1243303
alpha-channel-filtered-grayscale.pngGood113497512
alpha-channel-filtered-rgba.pngGood112599151
bad-transparacy-truecolor-alpha.pngGood85864568
compact-idat-chunk.pngGood1719310549
data-png-header.pngGood5129319
dirty-data-rbg.pngGood9002745173
filtering-each-line.pngGood181408754
grayscale-alpha-filter.pngGood2169217468
grayscale-alpha-to-grayscale-trns.pngGood70323537
grayscale-alpha-to-paletted.pngGood1870813426
low-compression-huffman-only-is-better.pngGood173207100360
order-entries-in-palette.pngGood2483415361
paletted-as-grayscale.pngGood1730414657
paletted-to-truecolor.pngGood1362459
truecolor-alpha-as-filtered-paletted.pngGood7203817241
truecolor-alpha-filter.pngGood4691238996
truecolor-alpha-to-grayscale-alpha.pngGood9707441296
truecolor-alpha-to-paletted-trns.pngGood3247319894
truecolor-alpha-to-truecolor-trns.pngGood166539150
truecolor-to-paletted-67-colors.pngGood19201101
Total: 24 Files24/24944821376628

TruePNG saved 568193 Bytes (60,14 %). It does RGB space cleaning, palette optimization, ColorType best choice, BitDepth reduction, etc. Thanks to that, it also achieves the best compression results. You can use PNGOUT to compress files further, using -ks -f6 options.


Others Tools

DeflOpt

See Website - Type: Deflate Structure Optimizer

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

defluff

See Website - Type: Deflate Structure Optimizer

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

Huffmix

See Website - Type: Block code Optimizer for PNGOUT

Huffmix gets the best blocks results from two trials files created by PNGOUT, and creates a new output file with best results. It can let you to optimize trials results of PNGOUT.

PrePNG

See Website - Type: PNG Reset Tool

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

See Website - Type: Quantizer, converter to PNG Paletted

pngquant is a PNG quantizer. It reduces the number of colors to 256 or less. It always create PNG-8 files (Paletted), which can contains alpha values if necessary. See also pngnq.

pngnq

See Website - Type: Quantizer, converter to PNG Paletted

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

Color Quantizer

See Website - Type: Quantizer, Optimizer

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

See Website - Type: RGB Space Cleaner

PNGKT is a RGB Filter. It 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).