Most Effective Method to Reduce and Optimize PNG Images

Written by Kevin Liew on 10 Mar 2010
281,068 Views • Techniques

Introduction

Just recently, I was assigned to in charge of an iPhone game website. Due to the design, it needs heaps of png files so that I can use CSS to layer them together. It's quite a sophisticated website when it also come with a jQuery scrolling effect. I hope I can show it here, but it haven't released yet. :)

I like png, it supports by all the browsers (except IE6, but you have the hack anyway). Usually, I would use JPEG or GIF, but this time, most of the images has drop shadow and the background of the website is tiled with clouds. However, we're facing a problem, the file size of the PNG files are pretty massive. Though most of us has fast Internet, but it's good to optimized all the images to be as small as possible without losing quality.

One of my friend showed us this technique to reduce PNG file size and I was pretty amazed. All the time, the PNG optimizer is here with me. That's it, we're using Adobe Photoshop to do it. Of course, not the Save as web, just one more step, we can reduce PNG file size but still maintain its image quality.

So, Obviously, you need photoshop, not sure if Gimp have it.

Step 1: A PNG File

I choose an image randomly and this is it:

Optimize PNG - Choose a PNG file

Step 2: Posterize it

Go to the menu bar, Image -> Adjustment -> Posterize

Optimize PNG - Posterize option

Step 3: Posterize it

After you've clicked on Posterize, you should able to see a dialog . It has a slider for posterize level adjustment. Slowly adjust it to your desired quality. If you observed it carefully, you will able to see some colors are being discarded, and that's the way to reduce the file size.

Optimize PNG - Adjust posterize level

Step 4: Save as web

Okay, the final step - save your file. Go to File -> Save as web... Then, you've just optimized your PNG file! I believe your PNG file size is reduced.

Optimize PNG - Save as web

A small test

The following is some tests I have done to see how much file size it has reduced.

  • Optimize PNG - Save as web

    Original file - 147 KB

  • Optimize PNG - Save as web

    Web Optimized (Save as web without posterization) - 70 KB

  • Optimize PNG - Save as web

    Posterized and save as web - 53 KB

  • Optimize PNG - Save as web

    Posterized with slight losing of Image quality and save as web - 37 KB

Conclusion

There are a lot of softwares out there, but most of them couldn't do the job well. I still reckon we need human eyes to make sure we optimize the images properly without compromising too much of the image quality. This is a simple technique and I guess it's the most efficient and less time consuming. However, we do need Adobe photoshop or si image editor that has posterize or similar capabilities.

If you think, it's not worth it to run a big program just to do a small task, well, it works for me because I have photoshop running all the times. :) I hope it helps. Cheers.

If you have a better way to do it, don't forget to share it in the comment below :)

Join the discussion

Comments will be moderated and rel="nofollow" will be added to all links. You can wrap your coding with [code][/code] to make use of built-in syntax highlighter.

71 comments
Andy Jones 14 years ago
Nice article. I think that Adobe Fireworks is great at optimising pngs - I use fireworks to layout all my web sites, rather than Photoshop - I feel it's a lot more flexible and better at image optimisation.
Reply
Bonita 14 years ago
cool! I'm definitely going to try out this method, thanks!
Reply
David Hucklesby 14 years ago
Okay. I just took your "original file" - 68k on this page - and saved for Web using the GIMP. Result = 13,735 bytes. PNGOUTwin reduces it further, to 10,215 bytes.
Hmm.
Reply
loswl 14 years ago
WOW! that is pretty good reduction, nice :)
Reply
Aivea 14 years ago
hi,
this tutorial is very useful to me.,
Reply
Fabiano P S 14 years ago
@David Hucklesby: Ok, I hear you!
Reply
Web Design Kent 14 years ago
I make J2ME games for mobile phones. We have done several tests, and PNGOUT always comes out on top as the best PNG optimiser.
Reply
hjhndr 14 years ago
Do check out:
http://optipng.sourceforge.net/
It shaves about 25% or more off already optimized pngs. For real.
Reply
electrical 14 years ago
thank you for information.
Reply
Dejan Web Dizajn Artist 14 years ago
Hey just what I needed! :)
Reply
svart 14 years ago
Well it works :)

thanks
Reply
Anbu 14 years ago
Hi,
Found one more nice idea. Saved PNG as GIF. Again saved GIF to PNG. Size reduced from 120kb to 34kb without reduction of quality.
Reply
neo 13 years ago
hi
..what about for shadowed png?
Reply
Al Kamal Md. Razib 14 years ago
Great !! Thats a nice interesting posting. Thanks for sharing.
Reply