PNG Optimization tools Overview

This is an overview of PNG optimization tools, comparing them with a set of special files that requires reductions, better filtering or compression. Each tool can be better in a category, that's why they are tagged by Type. You can download some of those tools here: image tools downloads.

Lossless for web

The PNG Test Corpus is a set of special files that can be reduced. A tool can be able to reduce the file size without doing the appropriate reduction, that's why results are displayed with settings (color type, Filtering, Bitdepth, Compression) and with colors like those:

  • Good: reductions are done as expected
  • Correct: reductions are partially done
  • Bad: reductions are not done

advdef by Andrea Mazzoleni

Version tested: 1.19 — Type: Compressor

advdef -z -3 image.png

advdef uses the deflate from 7-zip when user choose -z -3 switch. It compresses iDAT stream using that compression algorithm: considering the description, you should except that the tool will not make any reductions. You should use it after a good PNG optimizer, that is able to reduce PNG file first.

advdef 1.19 with -z -3 options
FileReductionSize InSize OutSaved
01-c3-c0.png/c3 /f0 /d8 /n218623154983125 (17%)
02-c4-c0.png/c4 /f5 /n227942243551 (20%)
03-c6-c2.png/c6 /f5 /n412771105862185 (18%)
04-c2-f0-f5.png/c2 /f2 /n415391266273 (18%)
05-c3-c2.png/c3 /f0 /d8 /n214161428-12 (0%)
06-c6-c3.png/c6 /f0 /n21234693243022 (25%)
07-c4-c3.png/c4 /f0 /n215280123282952 (20%)
08-c0-c3.png/c0 /f0 /d8 /n215855148111044 (7%)
09-c3-tronc.png/c3 /f0 /d8 /n138423191651 (17%)
10-c3-t-first.png/c3 /f0 /d8 /n128932230663 (23%)
11-8-to-4bit.png/c3 /f0 /d8 /n2303615851451 (48%)
12-4-to-8bit.png/c3 /f0 /d4 /n111667103221345 (12%)
13-idat.png/c3 /f0 /d8 /n1782812586570 (84%)
14-chunks.png/c3 /f0 /d8 /n120321744288 (15%)
15-pal-org.png/c3 /f0 /d8 /n224551223932158 (9%)
16-pal-org-t.png/c3 /f0 /d8 /n224795229151880 (8%)
17-pal-dup.png/c3 /f0 /d8 /n2303215991433 (48%)
18-c2-c3-f.png/c2 /f0 /n328840229925848 (21%)
19-c6-c3-f.png/c6 /f0 /n431691239557736 (25%)
20-c6-c4.png/c6 /f5 /n434975276437332 (21%)
21-rgbdata.png/c6 /f5 /n749515428326683 (14%)

advpng by Andrea Mazzoleni

Version tested: 1.19 — Type: Compressor

advpng -z -3 image.png

advpng is PNG snapshot compressor: it compresses the iDAT using the same strategy with none filter, without doing any reductions but basics like compacting the iDAT. Considering that, you should use a different tool to optimize your files, specially for Web usage.

advpng 1.19 with -z -3 options
FileReductionSize InSize OutSaved
01-c3-c0.png/c3 /f0 /d8 /n218623154983125 (17%)
02-c4-c0.pngUnsupported279427940 (0%)
03-c6-c2.png/c6 /f0 /n41277185754196 (33%)
04-c2-f0-f5.png/c2 /f0 /n241539181137-179598 (-11669%)
05-c3-c2.png/c3 /f0 /d8 /n214161428-12 (0%)
06-c6-c3.png/c6 /f0 /n21234693243022 (25%)
07-c4-c3.pngUnsupported15280152800 (0%)
08-c0-c3.pngUnsupported15855158550 (0%)
09-c3-tronc.png/c3 /f0 /d8 /n138423191651 (17%)
10-c3-t-first.png/c3 /f0 /d8 /n128932230663 (23%)
11-8-to-4bit.png/c3 /f0 /d8 /n2303615851451 (48%)
12-4-to-8bit.png/c3 /f0 /d8 /n21166799031764 (16%)
13-idat.png/c3 /f0 /d8 /n1782812586570 (84%)
14-chunks.png/c3 /f0 /d8 /n120321258774 (39%)
15-pal-org.png/c3 /f0 /d8 /n224551223932158 (9%)
16-pal-org-t.png/c3 /f0 /d8 /n224795229151880 (8%)
17-pal-dup.png/c3 /f0 /d8 /n2303215991433 (48%)
18-c2-c3-f.png/c3 /f0 /d8 /n2288401783611004 (39%)
19-c6-c3-f.png/c6 /f0 /n431691239557736 (25%)
20-c6-c4.png/c6 /f0 /n434975304454530 (13%)
21-rgbdata.png/c6 /f0 /n64951556644-7129 (-14%)

OptiPNG by Cosmin Truta

Version tested: 0.7.5 — Type: Reducer

optipng -o3 image.png

OptiPNG is based on PNGCrush, and also includes part of PNGRewrite code for palette rewriting. Unlike PNGCrush, all trials are performed in memory, and it does some image reductions automatically. It's a PNG reducer that's used by lot of online optimizers.

optipng with -o3 options
FileReductionSize InSize OutSaved
01-c3-c0.png/c0 /f5 /d8 /n118623119526671 (36%)
02-c4-c0.png/c3 /f0 /d8 /n1279415551239 (45%)
03-c6-c2.png/c6 /f0 /n11277190153756 (30%)
04-c2-f0-f5.png/c2 /f5 /n11539573966 (63%)
05-c3-c2.png/c3 /f5 /d8 /n114161114302 (22%)
06-c6-c3.png/c3 /f5 /d8 /n11234678614485 (37%)
07-c4-c3.png/c3 /f0 /d8 /n115280113433937 (26%)
08-c0-c3.png/c0 /f5 /d8 /n215855140271828 (12%)
09-c3-tronc.png/c3 /f0 /d8 /n1384228101032 (27%)
10-c3-t-first.png/c3 /f0 /d8 /n128932299594 (21%)
11-8-to-4bit.png/c3 /f0 /d4 /n1303614961540 (51%)
12-4-to-8bit.png/c3 /f5 /d4 /n111667104111256 (11%)
13-idat.png/c3 /f0 /d8 /n1782813216507 (84%)
14-chunks.png/c3 /f0 /d8 /n120321807225 (12%)
15-pal-org.png/c3 /f0 /d8 /n124551234821069 (5%)
16-pal-org-t.png/c3 /f0 /d8 /n12479524043752 (4%)
17-pal-dup.png/c3 /f0 /d4 /n1303215101522 (51%)
18-c2-c3-f.png/c3 /f5 /d8 /n1288401766111179 (39%)
19-c6-c3-f.png/c3 /f5 /d8 /n1316911587915812 (50%)
20-c6-c4.png/c4 /f5 /n2349752245212523 (36%)
21-rgbdata.png/c6 /f5 /n249515436935822 (12%)

Pngcrush by Glenn Randers-Pehrson

Version tested: 1.7.85 — Type: Reducer

pngcrush -brute -blacken -reduce image.png optimized.png

Pngcrush is one of the first PNG optimizer. It was created by Glenn Randers-Pehrson, who wrote part of PNG specs. Most of tools are inspired by Pngcrush, but to use well, we've to know how PNG works at user level: most of reduction options must be specify manually. It's a PNG reducer.

pngcrush 1.7.85 with -brute -blacken -reduce options
FileReductionSize InSize OutSaved
01-c3-c0.png/c3 /f0 /d8 /n118623164572166 (12%)
02-c4-c0.png/c4 /f0 /n127941844950 (35%)
03-c6-c2.png/c6 /f0 /n11277190113760 (30%)
04-c2-f0-f5.png/c2 /f4 /n11539572967 (63%)
05-c3-c2.png/c3 /f1 /d8 /n114161112304 (22%)
06-c6-c3.png/c6 /f0 /n11234699722374 (20%)
07-c4-c3.png/c4 /f0 /n115280131012179 (15%)
08-c0-c3.png/c0 /f5 /d8 /n115855140301825 (12%)
09-c3-tronc.png/c3 /f0 /d8 /n1384228101032 (27%)
10-c3-t-first.png/c3 /f0 /d8 /n128932299594 (21%)
11-8-to-4bit.png/c3 /f0 /d8 /n1303617411295 (43%)
12-4-to-8bit.png/c3 /f5 /d4 /n111667104111256 (11%)
13-idat.png/c3 /f0 /d8 /n1782813216507 (84%)
14-chunks.png/c3 /f0 /d8 /n120321478554 (28%)
15-pal-org.png/c3 /f0 /d8 /n12455123696855 (4%)
16-pal-org-t.png/c3 /f0 /d8 /n12479524252543 (3%)
17-pal-dup.png/c3 /f0 /d8 /n1303217541278 (43%)
18-c2-c3-f.png/c2 /f5 /n128840250943746 (13%)
19-c6-c3-f.png/c6 /f0 /n131691251266565 (21%)
20-c6-c4.png/c4 /f5 /n1349752249312482 (36%)
21-rgbdata.png/c6 /f5 /n249515408638652 (18%)

PngOptimizer by Hadrien Nilsson

Version tested: 2.4.2 — Type: Reducer

pngoptimizercl -file :"image.png"

PNGOptimizer is the faster tool tested here — PNG Test Corpus in few seconds. It does major reductions, like turning to 0,0,0 colors that are not restitued in browser, and it tries some conversions between most used color types. It uses a multi-threading system to be faster. It's a PNG reducer.

PngOptimizer 2.4.2
FileReductionSize InSize OutSaved
01-c3-c0.png/c0 /f4 /d8 /n118623125956028 (33%)
02-c4-c0.png/c0 /f0 /d8 /n1279414871307 (47%)
03-c6-c2.png/c2 /f0 /n11277185474224 (34%)
04-c2-f0-f5.png/c2 /f4 /n11539572967 (63%)
05-c3-c2.png/c3 /f4 /d8 /n114161115301 (22%)
06-c6-c3.png/c6 /f0 /n11234699722374 (20%)
07-c4-c3.png/c4 /f0 /n115280130802200 (15%)
08-c0-c3.png/c0 /f4 /d8 /n215855140541801 (12%)
09-c3-tronc.png/c3 /f0 /d8 /n1384228081034 (27%)
10-c3-t-first.png/c3 /f0 /d8 /n128932294599 (21%)
11-8-to-4bit.png/c3 /f0 /d4 /n1303614911545 (51%)
12-4-to-8bit.png/c3 /f4 /d4 /n111667106211046 (9%)
13-idat.png/c3 /f4 /d8 /n1782812476581 (85%)
14-chunks.png/c3 /f4 /d8 /n120321247785 (39%)
15-pal-org.png/c3 /f4 /d8 /n224551208873664 (15%)
16-pal-org-t.png/c3 /f4 /d8 /n224795202694526 (19%)
17-pal-dup.png/c3 /f0 /d4 /n1303214911541 (51%)
18-c2-c3-f.png/c3 /f4 /d8 /n2288401791710923 (38%)
19-c6-c3-f.png/c6 /f0 /n131691251116580 (21%)
20-c6-c4.png/c6 /f4 /n134975298115164 (15%)
21-rgbdata.png/c6 /f4 /n349515410038512 (18%)

PNGOUT by Ken Silverman

pngout image.png

Version tested: 02/13/2015 — Type: Reducer/Compressor

PNGOUT is a very good PNG encoder, using one of the most effective deflate compressor, KS-Flate. It uses its heuristic filtering, does some reductions (pure losslessly), but misses some that are important but that can be considered as lossy - RGB data that are not displayed.

PNGOUT 02/13/2015
FileReductionSize InSize OutSaved
01-c3-c0.png/c3 /f0 /d8 /n1518623156113012 (17%)
02-c4-c0.png/c4 /f5 /n127942145649 (24%)
03-c6-c2.png/c6 /f5 /n312771104562315 (19%)
04-c2-f0-f5.png/c2 /f2 /n115391290249 (17%)
05-c3-c2.png/c3 /f0 /d8 /n1141614160 (0%)
06-c6-c3.png/c6 /f0 /n11234692673079 (25%)
07-c4-c3.png/c4 /f0 /n615280122233057 (21%)
08-c0-c3.png/c0 /f0 /d8 /n415855148281027 (7%)
09-c3-tronc.png/c3 /f0 /d8 /n3384225781264 (33%)
10-c3-t-first.png/c3 /f0 /d8 /n728932363530 (19%)
11-8-to-4bit.png/c3 /f0 /d8 /n3303615461490 (50%)
12-4-to-8bit.png/c3 /f0 /d4 /n611667102651402 (13%)
13-idat.png/c3 /f0 /d8 /n4782812286600 (85%)
14-chunks.png/c3 /f0 /d8 /n420321228804 (40%)
15-pal-org.png/c3 /f0 /d8 /n124551224752076 (9%)
16-pal-org-t.png/c3 /f0 /d8 /n924795226862109 (9%)
17-pal-dup.png/c3 /f0 /d8 /n1303215271505 (50%)
18-c2-c3-f.png/c2 /f0 /n128840226506190 (22%)
19-c6-c3-f.png/c6 /f0 /n1631691244357256 (23%)
20-c6-c4.png/c6 /f5 /n734975275057470 (22%)
21-rgbdata.png/c6 /f5 /n249515424747041 (15%)

pngwolf by Björn Höhrmann

Version tested: March 2011 — Type: Filtering/Compressor

pngwolf --max-stagnate-time=0 --max-evaluations=1 --7zip-mpass=15 --normalize-alpha --in=image.png --out=image.png

pngwolf uses a genetic algorithm for finding the best scanline filter for each scanline in the image to reduce the file size of PNG images. This tool is good in this job, but does not do any reductions, except turning RGB data to 0,0,0 when it's not displayed.

pngwolf M.2011 with --max-stagnate-time=0 --max-evaluations=1 --7zip-mpass=15 --normalize-alpha options
FileReductionSize InSize OutSaved
01-c3-c0.png/c3 /f0 /d8 /n718623153413282 (18%)
02-c4-c0.png/c4 /f0 /n2279415991195 (43%)
03-c6-c2.png/c6 /f0 /n41277184534318 (34%)
04-c2-f0-f5.png/c2 /f5 /n41539619920 (60%)
05-c3-c2.png/c3 /f1 /d8 /n114161112304 (22%)
06-c6-c3.png/c6 /f0 /n31234691863160 (26%)
07-c4-c3.png/c4 /f5 /n615280120773203 (21%)
08-c0-c3.png/c0 /f5 /d8 /n215855136872168 (14%)
09-c3-tronc.png/c3 /f0 /d8 /n238423157685 (18%)
10-c3-t-first.png/c3 /f0 /d8 /n128932216677 (24%)
11-8-to-4bit.png/c3 /f0 /d8 /n2303615771459 (49%)
12-4-to-8bit.png/c3 /f0 /d4 /n411667102281439 (13%)
13-idat.png/c3 /f5 /d8 /n2782811906638 (85%)
14-chunks.png/c3 /f5 /d8 /n220321676356 (18%)
15-pal-org.png/c3 /f0 /d8 /n724551221502401 (10%)
16-pal-org-t.png/c3 /f0 /d8 /n824795226502145 (9%)
17-pal-dup.png/c3 /f0 /d8 /n2303215911441 (48%)
18-c2-c3-f.png/c2 /f0 /n528840228925948 (21%)
19-c6-c3-f.png/c6 /f0 /n931691239357756 (25%)
20-c6-c4.png/c6 /f5 /n434975267838192 (24%)
21-rgbdata.png/c6 /f5 /n249515397999716 (20%)

PNGZopfli by x128

Version tested: 1.2 — Type: Compressor

pngzopfli -5 image.png

PNGZopfli is like advdef: it's a pure compressor that uses zopfli compression algorithm instead of the deflate of 7-zip. It does not perform any reductions, and can be an ideal complement for any PNG reducer.

PNGZopfli -5
FileReductionSize InSize OutSaved
01-c3-c0.png/c3 /f0 /d8 /n618623153443279 (18%)
02-c4-c0.png/c4 /f5 /n127942146648 (24%)
03-c6-c2.png/c6 /f5 /n412771104732298 (18%)
04-c2-f0-f5.png/c2 /f2 /n415391147392 (26%)
05-c3-c2.png/c3 /f0 /d8 /n21416137046 (4%)
06-c6-c3.png/c6 /f0 /n31234692603086 (25%)
07-c4-c3.png/c4 /f0 /n315280121503130 (21%)
08-c0-c3.png/c0 /f0 /d8 /n315855147961059 (7%)
09-c3-tronc.png/c3 /f0 /d8 /n338423142700 (19%)
10-c3-t-first.png/c3 /f0 /d8 /n228932213680 (24%)
11-8-to-4bit.png/c3 /f0 /d8 /n2303615381498 (50%)
12-4-to-8bit.png/c3 /f0 /d4 /n411667102091458 (13%)
13-idat.png/c3 /f0 /d8 /n3782812156613 (85%)
14-chunks.png/c3 /f0 /d8 /n320321701331 (17%)
15-pal-org.png/c3 /f0 /d8 /n524551221322419 (10%)
16-pal-org-t.png/c3 /f0 /d8 /n624795226152180 (9%)
17-pal-dup.png/c3 /f0 /d8 /n2303215531479 (49%)
18-c2-c3-f.png/c2 /f0 /n228840229275913 (21%)
19-c6-c3-f.png/c6 /f0 /n331691237777914 (25%)
20-c6-c4.png/c6 /f5 /n334975274717504 (22%)
21-rgbdata.png/c6 /f5 /n349515425756940 (15%)

TruePNG by x128

Version tested: 0.5.0.4 — Type: Reducer

truepng -o1 image.png

TruePNG is the most advanced reducer tested here. It's able to reduce color type, bitdepth, does palette sorting combinations, not restitued colors modifications, etc. All features are described here: TruePNG tutorial. It can also use quantization to reduce colors (lossy way).

TruePNG with -o1 options
FileReductionSize InSize OutSaved
01-c3-c0.png/c0 /f5 /d8 /n118623121386485 (35%)
02-c4-c0.png/c0 /f0 /d8 /n1279413651429 (52%)
03-c6-c2.png/c2 /f0 /n11277185204251 (34%)
04-c2-f0-f5.png/c2 /f5 /n11539573966 (63%)
05-c3-c2.png/c2 /f5 /n11416562854 (61%)
06-c6-c3.png/c3 /f5 /d8 /n11234675254821 (40%)
07-c4-c3.png/c3 /f0 /d8 /n115280114203860 (26%)
08-c0-c3.png/c3 /f5 /d8 /n115855127773078 (20%)
09-c3-tronc.png/c3 /f0 /d8 /n1384228081034 (27%)
10-c3-t-first.png/c3 /f0 /d8 /n128932311582 (21%)
11-8-to-4bit.png/c3 /f0 /d4 /n1303614951541 (51%)
12-4-to-8bit.png/c3 /f5 /d4 /n111667100991568 (14%)
13-idat.png/c3 /f5 /d8 /n1782811796649 (85%)
14-chunks.png/c3 /f5 /d8 /n120321665367 (19%)
15-pal-org.png/c3 /f5 /d8 /n324551174817070 (29%)
16-pal-org-t.png/c3 /f5 /d8 /n324795184426353 (26%)
17-pal-dup.png/c3 /f0 /d4 /n1303214951537 (51%)
18-c2-c3-f.png/c3 /f5 /d8 /n1288401578913051 (46%)
19-c6-c3-f.png/c3 /f5 /d8 /n1316911604815643 (50%)
20-c6-c4.png/c4 /f5 /n2349752247612499 (36%)
21-rgbdata.png/c6 /f5 /n249515405608955 (19%)

ZopfliPNG by Lode Vandevenne, Jyrki Alakuijala

Version tested: 2014-06-30 — Type: Reducer/Compressor

zopflipng --lossy_transparent image.png

ZopfliPNG is made by the zopfli team. On most files, ZopfliPNG is good tool that's able to do most of reductions (color type, bitdepth, filtering), except for paletted images — palette sorting, tRNS first, etc. Zopfli produces very similar results as KS-Flate as pure compressor.

ZopfliPNG 2014-06-30 with --lossy_transparent options
FileReductionSize InSize OutSaved
01-c3-c0.png/c0 /f5 /d8 /n818623109457678 (42%)
02-c4-c0.png/c0 /f0 /d8 /n2279412831511 (55%)
03-c6-c2.png/c2 /f0 /n51277179394832 (38%)
04-c2-f0-f5.png/c2 /f5 /n11539570969 (63%)
05-c3-c2.png/c2 /f1 /n11416531885 (63%)
06-c6-c3.png/c3 /f0 /d8 /n41234676854661 (38%)
07-c4-c3.png/c3 /f0 /d8 /n715280105304750 (32%)
08-c0-c3.png/c0 /f5 /d8 /n315855135822273 (15%)
09-c3-tronc.png/c3 /f0 /d8 /n3384225581284 (34%)
10-c3-t-first.png/c3 /f0 /d8 /n128932207686 (24%)
11-8-to-4bit.png/c3 /f0 /d4 /n2303613451691 (56%)
12-4-to-8bit.png/c3 /f0 /d4 /n411667101991468 (13%)
13-idat.png/c3 /f0 /d8 /n4782811946634 (85%)
14-chunks.png/c3 /f0 /d8 /n420321194838 (42%)
15-pal-org.png/c3 /f0 /d8 /n624551221322419 (10%)
16-pal-org-t.png/c3 /f0 /d8 /n524795226292166 (9%)
17-pal-dup.png/c3 /f0 /d4 /n2303213411691 (56%)
18-c2-c3-f.png/c3 /f0 /d8 /n6288401777111069 (39%)
19-c6-c3-f.png/c3 /f0 /d8 /n5316911805613635 (44%)
20-c6-c4.png/c4 /f5 /n4349752128613689 (40%)
21-rgbdata.png/c6 /f5 /n3495153775511760 (24%)

Others tools

cryopng by Frédéric Kayser

Version tested: 0.6.4 — Type: RGBA Reducer — Test: Lossless (PNG Test Corpus)

cryopng -o3 image.png

Mainly based on OptiPNG, cryopng works only on RGBA PNG, and tries to modify RGB data that are not displayed to users including turning them to 0,0,0. It uses the filtering system on RGB area to modify colors, and can try up to five combinations (-f0, -f1, -f2, -f3, -f4). It's a RGBA Reducer.

DeflOpt by Ben Jos Walbeehm

Version tested: 2.07 — Type: Stream optimizer

deflopt -k -b image.png

DeflOpt is a tool that can be used on differents files, including PNG. It removes garbage from PNG files, cleans huffman symbols and does others tricks to optimize the deflate structure. Its process is very fast, and can save some extra bytes after most of deflate compression algorithms.

defluff by Joachim Henke

Version tested: 0.3.2 — Type: deflate stream optimizer

defluff < in.png > out.png

defluff is a very closed project to DeflOpt, and does similar modifications. However, it uses different algorithms. The process is as fast as DeflOpt. You should use defluff after a compression process, you can use it on a file compressed by zlib, 7-zip (deflate), KS-Flate or Zopfli. It could be interesting to test both:

deflopt -k -b image.png
defluff < in.png > out.png
deflopt -k -b image.png

Huffmix by Frédéric Kayser

Version tested: 0.6b1 — Type: Mixer

PNGOUT has a random option -r, that can randomized initial tables. It produces files which can have blocks with differents size (in bits). Huffmix check two files created in random mode and gets the smallest blocks to combine them into a new file.

pngout -f6 -r -kp -ks -force in.png in.png
pngout -f6 -r -kp -ks -force in.png in.png
huffmix test1.png test2.png "test-1and2-mixed.png"

Lossy Optimization

PNG can be optimized in lossy ways, by modifying the deflate encoder, or more simply by decreasing the number of colors in RGB space. Most of them can convert TrueColor to paletted encoding, forcing the quantization to 256 colors maximum.

pngquant by Kornel Lesiński

Version tested: 2.3.5 — Type: Quantizer (paletted)

pngquant converts a PNG files (typically RGB, RGBA or GrayScale+A) to PNG paletted by reducing the number of colors up to 256. It keeps transparency effect by affecting alpha values to corresponding RGB entries. It's very efficient for Web, because of file size that can often be reduced by half.

pngquant --speed 1 image.png

pngnq-s9 by Adrian Pellas-Rice

Version tested: 2012-11-09 — Type: Quantizer (paletted)

pngnq-s9 does the same job as pngquant: it converts PNG files to PNG paletted mode. Unlike pngquant which use a modified Median Cut algorithm, pngnq-s9 is using NeuQuant. It often writes unnecessary entries in palette, that make PNG bigger, but seems to use a better sorting.

pngnqs9 -n 256 -Q f -s 1 image.png

TruePNG by x128

Version tested: 0.5.0.4 — Type: Reducer / Quantizer / Lossy Compressor

truepng -cq image.png

TruePNG is also a good quantizer that can convert a PNG file to palette mode, or reduce the number of color without conversion. PNG-8 meets limitation because it can get only 256 colors, TruePNG is able to reduce colors keeping the original color type.

truepng -cq c=512 image.png

TruePNG can use a more recent method, that's probably the best way to optimize large PNGs faster that transforms data to make it more compressible. It's far faster than color quantization, and most of time give a best quality / size ratio.

truepng -f3 -l q=4 m=0 image.png

Median Cut Posterizer by Kornel Lesiński

Version tested: 2.0 — Type: Lossy Compressor / Posterizer

Median Cut Posterizer PNG file sizes by selectively blurring the image. It makes image more compressible by making it more predictable for PNG's diagonal average prediction filter.

posterize -b -q 90 image.png lossy-filter.png

Median Cut Posterizer (specially with -b) is very good to optimize large PNGs, like true-colors. If you don't use -b, it uses posterization instead, but it's less efficient in most of cases.