How to convert a high number of PNG images to JPG forcing the background color?


I have around 200 hundred PNG small images and I would like to convert all of them into JPG with a black background.

I usually do these kind of batch work with FastStone Image Viewer but there are no option for background color.

Can you suggest me a method and a program that I can use to achieve that result?

10/6/2011 5:36:00 PM

Accepted Answer

Using ImageMagick's command line tools, you could do:

$ composite -compose Dst_Over -tile pattern:GRAY0 image.png image.jpg


  1. Uses pre-generated pattern (GRAY0) that is solid black
  2. Puts the pattern behind (-compose Dst_Over) your png-file image.png
  3. Tiles the pattern (-tile) so it will fill the whole canvas
  4. Intelligently saves the composite image as JPG (IM recognises the needed conversion from image.jpg's extension)

Now, the aforementioned command can only do one composite image at a time, but you could hook to and loop it with other command line tools—be it Windows' command line, bash or anything else. (Looking at your profile, you might be most interested in Windows' tools.)

8/16/2016 7:14:00 AM

In Photoshop - Action and Batchor Image Processor is what you need:

So this is how it would basically go:

  1. Make Action where you create a new layer at the bottom and fill it with color.
  2. Use File > Automate > Batch or File > Scripts > Image Processor to execute that recorded Action to all of the images.


My bad!

I got thinking about it and you can also run Actions through File > Scripts > Image Processor as well and as you can convert the file.. if I remember correctly: jpeg, psd and tiff So, it would work better in your case.

So instead of Batch use Image Processor.

But, I'll keep that part about saving image inside Action because that allows you to save it in more formats than Image Processor

Saving image in another format in Batch

Unless cs 5 has way to do this better.. Converting the file format can't be done with batch.

You can however do this:

  • As part of the Action where you create new layer and fill it with color, also save the file with the format you want and to the folder you want, then close the document ctrl+w and then go to batch and select destination as none and run the Batch.