Batch Convert PSD(s) to PNG(s)

Does anyone have a good workflow for converting a batch of PSD files to PNGs.

I really don’t want to open each file individually just to save it as a PNG. Any help would be greatly appreciated.

I would use Imagemagick from the command line or a script (launched by any method you wish).

https://legacy.imagemagick.org/discourse-server/viewtopic.php?t=16550

1 Like

There are some useful free/dontationware Automator actions here, one of which is a great save for web image action.

You could then set up a Folder Action and drop files in the folder, or manually process them. Or if you have Hazel, automate it using that app.

@george_c, Hazel can process PSDs into PNG?

sips is already on your Mac. I have no experience using it with PSD files, but I do use it to batch convert other image files all the time. What I do is:

  1. Copy all the files I want to convert to a new folder.
  2. In the new folder, change the extensions of all the files to whatever’s appropriate for the format they will be changed to. In your case, that would be png. You can do that in one step by selecting all the files and using the Rename command from the right-click menu.
  3. Open Terminal, cd to the new folder, and run sips -s format png *

Done.

2 Likes

You would need to first install those custom Automator actions I linked to, and then you can build/save an Automator Quick Action (or Automator Workflow) which can then be invoked using Hazel.

Here is a screenshot of a very simple Automator Quick Action built using that custom action:

In Hazel you would just set an action to run this Quick Action on the file matched in Hazel.

What I have done is set it up to look for a certain Finder tag (“toPNG” fo example). When I add that Finder tag to image file(s), Hazel will catch the tagged file, remove the tag, then run the PSD → PNG Automator action on the matched file.

@drdrang and @george_c I went with this command-line tool PSD from CLI as my tool of choice because it required the least amount of steps which is the goal when automating, right? But thank you, Dr. Drang, sips will add another tool to my arsenal.

1 Like

I think sips worked converting PSDs as well. Question, is changing the file extensions manually in the graphical interface necessary? Is there a way to do everything from the terminal?

There are lots of ways to rename files from the command line. If you’re a Homebrew user, consider installing the rename command. But I’m not sure any command line method is going to be faster than doing it from the Finder. Unless you intend to combine the renaming and converting into a shell script.

I know you already found your solution here, just wanted to add for future visitors that you can do this via Photoshop’s built-in tools:

https://helpx.adobe.com/au/photoshop/using/processing-batch-files.html

Just throwing in another option here for anyone interested, but Retrobatch is an incredible app that would handle something like this quite easily. It does cost money, but it’s not a subscription, and it’s worth every penny if you’re even semi-frequently dealing with any kind of batch image processing.

Any Python PSD → PNG solution that’s Open Source?

PSD Tools?

1 Like

Thanks! I’ll investigate. First, though, I need to see what a couple of browsers make of a PSD file URL. If they prompt to open then I can consciously add PSD file support to md2pptx. If not then it’s probably a deviation too far.

(The benefit (as with md2pptx converting SVG to PNG) is to remove a step in someone’s workflow. I say this as someone who goes round the edit and build cycle many times a day.)

I use this automator quick action on a production level to quickly get PNGs from PSDs. You can just select PSDs you want to convert, right click and go to Services and select the Convert to PNG quick action. It’s the quickest and easiest way that I’ve found so far.