PNG is a great format, but not all applications that save them create the same size files. There are at least four major tools out there that do nothing more than optimize the size using lossless techniques. Some of these tools even work on other formats also.
I have not personally benchmarked them, but this person has. Below are some excerpts from their post.
- punypng: the new kid of the block.
- smush.it: Uses pngcrush as the main PNG optimizer. Currently, available in Yahoo’s YSlow Firefox plug-in. I believe it uses the -brute option for pngcrush.
- OptiPNG: A slighlty better algorithm, compared to pngcrush. In case you’re wondering, Google’s PageSpeed plugin also uses OptiPNG for it’s compression library.
- ImageOptim: The heavyweight contender. Available for OS X, ImageOptim uses every major library out there: advdef, pngcrush, optipng, pngcrush, jpegoptim, jpegtran, and optionally pngout. I ran this the benchmarks with pngout enabled.
If file size is critical I suggest trying all of them since it seems one does better than the other depending on the file.
I use Paint.NET a lot and there is a plug-in for it if you use OptiPNG.
If you want to use Visual Studio, there is a plug-in for it that uses punypng and smush.it.