Comparison of PNG optimization tools

This is a comparison of the following PNG optimizers (most of which are available from the Arch Linux official repositories):

Each optimizer was run using the highest compression setting available (except for oxipng, which I ran without -Z) and using the sanest metadata stripping option available (i.e., trying to preserve color information, but removing superfluous tags).

Comparison of file sizes in bytes for pairs of images and utilities
Simple Logo Δ% Manga Scan Δ% Twitter Homepage Δ% Game Screenshot Δ%
Original 3995787977513082024396552
pngcrush 40767+2.0% 592302-32.7% 823123-37.1% 3266510-25.7%
optipng 31819-20.4% 436756-50.4% 790548-39.6% 3119789-29.0%
Caesium 35987-9.9% 436382-50.4% 770581-41.1% 3281303-25.4%
Curtail 39733-0.6% 434947-50.6% 942527-28.0% 3684640-16.2%
OptiImage 26381-34.0% 425008-51.7% 711349-45.6% 3099937-29.5%
oxipng 26381-34.0% 425008-51.7% 711349-45.6% 3096570-29.6%

Curtail (Gnome) and OptiImage (KDE) are both GUIs that seemed to call oxipng to do the heavy lifting. I can't explain the difference between their performances. In terms of UI/UX, OptiImage was vastly superior.

The pngcrush and optipng tools are the ones I'd been using for years before running these tests. The former has not been maintained in a while and the latter is quite slow and almost unconfigurable. I'll be switching to oxipng as it offers the best performance and CLI interface. Good stuff.