PNG Compression Tools Comparison Auto-Optimization Routine - Test for Web

Current Test Updated : 07.01.2012 - Download the new PNG Test Corpus images (the zip archive contains all images displayed and tested here). Like the old version, those PNG tests are done with the following specs : Intel Core2Quad Q6600 2,40 Ghz, 2 Go RAM.

See also : PNG Tools Overview which compare tool with good settings parameters.

Program Version Options used in this test
advdef 1.15 -z4
cryopng 0.6.4 -zc9 -zm8-9 -zs0-3 -f0-5
optipng 0.6.5 -zc9 -zm8-9 -zs0-3 -f0-5
pngcrush 1.7.15 -brute -reduce
pngkt 1.2 -
pngoptimizer 2.0 -
pngout 02.07.2011 -s0 -k0
pngrewrite 1.4.0 -
pngwolf April 2011 --normalize-alpha --zlib-level=1-9 --zlib-memlevel=1-9 --zlib-strategy=0-3 --7zip-mpass=2
truepng 0.3.5.4 -zc9 -zm1-9 -zs0-3 -fe -a1 -md remove all
pngxoptimizer 1.0.7.0 -
pngslim 1.0 IMPORTANT : Updated tools, syntax correction line 58
image catalyst 2.1 [1] Xtreme
scriptpng 07.01.2012 [5] Max

16-colors-best-encoded-as-8bits.png

This image contains 16 Colors. Most of softwares choose Indexed encoding (Paletted 4 bits / pixels) to store the PNG. But in this case, the 8 bits/pixels coding is better.

RESULTS : Good : 8 bits/pixels - Bad : 4 bits/pixels

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c3 /f0 /d4 /n4 /c3 /f0 /d4 /n1 00:00 7223 Bytes 6333 Bytes 890 Bytes
OptiPNG /c3 /f0 /d4 /n4 /c3 /f0 /d4 /n1 00:00 7223 Bytes 6700 Bytes 523 Bytes
PNGCrush /c3 /f0 /d4 /n4 /c3 /f0 /d4 /n1 00:01 7223 Bytes 6683 Bytes 540 Bytes
PNGKT - - - - - -
PNGOptimizer /c3 /f0 /d4 /n4 /c3 /f0 /d4 /n1 00:00 7223 Bytes 6697 Bytes 526 Bytes
PNGOUT /c3 /f0 /d4 /n4 /c3 /f0 /d4 /n4 00:00 7223 Bytes 6274 Bytes 949 Bytes
PNGRewrite /c3 /f0 /d4 /n4 /c3 /f0 /d4 /n1 00:00 7223 Bytes 6683 Bytes 540 Bytes
PNGWolf /c3 /f0 /d4 /n4 /c3 /f5 /d4 /n2 00:10 7223 Bytes 6297 Bytes 926 Bytes
TruePNG /c3 /f0 /d4 /n4 /c3 /f0 /d8 /n2 00:03 7223 Bytes 6647 Bytes 576 Bytes
CryoPNG - - - - - -
PNGSlim /c3 /f0 /d4 /n4 /c3 /f0 /d8 /n2 03:32 7223 Bytes 5891 Bytes 1332 Bytes
Image Catalyst /c3 /f0 /d4 /n4 /c3 /f0 /d8 /n2 00:03 7223 Bytes 5900 Bytes 1323 Bytes
pngXoptimizer /c3 /f0 /d4 /n4 /c3 /f0 /d8 /n3 00:01 7223 Bytes 5900 Bytes 1323 Bytes
ScriptPNG /c3 /f0 /d4 /n4 /c3 /f0 /d8 /n2 00:08 7223 Bytes 5900 Bytes 1323 Bytes

255-bad-trns-values.png

When an alpha value is specified in a palette entry, try to sort the palette with alpha value in the beginning. Avoid an alpha value with "255", meaning no opacity. In this image, all pixels have alpha value. But only the last have a useful value.

RESULTS : Good : pLTE sorted - Bad : pLTE NOT sorted

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n2 00:00 2547 Bytes 2052 Bytes 495 Bytes
OptiPNG /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:01 2547 Bytes 2051 Bytes 496 Bytes
PNGCrush /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:00 2547 Bytes 2051 Bytes 496 Bytes
PNGKT - - - - - -
PNGOptimizer /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:00 2547 Bytes 1825 Bytes 722 Bytes
PNGOUT /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n17 00:00 2547 Bytes 2020 Bytes 527 Bytes
PNGRewrite /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:00 2547 Bytes 1829 Bytes 718 Bytes
PNGWolf /c3 /f0 /d8 /n17 /c3 /f5 /d8 /n2 00:23 2547 Bytes 2021 Bytes 526 Bytes
TruePNG /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:02 2547 Bytes 1825 Bytes 722 Bytes
CryoPNG - - - - - -
PNGSlim /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 03:22 2547 Bytes 1766 Bytes 781 Bytes
Image Catalyst /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:03 2547 Bytes 1747 Bytes 800 Bytes
pngXoptimizer /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:01 2547 Bytes 1748 Bytes 799 Bytes
ScriptPNG /c3 /f0 /d8 /n17 /c3 /f0 /d8 /n1 00:08 2547 Bytes 1728 Bytes 819 Bytes

256-entries-to-17.png

This image contains 17 colors, encoded in 8 bits / pixels. But there are 256 entries in the palette ; 239 entries have no coordinates in the RGB area, so there are not useful.

RESULTS : Good : 17 entries - Bad : 256 entries

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 1243 Bytes 1023 Bytes 220 Bytes
OptiPNG /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 1243 Bytes 303 Bytes 940 Bytes
PNGCrush /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 1243 Bytes 1020 Bytes 223 Bytes
PNGKT - - - - - -
PNGOptimizer /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 1243 Bytes 307 Bytes 936 Bytes
PNGOUT /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n4 00:00 1243 Bytes 363 Bytes 880 Bytes
PNGRewrite /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 1243 Bytes 307 Bytes 936 Bytes
PNGWolf /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:06 1243 Bytes 1032 Bytes 211 Bytes
TruePNG /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 1243 Bytes 303 Bytes 940 Bytes
CryoPNG - - - - - -
PNGSlim /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 01:12 1243 Bytes 303 Bytes 940 Bytes
Image Catalyst /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:01 1243 Bytes 301 Bytes 942 Bytes
pngXoptimizer /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:01 1243 Bytes 328 Bytes 915 Bytes
ScriptPNG /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:02 1243 Bytes 301 Bytes 942 Bytes

alpha-channel-filtered-grayscale.png

In this test, there is an very filtrable RGB area in a GrayScale+Alpha PNG. But, to get the best result, softwares have to leave the RGB area intact, instead of cleaning / filtering not displayed RGB values.

RESULTS : Good : GrayScale/Not Modified - Correct : GrayScale/Filtered - Bad : GrayScale/Cleaned

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f5 /n1 /c6 /f5 /n6 00:00 11349 Bytes 9080 Bytes 2269 Bytes
OptiPNG /c6 /f5 /n1 /c4 /f4 /n1 00:01 11349 Bytes 7827 Bytes 3522 Bytes
PNGCrush /c6 /f5 /n1 /c6 /f5 /n1 00:02 11349 Bytes 9344 Bytes 2005 Bytes
PNGKT /c6 /f5 /n1 /c6 /f1 /n1 00:00 11349 Bytes 14348 Bytes -2999 Bytes
PNGOptimizer /c6 /f5 /n1 /c6 /f0 /n1 00:00 11349 Bytes 10712 Bytes 637 Bytes
PNGOUT /c6 /f5 /n1 /c6 /f5 /n1 00:06 11349 Bytes 8918 Bytes 2431 Bytes
PNGRewrite - - - - - -
PNGWolf /c6 /f5 /n1 /c6 /f5 /n7 00:20 11349 Bytes 10135 Bytes 1214 Bytes
TruePNG /c6 /f5 /n1 /c4 /f5 /n1 00:03 11349 Bytes 7512 Bytes 3837 Bytes
CryoPNG /c6 /f5 /n1 /c6 /f4 /n1 00:02 11349 Bytes 9563 Bytes 1786 Bytes
PNGSlim /c6 /f5 /n1 /c4 /f5 /n1 23:10 11349 Bytes 7418 Bytes 3931 Bytes
Image Catalyst /c6 /f5 /n1 /c4 /f5 /n1 00:07 11349 Bytes 6959 Bytes 4390 Bytes
pngXoptimizer /c6 /f5 /n1 /c4 /f5 /n1 00:04 11349 Bytes 6975 Bytes 4374 Bytes
ScriptPNG /c6 /f5 /n1 /c4 /f5 /n1 00:08 11349 Bytes 6959 Bytes 4390 Bytes

alpha-channel-filtered-rgba.png

In this test, there is an very filtrable RGB area in a TrueColor+Alpha PNG. But, to get the best result, softwares have to leave the RGB area intact, instead of cleaning / filtering not displayed RGB values.

RESULTS : Good : RGBA/Not Modified - Correct : RGBA/Filtered - Bad : RGBA/Cleaned

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f5 /n1 /c6 /f5 /n6 00:01 11259 Bytes 9067 Bytes 2192 Bytes
OptiPNG /c6 /f5 /n1 /c6 /f5 /n1 00:02 11259 Bytes 9463 Bytes 1796 Bytes
PNGCrush /c6 /f5 /n1 /c6 /f5 /n1 00:03 11259 Bytes 9463 Bytes 1796 Bytes
PNGKT /c6 /f5 /n1 /c6 /f1 /n1 00:00 11259 Bytes 13831 Bytes -2572 Bytes
PNGOptimizer /c6 /f5 /n1 /c6 /f5 /n1 00:01 11259 Bytes 10973 Bytes 286 Bytes
PNGOUT /c6 /f5 /n1 /c6 /f5 /n1 00:08 11259 Bytes 8897 Bytes 2362 Bytes
PNGRewrite /c6 /f5 /n1 - - - - -
PNGWolf /c6 /f5 /n1 /c6 /f5 /n7 00:19 11259 Bytes 10034 Bytes 1225 Bytes
TruePNG /c6 /f5 /n1 /c6 /f5 /n1 00:05 11259 Bytes 9151 Bytes 2108 Bytes
CryoPNG /c6 /f5 /n1 /c6 /f2 /n1 00:01 11259 Bytes 9420 Bytes 1839 Bytes
PNGSlim /c6 /f5 /n1 /c4 /f4 /n1 23:10 11259 Bytes 9505 Bytes 1754 Bytes
Image Catalyst /c6 /f5 /n1 /c6 /f5 /n1 00:13 11259 Bytes 8857 Bytes 2402 Bytes
pngXoptimizer /c6 /f5 /n1 /c6 /f5 /n1 00:08 11259 Bytes 8893 Bytes 2366 Bytes
ScriptPNG /c6 /f5 /n1 /c6 /f5 /n1 00:14 11259 Bytes 8857 Bytes 2402 Bytes

bad-transparacy-truecolor-alpha.png

A TrueColor+Alpha PNG can contains some data in the RGB area which are not displayed by browser, cause to the Alpha Channel. For a Web usage, those data are not useful and can be deleted.

RESULTS : Good : Cleaned and GrayScale - Correct : Cleaned - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f0 /n27 /c6 /f0 /n8 00:00 85864 Bytes 78376 Bytes 7488 Bytes
OptiPNG /c6 /f0 /n27 /c6 /f4 /n5 00:05 85864 Bytes 68796 Bytes 17068 Bytes
PNGCrush /c6 /f0 /n27 /c6 /f4 /n5 00:06 85864 Bytes 69307 Bytes 16557 Bytes
PNGKT /c6 /f0 /n27 /c6 /f1 /n1 00:00 85864 Bytes 1327 Bytes 84537 Bytes
PNGOptimizer /c6 /f0 /n27 /c3 /f5 /d8 /n1 00:00 85864 Bytes 761 Bytes 85103 Bytes
PNGOUT /c6 /f0 /n27 /c6 /f0 /n27 00:01 85864 Bytes 78561 Bytes 7303 Bytes
PNGRewrite - - - - - -
PNGWolf /c6 /f0 /n27 /c6 /f5 /n4 00:20 85864 Bytes 1113 Bytes 84751 Bytes
TruePNG /c6 /f0 /n27 /c0 /f5 /d8 /n1 00:02 85864 Bytes 568 Bytes 85296 Bytes
CryoPNG /c6 /f0 /n27 /c6 /f4 /n1 00:00 85864 Bytes 995 Bytes 84869 Bytes
PNGSlim /c6 /f0 /n27 /c0 /f5 /d8 /n1 02:20 85864 Bytes 552 Bytes 85312 Bytes
Image Catalyst /c6 /f0 /n27 /c0 /f5 /d8 /n1 00:02 85864 Bytes 547 Bytes 85317 Bytes
pngXoptimizer /c6 /f0 /n27 /c0 /f5 /d8 /n1 00:02 85864 Bytes 552 Bytes 85312 Bytes
ScriptPNG /c6 /f0 /n27 /c0 /f5 /d8 /n1 00:03 85864 Bytes 547 Bytes 85317 Bytes

compact-idat-chunk.png

The most easiest test : tool have just to compact the lot of iDAT chunks.

RESULTS : Good : iDAT Chunks Compacted - Bad : NOT Compacted

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f0 /n8 /c6 /f0 /n2 00:00 17193 Bytes 10056 Bytes 7137 Bytes
OptiPNG /c6 /f0 /n8 /c6 /f0 /n1 00:01 17193 Bytes 10563 Bytes 6630 Bytes
PNGCrush /c6 /f0 /n8 /c6 /f0 /n1 00:01 17193 Bytes 10610 Bytes 6583 Bytes
PNGKT /c6 /f0 /n8 /c6 /f1 /n1 00:00 17193 Bytes 16511 Bytes 682 Bytes
PNGOptimizer /c6 /f0 /n8 /c6 /f0 /n1 00:00 17193 Bytes 10564 Bytes 6629 Bytes
PNGOUT /c6 /f0 /n8 /c6 /f0 /n8 00:00 17193 Bytes 10322 Bytes 6871 Bytes
PNGRewrite - - - - - -
PNGWolf /c6 /f0 /n8 /c6 /f0 /n2 00:06 17193 Bytes 10035 Bytes 7158 Bytes
TruePNG /c6 /f0 /n8 /c6 /f0 /n1 00:03 17193 Bytes 10549 Bytes 6644 Bytes
CryoPNG /c6 /f0 /n8 /c6 /f0 /n1 00:02 17193 Bytes 10563 Bytes 6630 Bytes
PNGSlim /c6 /f0 /n8 /c6 /f0 /n1 04:11 17193 Bytes 9949 Bytes 7244 Bytes
Image Catalyst /c6 /f0 /n8 /c6 /f0 /n1 00:03 17193 Bytes 9956 Bytes 7237 Bytes
pngXoptimizer /c6 /f0 /n8 /c6 /f0 /n1 00:01 17193 Bytes 9956 Bytes 7237 Bytes
ScriptPNG /c6 /f0 /n8 /c6 /f0 /n1 00:04 17193 Bytes 9956 Bytes 7237 Bytes

data-png-header.png

A TrueColor+Alpha PNG can contains some data in the RGB area which are not displayed by browser, cause to the Alpha Channel. For a Web usage, those data are not useful and can be deleted.

RESULTS : Good : Clean PNG header - Bad : NOT Cleaned

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 5129 Bytes 4908 Bytes 221 Bytes
OptiPNG /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 5129 Bytes 4905 Bytes 224 Bytes
PNGCrush /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 5129 Bytes 457 Bytes 4672 Bytes
PNGKT - - - - - -
PNGOptimizer /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 5129 Bytes 307 Bytes 4822 Bytes
PNGOUT /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n4 00:00 5129 Bytes 364 Bytes 4765 Bytes
PNGRewrite /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:00 5129 Bytes 389 Bytes 4740 Bytes
PNGWolf /c3 /f0 /d8 /n4 /c3 /f5 /d8 /n1 00:06 5129 Bytes 4917 Bytes 212 Bytes
TruePNG /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:01 5129 Bytes 319 Bytes 4810 Bytes
CryoPNG - - - - - -
PNGSlim /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 01:12 1243 Bytes 303 Bytes 940 Bytes
Image Catalyst /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:01 5129 Bytes 301 Bytes 4828 Bytes
pngXoptimizer /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:01 5129 Bytes 328 Bytes 4801 Bytes
ScriptPNG /c3 /f0 /d8 /n4 /c3 /f0 /d8 /n1 00:02 5129 Bytes 305 Bytes 4824 Bytes

dirty-data-rbg.png

This test is particular, because software have to clean the RGB data which are not displayed, like the "Bad Transparency" test. Then, they can modify the RGB data -extend the pixel in all RGB area- instead of changing them to black pixels.

RESULTS : Good : Filtered - Correct : Cleaned - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f0 /n10 /c6 /f0 /n9 00:00 90027 Bytes 86036 Bytes 3991 Bytes
OptiPNG /c6 /f0 /n10 /c6 /f4 /n5 00:02 90027 Bytes 63955 Bytes 26072 Bytes
PNGCrush /c6 /f0 /n10 /c6 /f4 /n3 00:04 90027 Bytes 63959 Bytes 26068 Bytes
PNGKT /c6 /f0 /n10 /c6 /f1 /n3 00:00 90027 Bytes 51182 Bytes 38845 Bytes
PNGOptimizer /c6 /f0 /n10 /c6 /f5 /n4 00:01 90027 Bytes 46768 Bytes 43259 Bytes
PNGOUT /c6 /f0 /n10 /c6 /f0 /n10 00:00 90027 Bytes 85871 Bytes 4156 Bytes
PNGRewrite - - - - - -
PNGWolf /c6 /f0 /n10 /c6 /f5 /n6 00:08 90027 Bytes 46322 Bytes 43705 Bytes
TruePNG /c6 /f0 /n10 /c6 /f5 /n2 00:06 90027 Bytes 45173 Bytes 44854 Bytes
CryoPNG /c6 /f0 /n10 /c6 /f4 /n2 00:00 90027 Bytes 44923 Bytes 45104 Bytes
PNGSlim /c6 /f0 /n10 /c6 /f5 /n2 15:31 90027 Bytes 45405 Bytes 44622 Bytes
Image Catalyst /c6 /f0 /n10 /c6 /f5 /n2 00:05 90027 Bytes 44236 Bytes 45791 Bytes
pngXoptimizer /c6 /f0 /n10 /c6 /f5 /n2 00:05 90027 Bytes 44156 Bytes 45871 Bytes
ScriptPNG /c6 /f0 /n10 /c6 /f5 /n2 00:07 90027 Bytes 44236 Bytes 45791 Bytes

filtering-each-line.png

This image contains very filtrable values (more than 68000 gradients and differents colors). Better is the filtering step, better is the compression.

RESULTS : Good : Filtered - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c2 /f0 /n64 /c2 /f0 /n64 00:00 181408 Bytes 181408 Bytes 0 Bytes
OptiPNG /c2 /f0 /n64 /c2 /f4 /n1 00:01 181408 Bytes 757 Bytes 180651 Bytes
PNGCrush /c2 /f0 /n64 /c2 /f4 /n1 00:02 181408 Bytes 757 Bytes 180651 Bytes
PNGKT - - - - - -
PNGOptimizer /c2 /f0 /n64 /c2 /f5 /n1 00:00 181408 Bytes 790 Bytes 180618 Bytes
PNGOUT /c2 /f0 /n64 /c2 /f0 /n64 00:01 181408 Bytes 181234 Bytes 174 Bytes
PNGRewrite - - - - - -
PNGWolf /c2 /f0 /n64 /c2 /f5 /n5 00:10 181408 Bytes 872 Bytes 180536 Bytes
TruePNG /c2 /f0 /n64 /c2 /f4 /n1 00:02 181408 Bytes 754 Bytes 180654 Bytes
CryoPNG - - - - - -
PNGSlim /c2 /f0 /n64 /c2 /f4 /n1 05:53 181408 Bytes 750 Bytes 180658 Bytes
Image Catalyst /c2 /f0 /n64 /c2 /f4 /n1 00:07 181408 Bytes 751 Bytes 180657 Bytes
pngXoptimizer /c2 /f0 /n64 /c2 /f4 /n1 00:03 181408 Bytes 751 Bytes 180657 Bytes
ScriptPNG /c2 /f0 /n64 /c2 /f4 /n1 00:04 181408 Bytes 751 Bytes 180657 Bytes

grayscale-alpha-filter.png

This image contains an Alpha Channel which be filtered. Software can use the Black Pixels methods, or can Filter the RGB area.

RESULTS : Good : Filtered - Correct : Black Pixels - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c4 /f5 /n2 /c4 /f5 /n3 00:00 21692 Bytes 18045 Bytes 3647 Bytes
OptiPNG /c4 /f5 /n2 /c4 /f5 /n1 00:02 21692 Bytes 18885 Bytes 2807 Bytes
PNGCrush /c4 /f5 /n2 /c4 /f5 /n1 00:03 21692 Bytes 18885 Bytes 2807 Bytes
PNGKT /c4 /f5 /n2 /c4 /f1 /n1 00:00 21692 Bytes 19778 Bytes 1914 Bytes
PNGOptimizer /c4 /f5 /n2 /c4 /f5 /n2 00:00 21692 Bytes 18925 Bytes 2767 Bytes
PNGOUT /c4 /f5 /n2 /c4 /f5 /n2 00:03 21692 Bytes 17875 Bytes 3817 Bytes
PNGRewrite - - - - - -
PNGWolf /c4 /f5 /n2 /c4 /f5 /n5 00:32 21692 Bytes 18390 Bytes 3302 Bytes
TruePNG /c4 /f5 /n2 /c4 /f5 /n1 00:06 21692 Bytes 17468 Bytes 4224 Bytes
CryoPNG - - - - - -
PNGSlim /c4 /f5 /n2 /c4 /f5 /n1 25:13 21692 Bytes 16596 Bytes 5096 Bytes
Image Catalyst /c4 /f5 /n2 /c4 /f5 /n1 00:09 21692 Bytes 16565 Bytes 5127 Bytes
pngXoptimizer /c4 /f5 /n2 /c4 /f5 /n1 00:06 21692 Bytes 16626 Bytes 5066 Bytes
ScriptPNG /c4 /f5 /n2 /c4 /f5 /n1 00:12 21692 Bytes 16565 Bytes 5127 Bytes

grayscale-alpha-to-grayscale-trns.png

Some PNG GrayScale+Alpha use Alpha Channel when it's not necessary. The tRNS chunk can be used to do transparency with a PNG8 (GrayScale), without using an Alpha Channel.

RESULTS : Good : GrayScale tRNS - Correct : Paletted tRNS - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c4 /f0 /n4 /c4 /f0 /n1 00:00 7302 Bytes 6184 Bytes 1118 Bytes
OptiPNG /c4 /f0 /n4 /c3 /f4 /d8 /n1 00:00 7302 Bytes 4308 Bytes 2994 Bytes
PNGCrush /c4 /f0 /n4 /c4 /f4 /n1 00:00 7302 Bytes 4350 Bytes 2952 Bytes
PNGKT /c4 /f0 /n4 /c4 /f1 /n1 00:00 7302 Bytes 5576 Bytes 1726 Bytes
PNGOptimizer /c4 /f0 /n4 /c4 /f5 /n1 00:00 7302 Bytes 4354 Bytes 2948 Bytes
PNGOUT /c4 /f0 /n4 /c4 /f0 /n4 00:00 7302 Bytes 6201 Bytes 1101 Bytes
PNGRewrite /c4 /f0 /n4 /c0 /f5 /d8 /n1 00:00 7302 Bytes 3548 Bytes 3754 Bytes
PNGWolf /c4 /f0 /n4 /c4 /f5 /n2 00:10 7302 Bytes 4124 Bytes 3178 Bytes
TruePNG /c4 /f0 /n4 /c0 /f4 /d8 /n1 00:00 7302 Bytes 3537 Bytes 3765 Bytes
CryoPNG - - - - - -
PNGSlim /c4 /f0 /n4 /c0 /f4 /d8 /n1 01:04 7302 Bytes 3377 Bytes 3925 Bytes
Image Catalyst /c4 /f0 /n4 /c0 /f4 /d8 /n1 00:02 7302 Bytes 3388 Bytes 3914 Bytes
pngXoptimizer /c4 /f0 /n4 /c0 /f4 /d8 /n1 00:01 7302 Bytes 3429 Bytes 3873 Bytes
ScriptPNG /c4 /f0 /n4 /c0 /f4 /d8 /n1 00:02 7302 Bytes 3388 Bytes 3914 Bytes

grayscale-alpha-to-paletted.png

When image use 256 colors or less and use an Alpha Channel, it can sometimes be converted losslessly in PNG8+tRNS. PNG8 can use alpha values for each entry. The restitued image is identique as the original.

RESULTS : Good : Paletted tRNS - Bad : GrayScale+Alpha

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c4 /f0 /n9 /c4 /f0 /n3 00:00 18708 Bytes 15090 Bytes 3618 Bytes
OptiPNG /c4 /f0 /n9 /c3 /f0 /d8 /n1 00:01 18708 Bytes 13832 Bytes 4876 Bytes
PNGCrush /c4 /f0 /n9 /c4 /f0 /n1 00:01 18708 Bytes 16074 Bytes 2634 Bytes
PNGKT /c4 /f0 /n9 /c4 /f1 /n1 00:00 18708 Bytes 20557 Bytes -1849 Bytes
PNGOptimizer /c4 /f0 /n9 /c4 /f0 /n9 00:00 18708 Bytes 18708 Bytes 0 Bytes
PNGOUT /c4 /f0 /n9 /c4 /f0 /n9 00:02 18708 Bytes 15067 Bytes 3641 Bytes
PNGRewrite /c4 /f0 /n9 /c3 /f0 /d8 /n1 00:00 18708 Bytes 13783 Bytes 4925 Bytes
PNGWolf /c4 /f0 /n9 /c4 /f5 /n5 00:13 18708 Bytes 15106 Bytes 3602 Bytes
TruePNG /c4 /f0 /n9 /c3 /f5 /d8 /n1 00:06 18708 Bytes 13426 Bytes 5282 Bytes
CryoPNG - - - - - -
PNGSlim /c4 /f0 /n9 /c3 /f5 /d8 /n1 04:25 18708 Bytes 13149 Bytes 5559 Bytes
Image Catalyst /c4 /f0 /n9 /c3 /f5 /d8 /n1 00:08 18708 Bytes 13461 Bytes 5292 Bytes
pngXoptimizer /c4 /f0 /n9 /c3 /f5 /d8 /n1 00:03 18708 Bytes 13048 Bytes 5560 Bytes
ScriptPNG /c4 /f0 /n9 /c3 /f5 /d8 /n1 00:14 18708 Bytes 12952 Bytes 5756 Bytes

low-compression-huffman-only-is-better.png

Sometimes, compression code can be produce a bad result, when data are not / less compressible. In this image, a high compression will produce a bigger file. In zlib specifications, software have to use the strategy 2 (Huffman Only) to get the best result.

RESULTS : Good : Huffman Only - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c2 /f0 /n225 /c2 /f0 /n22 00:00 173307 Bytes 171473 Bytes 1834 Bytes
OptiPNG /c2 /f0 /n225 /c2 /f5 /n7 00:01 173307 Bytes 100444 Bytes 72863 Bytes
PNGCrush /c2 /f0 /n225 /c2 /f5 /n7 00:04 173307 Bytes 100444 Bytes 72863 Bytes
PNGKT - - - - - -
PNGOptimizer /c2 /f0 /n225 /c2 /f5 /n11 00:01 173307 Bytes 102327 Bytes 70980 Bytes
PNGOUT /c2 /f0 /n225 /c2 /f0 /n225 00:00 173307 Bytes 173307 Bytes 0 Bytes
PNGRewrite - - - - - -
PNGWolf /c2 /f0 /n225 /c2 /f5 /n9 00:09 173307 Bytes 107972 Bytes 65335 Bytes
TruePNG /c2 /f0 /n225 /c2 /f5 /n7 00:02 173307 Bytes 100360 Bytes 72947 Bytes
CryoPNG - - - - - -
PNGSlim /c2 /f0 /n225 /c2 /f5 /n7 02:31 173307 Bytes 100155 Bytes 73152 Bytes
Image Catalyst /c2 /f0 /n225 /c2 /f5 /n7 00:03 173307 Bytes 100183 Bytes 73124 Bytes
pngXoptimizer /c2 /f0 /n225 /c2 /f5 /n7 00:03 173307 Bytes 100155 Bytes 73152 Bytes
ScriptPNG /c2 /f0 /n225 /c2 /f5 /n7 00:03 173307 Bytes 100155 Bytes 73152 Bytes

order-entries-in-palette.png

Most of Paletted images are better stored without filters. In this case, by sorting the entries of the palette, we can use filters line-by-line, and optimize compression of the image.

RESULTS : Good : Palette sorted to apply f1 - Bad : Other sort

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c3 /f5 /d8 /n1 /c3 /f5 /d8 /n3 00:01 24834 Bytes 21698 Bytes 3136 Bytes
OptiPNG /c3 /f5 /d8 /n1 /c3 /f0 /d8 /n1 00:01 24834 Bytes 19296 Bytes 5538 Bytes
PNGCrush /c3 /f5 /d8 /n1 /c3 /f0 /d8 /n1 00:02 24834 Bytes 19319 Bytes 5515 Bytes
PNGKT - - - - - -
PNGOptimizer /c3 /f5 /d8 /n1 /c3 /f5 /d8 /n1 00:01 24834 Bytes 15978 Bytes 8856 Bytes
PNGOUT /c3 /f5 /d8 /n1 /c3 /f5 /d8 /n1 00:02 24834 Bytes 21606 Bytes 3228 Bytes
PNGRewrite /c3 /f5 /d8 /n1 /c3 /f0 /d8 /n1 00:00 24834 Bytes 19319 Bytes 5515 Bytes
PNGWolf /c3 /f5 /d8 /n1 /c3 /f0 /d8 /n4 00:06 24834 Bytes 18301 Bytes 6533 Bytes
TruePNG /c3 /f5 /d8 /n1 /c3 /f1 /d8 /n2 00:05 24834 Bytes 15361 Bytes 9473 Bytes
CryoPNG - - - - - -
PNGSlim /c3 /f5 /d8 /n1 /c3 /f1 /d8 /n2 06:25 24834 Bytes 18133 Bytes 6701 Bytes
Image Catalyst /c3 /f5 /d8 /n1 /c3 /f1 /d8 /n2 00:06 24834 Bytes 14560 Bytes 10274 Bytes
pngXoptimizer /c3 /f5 /d8 /n1 /c3 /f1 /d8 /n2 00:04 24834 Bytes 14778 Bytes 10056 Bytes
ScriptPNG /c3 /f5 /d8 /n1 /c3 /f1 /d8 /n2 00:13 24834 Bytes 14397 Bytes 10437 Bytes

paletted-as-grayscale.png

Sometimes, even if all colors are Gray-Level, Paletted just do it better than GrayScale. Do not forget to try Paletted, even if input is already GrayScale.

RESULTS : Good : Paletted - Bad : GrayScale

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c0 /f5 /d8 /n3 /c0 /f5 /d8 /n3 00:00 17304 Bytes 15612 Bytes 1692 Bytes
OptiPNG /c0 /f5 /d8 /n3 /c0 /f4 /d8 /n1 00:00 17304 Bytes 15771 Bytes 1533 Bytes
PNGCrush /c0 /f5 /d8 /n3 /c0 /f4 /d8 /n1 00:00 17304 Bytes 15771 Bytes 1533 Bytes
PNGKT - - - - - -
PNGOptimizer /c0 /f5 /d8 /n3 /c0 /f5 /d8 /n2 00:00 17304 Bytes 15835 Bytes 1469 Bytes
PNGOUT /c0 /f5 /d8 /n3 /c0 /f5 /d8 /n3 00:03 17304 Bytes 15443 Bytes 1861 Bytes
PNGRewrite /c0 /f5 /d8 /n3 /c0 /f5 /d8 /n2 00:00 17304 Bytes 15835 Bytes 1469 Bytes
PNGWolf /c0 /f5 /d8 /n3 /c0 /f5 /d8 /n2 00:40 17304 Bytes 15837 Bytes 1467 Bytes
TruePNG /c0 /f5 /d8 /n3 /c3 /f5 /d8 /n1 00:03 17304 Bytes 14657 Bytes 2647 Bytes
CryoPNG - - - - - -
PNGSlim /c0 /f5 /d8 /n3 /c0 /f5 /d8 /n1 03:02 17304 Bytes 15421 Bytes 1883 Bytes
Image Catalyst /c0 /f5 /d8 /n3 /c3 /f5 /d8 /n1 00:03 17304 Bytes 14298 Bytes 3006 Bytes
pngXoptimizer /c0 /f5 /d8 /n3 /c3 /f5 /d8 /n1 00:02 17304 Bytes 14400 Bytes 2904 Bytes
ScriptPNG /c0 /f5 /d8 /n3 /c3 /f5 /d8 /n1 00:06 17304 Bytes 14298 Bytes 3006 Bytes

paletted-to-truecolor.png

This image contains 256 Colors. Most of softwares choose Indexed encoding (Paletted 8 bits / pixels) to store the PNG. But in this case, the TrueColor delta filter can be used : it deletes the PLTE chunks, and convert to TrueColor losslessly.

RESULTS : Good : Converted in TrueColor - Bad : Paletted

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c3 /f0 /d8 /n1 /c3 /f0 /d8 /n1 00:00 1362 Bytes 1362 Bytes 0 Bytes
OptiPNG /c3 /f0 /d8 /n1 /c3 /f1 /d8 /n1 00:01 1362 Bytes 1058 Bytes 304 Bytes
PNGCrush /c3 /f0 /d8 /n1 /c3 /f1 /d8 /n1 00:00 1362 Bytes 1058 Bytes 304 Bytes
PNGKT - - - - - -
PNGOptimizer /c3 /f0 /d8 /n1 /c3 /f5 /d8 /n1 00:00 1362 Bytes 1059 Bytes 303 Bytes
PNGOUT /c3 /f0 /d8 /n1 /c3 /f0 /d8 /n1 00:00 1362 Bytes 1362 Bytes 0 Bytes
PNGRewrite /c3 /f0 /d8 /n1 /c3 /f0 /d8 /n1 00:00 1362 Bytes 1365 Bytes -3 Bytes
PNGWolf /c3 /f0 /d8 /n1 /c3 /f1 /d8 /n1 00:06 1362 Bytes 1058 Bytes 304 Bytes
TruePNG /c3 /f0 /d8 /n1 /c2 /f5 /n1 00:01 1362 Bytes 459 Bytes 903 Bytes
CryoPNG - - - - - -
PNGSlim /c3 /f0 /d8 /n1 /c2 /f5 /n1 05:12 1362 Bytes 438 Bytes 924 Bytes
Image Catalyst /c3 /f0 /d8 /n1 /c2 /f5 /n1 00:03 1362 Bytes 457 Bytes 905 Bytes
pngXoptimizer /c3 /f0 /d8 /n1 /c2 /f5 /n1 00:02 1362 Bytes 439 Bytes 923 Bytes
ScriptPNG /c3 /f0 /d8 /n1 /c2 /f5 /n1 00:03 1362 Bytes 438 Bytes 924 Bytes

truecolor-alpha-as-filtered-paletted.png

This image is TrueColor+Alpha. RGB area contains data which are not displayed by browser. Softwares have to clean the RGB area, then have to choose the correct ColorType (this image can be converted to Paletted after the clean pass), and have to sort the palette.

RESULTS : Good : Clean, Paletted, Sorted >tRNS first - Correct : Clean, Paletted, Sorted - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f5 /n3 /c6 /f5 /n6 00:00 72038 Bytes 58307 Bytes 13731 Bytes
OptiPNG /c6 /f5 /n3 /c6 /f2 /n3 00:04 72038 Bytes 60638 Bytes 11400 Bytes
PNGCrush /c6 /f5 /n3 /c6 /f2 /n2 00:06 72038 Bytes 60605 Bytes 11433 Bytes
PNGKT /c6 /f5 /n3 /c6 /f1 /n1 00:00 72038 Bytes 32029 Bytes 40009 Bytes
PNGOptimizer /c6 /f5 /n3 /c6 /f5 /n1 00:00 72038 Bytes 28952 Bytes 43086 Bytes
PNGOUT /c6 /f5 /n3 /c6 /f5 /n3 00:03 72038 Bytes 57922 Bytes 14116 Bytes
PNGRewrite /c6 /f5 /n3 - 00:00 72038 Bytes 72038 Bytes 0 Bytes
PNGWolf /c6 /f5 /n3 /c6 /f5 /n6 00:20 72038 Bytes 26065 Bytes 45973 Bytes
TruePNG /c6 /f5 /n3 /c3 /f5 /d8 /n2 00:09 72038 Bytes 17241 Bytes 54797 Bytes
CryoPNG /c6 /f5 /n3 /c6 /f2 /n1 00:00 72038 Bytes 28669 Bytes 43369 Bytes
PNGSlim /c6 /f5 /n3 /c3 /f0 /d8 /n2 02:36 72038 Bytes 21140 Bytes 50898 Bytes
Image Catalyst /c6 /f5 /n3 /c3 /f5 /d8 /n2 00:08 72038 Bytes 16260 Bytes 55778 Bytes
pngXoptimizer /c6 /f5 /n3 /c3 /f5 /d8 /n2 00:03 72038 Bytes 16824 Bytes 55214 Bytes
ScriptPNG /c6 /f5 /n3 /c3 /f5 /d8 /n2 00:16 72038 Bytes 16260 Bytes 55778 Bytes

truecolor-alpha-as-filtered-paletted-2.png

This image is TrueColor+Alpha. Software have to choose the correct ColorType (this image can be converted to Paletted). This image should be better optimized without sorting tRNS value first, but with another sorting (by colors).

RESULTS : Good : Paletted, Colors sorting - Correct : Paletted, tRNS sorting - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f5 /n8 /c6 /f5 /n8 00:01 33868 Bytes 33868 Bytes 0 Bytes
OptiPNG /c6 /f5 /n8 /c3 /f5 /d8 /n2 00:01 33868 Bytes 20645 Bytes 13223 Bytes
PNGCrush /c6 /f5 /n8 /c6 /f5 /n8 00:06 33868 Bytes 33868 Bytes 0 Bytes
PNGKT /c6 /f5 /n8 /c6 /f1 /n2 00:01 33868 Bytes 38228 Bytes -4360 Bytes
PNGOptimizer /c6 /f5 /n8 /c6 /f5 /n8 00:00 33868 Bytes 33868 Bytes 0 Bytes
PNGOUT /c6 /f5 /n8 /c6 /f5 /n8 00:05 33868 Bytes 33868 Bytes 0 Bytes
PNGRewrite /c6 /f5 /n8 /c3 /f0 /d8 /n2 00:00 33868 Bytes 26386 Bytes 7482 Bytes
PNGWolf /c6 /f5 /n8 /c6 /f5 /n8 00:07 33868 Bytes 33568 Bytes 300 Bytes
TruePNG /c6 /f5 /n8 /c3 /f5 /d8 /n2 00:06 33868 Bytes 20737 Bytes 13131 Bytes
CryoPNG /c6 /f5 /n8 /c6 /f0 /n2 00:03 33868 Bytes 34318 Bytes -450 Bytes
PNGSlim /c6 /f5 /n8 /c3 /f0 /d8 /n4 01:59 33868 Bytes 25003 Bytes 8865 Bytes
Image Catalyst /c6 /f5 /n8 /c3 /f0 /d8 /n4 00:06 33868 Bytes 20454 Bytes 13414 Bytes
pngXoptimizer /c6 /f5 /n8 /c3 /f5 /d8 /n2 00:03 33868 Bytes 20172 Bytes 13696 Bytes
ScriptPNG /c6 /f5 /n8 /c3 /f5 /d8 /n2 00:11 33868 Bytes 20056 Bytes 13812 Bytes

truecolor-alpha-to-grayscale-alpha.png

In addition to Bad Transparency Test, software can have to choice the correct ColorType after cleaning or filtering. In this case, when the RGB data are cleans, software can choice GrayScale+Alpha.

RESULTS : Good : Filtered and GrayScale - Correct : Black Pixels and GrayScale - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f0 /n4 /c6 /f0 /n7 00:00 97074 Bytes 89625 Bytes 7449 Bytes
OptiPNG /c6 /f0 /n4 /c6 /f5 /n3 00:04 97074 Bytes 76654 Bytes 20420 Bytes
PNGCrush /c6 /f0 /n4 /c6 /f5 /n2 00:07 97074 Bytes 77196 Bytes 19878 Bytes
PNGKT /c6 /f0 /n4 /c6 /f1 /n2 00:00 97074 Bytes 57755 Bytes 39319 Bytes
PNGOptimizer /c6 /f0 /n4 /c6 /f5 /n2 00:00 97074 Bytes 54451 Bytes 42623 Bytes
PNGOUT /c6 /f0 /n4 /c6 /f0 /n4 00:02 97074 Bytes 87874 Bytes 9200 Bytes
PNGRewrite - - - - - -
PNGWolf /c6 /f0 /n4 /c6 /f5 /n8 00:09 97074 Bytes 52083 Bytes 44991 Bytes
TruePNG /c6 /f0 /n4 /c4 /f5 /n2 00:11 97074 Bytes 41296 Bytes 55778 Bytes
CryoPNG /c6 /f0 /n4 /c6 /f4 /n1 00:05 97074 Bytes 54359 Bytes 42715 Bytes
PNGSlim /c6 /f0 /n4 /c4 /f5 /n4 15:21 97074 Bytes 39960 Bytes 57114 Bytes
Image Catalyst /c6 /f0 /n4 /c4 /f5 /n4 00:13 97074 Bytes 39921 Bytes 57153 Bytes
pngXoptimizer /c6 /f0 /n4 /c4 /f5 /n4 00:04 97074 Bytes 40009 Bytes 57065 Bytes
ScriptPNG /c6 /f0 /n4 /c4 /f5 /n4 00:17 97074 Bytes 39921 Bytes 57153 Bytes

truecolor-alpha-filter.png

As the grayscale-alpha-filter test, this image contains an Alpha Channel which be filtered. Software can use the "Black Pixels" methods, or can Filter the RGB area.

RESULTS : Good : Filtered - Correct : Black Pixels - Bad : Other

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f5 /n2 /c6 /f5 /n5 00:01 46912 Bytes 40286 Bytes 6626 Bytes
OptiPNG /c6 /f5 /n2 /c6 /f5 /n2 00:03 46912 Bytes 41937 Bytes 4975 Bytes
PNGCrush /c6 /f5 /n2 /c6 /f5 /n2 00:05 46912 Bytes 41937 Bytes 4975 Bytes
PNGKT /c6 /f5 /n2 /c6 /f1 /n2 00:00 46912 Bytes 42264 Bytes 4648 Bytes
PNGOptimizer /c6 /f5 /n2 /c6 /f5 /n3 00:00 46912 Bytes 39374 Bytes 7538 Bytes
PNGOUT /c6 /f5 /n2 /c6 /f5 /n2 00:09 46912 Bytes 39823 Bytes 7089 Bytes
PNGRewrite - - - - - -
PNGWolf /c6 /f5 /n2 /c6 /f5 /n8 00:11 46912 Bytes 37648 Bytes 9264 Bytes
TruePNG /c6 /f5 /n2 /c6 /f5 /n2 00:13 46912 Bytes 38996 Bytes 7916 Bytes
CryoPNG /c6 /f5 /n2 /c6 /f4 /n2 00:02 46912 Bytes 39791 Bytes 7121 Bytes
PNGSlim /c6 /f5 /n2 /c6 /f5 /n7 43:50 46912 Bytes 37141 Bytes 9771 Bytes
Image Catalyst /c6 /f5 /n2 /c6 /f5 /n7 00:08 46912 Bytes 37039 Bytes 9873 Bytes
pngXoptimizer /c6 /f5 /n2 /c6 /f5 /n3 00:10 46912 Bytes 37109 Bytes 9803 Bytes
ScriptPNG /c6 /f5 /n2 /c6 /f5 /n7 00:21 46912 Bytes 37039 Bytes 9873 Bytes

truecolor-alpha-to-paletted-trns.png

When image use 256 colors or less and use an Alpha Channel, it can sometimes be converted losslessly in PNG8+tRNS. PNG8 can use alpha values for each entry. The restitued image is identique as the original.

RESULTS : Good : Paletted tRNS - Bad : TrueColor+Alpha

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f0 /n10 /c6 /f0 /n4 00:00 32473 Bytes 25658 Bytes 6815 Bytes
OptiPNG /c6 /f0 /n10 /c3 /f0 /d8 /n1 00:01 32473 Bytes 20012 Bytes 12461 Bytes
PNGCrush /c6 /f0 /n10 /c6 /f0 /n1 00:03 32473 Bytes 27687 Bytes 4786 Bytes
PNGKT /c6 /f0 /n10 /c6 /f1 /n2 00:00 32473 Bytes 47274 Bytes -14801 Bytes
PNGOptimizer /c6 /f0 /n10 /c6 /f0 /n1 00:00 32473 Bytes 27657 Bytes 4816 Bytes
PNGOUT /c6 /f0 /n10 /c6 /f0 /n10 00:03 32473 Bytes 25971 Bytes 6502 Bytes
PNGRewrite /c6 /f0 /n10 /c3 /f0 /d8 /n1 00:00 32473 Bytes 20049 Bytes 12424 Bytes
PNGWolf /c6 /f0 /n10 /c6 /f0 /n7 00:07 32473 Bytes 25641 Bytes 6832 Bytes
TruePNG /c6 /f0 /n10 /c3 /f0 /d8 /n4 00:03 32473 Bytes 19894 Bytes 12579 Bytes
CryoPNG /c6 /f0 /n10 /c6 /f0 /n1 00:02 32473 Bytes 27655 Bytes 4818 Bytes
PNGSlim /c6 /f0 /n10 /c3 /f0 /d8 /n4 02:25 32473 Bytes 19148 Bytes 13325 Bytes
Image Catalyst /c6 /f0 /n10 /c3 /f0 /d8 /n4 00:03 32473 Bytes 19180 Bytes 13293 Bytes
pngXoptimizer /c6 /f0 /n10 /c3 /f0 /d8 /n4 00:04 32473 Bytes 19399 Bytes 13074 Bytes
ScriptPNG /c6 /f0 /n10 /c3 /f0 /d8 /n4 00:06 32473 Bytes 19180 Bytes 13293 Bytes

truecolor-alpha-to-truecolor-trns.png

Some PNG24+Alpha use Alpha Channel when it's not necessary. The tRNS chunk can be used to do transparency with a PNG24 (TrueColor), without using an Alpha Channel.

RESULTS : Good : TrueColor tRNS - Bad : TrueColor+Alpha

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c6 /f0 /n7 /c6 /f0 /n2 00:00 16653 Bytes 15515 Bytes 1138 Bytes
OptiPNG /c6 /f0 /n7 /c6 /f4 /n1 00:01 16653 Bytes 10227 Bytes 6426 Bytes
PNGCrush /c6 /f0 /n7 /c6 /f4 /n1 00:01 16653 Bytes 10227 Bytes 6426 Bytes
PNGKT /c6 /f0 /n7 /c6 /f1 /n1 00:00 16653 Bytes 12887 Bytes 3766 Bytes
PNGOptimizer /c6 /f0 /n7 /c2 /f5 /n1 00:00 16653 Bytes 9168 Bytes 7485 Bytes
PNGOUT /c6 /f0 /n7 /c6 /f0 /n7 00:02 16653 Bytes 15489 Bytes 1164 Bytes
PNGRewrite - - - - - -
PNGWolf /c6 /f0 /n7 /c6 /f5 /n2 00:017 16653 Bytes 9932 Bytes 6721 Bytes
TruePNG /c6 /f0 /n7 /c2 /f5 /n1 00:02 16653 Bytes 9150 Bytes 7503 Bytes
CryoPNG /c6 /f0 /n7 /c6 /f4 /n1 00:01 16653 Bytes 10203 Bytes 6450 Bytes
PNGSlim /c6 /f0 /n7 /c2 /f5 /n1 02:44 16653 Bytes 8724 Bytes 7929 Bytes
Image Catalyst /c6 /f0 /n7 /c2 /f5 /n1 00:03 16653 Bytes 8731 Bytes 7922 Bytes
pngXoptimizer /c6 /f0 /n7 /c2 /f5 /n1 00:01 16653 Bytes 8748 Bytes 7905 Bytes
ScriptPNG /c6 /f0 /n7 /c2 /f5 /n1 00:03 16653 Bytes 8731 Bytes 7922 Bytes

truecolor-to-paletted-67-colors.png

Sometimes, even if all colors are Gray-Level, Paletted just do it better than GrayScale. Do not forget to try Paletted, even if input is already GrayScale.

RESULTS : Good : Paletted - Bad : TrueColor

Tool In Out Time SizeIn SizeOut Saved
ADVDef /c2 /f0 /n6 /c2 /f0 /n2 00:00 1920 Bytes 1121 Bytes 799 Bytes
OptiPNG /c2 /f0 /n6 /c3 /f0 /d8 /n1 00:00 1920 Bytes 1104 Bytes 816 Bytes
PNGCrush /c2 /f0 /n6 /c2 /f0 /n1 00:00 1920 Bytes 1187 Bytes 733 Bytes
PNGKT - - - - - -
PNGOptimizer /c2 /f0 /n6 /c3 /f0 /d8 /n1 00:00 1920 Bytes 1100 Bytes 820 Bytes
PNGOUT /c2 /f0 /n6 /c2 /f0 /n6 00:02 1920 Bytes 1159 Bytes 761 Bytes
PNGRewrite /c2 /f0 /n6 /c3 /f0 /d8 /n1 00:00 1920 Bytes 1100 Bytes 820 Bytes
PNGWolf /c2 /f0 /n6 /c2 /f5 /n2 00:12 1920 Bytes 1132 Bytes 788 Bytes
TruePNG /c2 /f0 /n6 /c3 /f0 /d8 /n1 00:00 1920 Bytes 1101 Bytes 819 Bytes
CryoPNG - - - - - -
PNGSlim /c2 /f0 /n6 /c3 /f0 /d8 /n1 01:32 1920 Bytes 1036 Bytes 884 Bytes
Image Catalyst /c2 /f0 /n6 /c3 /f0 /d8 /n1 00:01 1920 Bytes 1049 Bytes 871 Bytes
pngXoptimizer /c2 /f0 /n6 /c3 /f0 /d8 /n1 00:01 1920 Bytes 1049 Bytes 871 Bytes
ScriptPNG /c2 /f0 /n6 /c3 /f0 /d8 /n1 00:07 1920 Bytes 1049 Bytes 871 Bytes