18

I have a PNG-24 file with transparent background and its current size is 1.5 MB. How to reduce size or use PNG-8 file format and keep same quality ?

enter image description here

PNG file from here: http://www19.zippyshare.com/v/69590430/file.html

Example Image uploaded I tried all suggestions but no good results please advise

thanks

5
  • Are you using Save For Web...? It should give you options for reducing the size, including color depth.
    – James P
    Commented Jul 4, 2012 at 16:02
  • You example image is a JPEG file. If you want people to try different tools/methods on it, you should provide one of you PNG file instead...! Commented Jul 4, 2012 at 23:51
  • site uploader converted it to jpg. here is the png file s8.postimage.org/z4apal6z9/cw_Copy.png .....please dont use posterize as it wont work with other files I have.....thanks
    – zac
    Commented Jul 5, 2012 at 11:59
  • 1
    That link is also a JPEG.
    – Dan D.
    Commented Jul 5, 2012 at 12:03
  • this time I am sure it is png www19.zippyshare.com/v/69590430/file.html.......thanks for your help
    – zac
    Commented Jul 5, 2012 at 14:12

10 Answers 10

6

PNG is a lossless compression format -- without changing the source material in the file, there's very little way to increase compression beyond the default highest level compression. The only real way to reduce the size will be to change the image, either by reducing resolution, or colour depth so that the PNG compression has less complexity to work with.

If you want high levels of compression for the image and don't care about lossless data storage, use JPEG.

3
  • 4
    I wouldn't say little. Photoshop's Save For Web is so poor that PNGOUT can often losslessly reduce files by 20-40%. And Photoshop doesn't support PNG8+alpha which can be 70% smaller for some images.
    – Kornel
    Commented Mar 3, 2013 at 23:47
  • The best numbers I've ever seen proven were around 8-15% but feel free to link me to better data. Commented Mar 6, 2013 at 1:18
  • 1
    I needed to optimize a single png file and used tinypng.com for that. It saved me more than 50% of space.
    – user206345
    Commented Jul 2, 2014 at 16:56
8

RIOT can do that, and a lot more.

Radical Image Optimization Tool (RIOT for short) is a free image optimizer that will let you to visually adjust compression parameters while keeping minimum file size.

It uses with a side by side (dual view) or single view interface to compare the original with the optimized image in real time and instantly see the resulting file size.

The image optimizer is lightweight, fast and simple to use, yet powerful for advanced users. You will be able to control compression, number of colours, meta data settings and much more, and select image format (JPEG, GIF or PNG) for your output file.

Another possibility is to use a combination of pngquant, pngout, and pngcrush, as described here, but this is from the command line.

Here are the instructions how to convert png24 images into png8 for ie6 goodness, all through the command line using open source tools (i think) pngquant +pngout + pngcrush.

1- quantize image into 256 (so basically png8′s look crap with large sprites or sprites with a large colour range).

pngquant 256 some_24_bit.png

2- convert image form a png24 to a png8

pngout -c3 -d8 -y -force some_24_bit.png some_8_bit.png

3- compress image

pngcrush some_8_bit.png -bit_depth 8 -brute -rem alla -reduce some_8_bit_small.png

0
6

Try TinyPNG

From their website:

How does it work?

When you upload a PNG (Portable Network Graphics) file, similar colors in your image are combined. This technique is called “quantization”. Because the number of colors is reduced, 24-bit PNG files can be converted to much smaller 8-bit indexed color images. All unnecessary metadata is stripped too. The result: tiny PNG files with 100% support for transparency.

They have two options:

  • Drag and drop the images onto their website and it gets automatically processed. Free service. (Up to 20 images. Max 5 MB each)
  • Photoshop plugin. This costs $.

I have not tried the PS plugin so can't comment on how well it works.

2
  • This was a really good tip, TinyPNG reduced my 24bit PNG file out of Photoshop, from 200k to 50k, and it retained blended transparency! Thanks for your reply. NOTE it was nearly indistinguishable in image quality. Commented Jul 16, 2017 at 4:57
  • It really works! My 1MB PNG image became 253KB without loosing quality! Commented Mar 15, 2018 at 11:06
5

If you don't mind the command line, take a look at OptiPNG, it might be what you're after.

OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information. This program also converts external formats (BMP, GIF, PNM and TIFF) to optimized PNG, and performs PNG integrity checks and corrections.

1
  • Thanks but failed not much optimization !! I uploaded the image
    – zac
    Commented Jul 4, 2012 at 21:14
3

Use combination of pngout and deflopt. pngout will automatically determine if your PNG colors fit in PNG-8 and use it. deflopt will squeeze out some extra bytes from already optimized image - it is utility to work with any deflated data and PNG is one of those.

2
  • 1
    Did you expect magic? Your image clearly have more than 256 colors. Posterize it to reduce amount of colors first. Commented Jul 4, 2012 at 21:44
  • When size reduced from 970 to 945 this is not good results also posterize does not work with other PNGs I have.
    – zac
    Commented Jul 4, 2012 at 22:41
3

A nice idea for handling PNG with alpha channel in the context of website development would be to let the server do the trick for you: dynamically separate the image data from the alpha channel on the server, optimize both of them separately and recombine them using the canvas element and some JavaScript in the browser. Ta-Da! Works with all modern browsers.

Here is explained how it’s done:

http://headers-already-sent.com/artikel/shrinkimage-1/

You’ll also find a complete ZIP package with the PHP script and a jQuery plugin. Let us know what you think about this.

1

If you really need to shrink an image, and all the easy suggestions don't work, the final answer is to break the image into compressible pieces and recombine them on the client with scripting.

The image from the question looks like a color gradient with vertical lines and some splotches/noise. Break that up into the following layers:

  1. The color gradient with no lines or noise. This will compress well in PNG and very well in JPEG. Even better, use JavaScript to generate the color gradient on the client. You could probably do it in less than 200 bytes of JS.
  2. The vertical lines with no color or noise. You could compress this down to a single 4 bit channel (alpha or grey). You only need a 1 pixel tall image, which you can stretch. That would compress very well in PNG.
  3. The noise. Again, all you need is a single 4 bit channel (alpha or grey). Without color or lines, this should compress very well in PNG or JPEG.

Combine the layers into a single image with JavaScript, and your whole "image" could be 15KB or less.

This sort of work was industry standard in Games for decades, and still is. The great thing is that Photoshop already has all those separate layers, if you created your image like a professional.

1

Standard PNG files already are the most compressed image format you can use, hence why PNG files are used so much for images on websites, especially for design purposes.

But there is still a way you can compress PNG files even further; by decreasing the number of colors used in the image. This can often reduce the file size up to 70% or even higher.

The best automated free software with the highest overall compression percentage I found for this is FileOptimizer which uses multiple engines(ie. PngOptimizer, PNGOUT, pngwolf, etc.) to compress the image to the smallest size possible.

Another online tool I found with good results is this one: http://www.giftofspeed.com/png-compressor/

1

Let me introduce FileOptimizer. It combines various methods for image optimization (including EXIF removal for saving few extra bytes - can be turned off).

Test results and comparison with other solutions.

enter image description here

0

ScriptPNG http://css-ig.net/scriptpng

it gives you about 10 different options including lossy! I tried a bunch and this windows batch file (with bunch of .exes) is great

I personally use it to compress to 8bit lossy. Not really sure how it works but my screenshots look the same. I use it to compress screenshots. I had about 2GB of pngs, now only 700mb

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .