While helping a client come up with an alternative for the somewhat spotty Smush.it plugin for WordPress, I thought I’d do an extremely unscientific test to see what performed better. So I grabbed an image from Kanye Wes Anderson and got to compressing…
Let’s start with the original 221549 byte image. Feel free to grab it (just click on the image) if you want to play along at home.
To start, I tried uploading the file to PunyPNG. But I quickly realized that they cap their free compression tool at 150 KB. And since I didn’t feel like paying to run a one-off test, I gave Kraken a go instead.
Kraken losslessly compresses the image to 214233 bytes. Which gives a 3.3% savings in total size. In a later test, the OS X utility ImageOptim gave the exact same results. That’s not to say that’ll always be the case, but it was definitely interesting to see. Especially when you consider that the command line (see: Linux friendly) alternative image_optim only managed to compress the image to 214746 bytes.
Even though image_optim gave a respectable savings of 3.1%, I was surprised to see that otherwise insignificant variation. At least until the Smush.it web interface returned the “same” 214746 byte file.
So all of them do a respectable job, but it seems as if Kraken & ImageOptim’s lossless compression methods are slightly more aggressive. Since Kraken has an API, it’d be wonderful if someone could whip up a WordPress plugin to leverage it. But until they do, all of this crap needs to be done before the images are uploaded to your site. Which is a total bummer. It’s still better than relying on the really spotty and ridiculously laggy Smush.it API though.
Anyhow, I hope this was helpful to someone.
Oh! And if you want to see the images that each program outputted, feel free to grab them from here.