Best way to losslessly optimize PNG images

by ,

We have by far the largest RPM repository with dynamic stable NGINX modules and VMODs for Varnish 4.1 and 6.0 LTS. If you want to install NGINX, Varnish, and lots of useful modules for them, this is your one-stop repository to get all performance-related software.
You have to maintain an active subscription in order to be able to use the repository!

As a web optimizer, you might now that the Internet’s main bloatware is images. There are so many tools out there for lossless PNG optimization. Which one is the best now?

;tldr Zopfling


I took a sample .png image sized 46966 bytes and ran it across well established optimizing software. Each time maximum compression/optimization flags were passed.

What I’ve tested:

  • pngout (a less known optimizer with closed source deflate compression algorithm that beats most known tools)
  • optipng (an often choice for most)
  • pngcrush
  • zopflipng (the new folk by Google, actually a companion tool to their zopfli library)


Tool name Flags Result size, bytes
pngout   44519
pngcrush -brute -reduce 46813
optipng -o7 46657
zopflipng -m 43291

Install and use Zopfling

Without much further ado, I will tell you how to use Zopfling to crunch your PNG images without loss of quality.

In CentOS/RHEL, we have made it available for easy install. Setup our repository, then:

yum -y install zopfli

That’s it! Now you can run zopflipng -m /path/to/your.png /path/to/your_optimized.png to crunch size without losing a bit of visible information.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.