A closeup of an eye in black and white, with a blue-green iris in color

Many design tools now feature workflows for exporting Retina images, but only for the current document; bulk conversion of assets has tended to be the role of complex command-line utilities like ImageMagick or task runners like Grunt. PhotoShop Actions can be used for batch processing, but they can be somewhat finicky to record, play back, and modify.

For designers, there’s a nice intermediate solution between using a familiar GUI and the power of a CLI: most Adobe products have had the power to run JavaScript under the hood for years. Creating a script action provides complete customisation for your project needs, and acts as a potential stepping stone to stand-alone systems like Gulp.

A screenshot of Adobe Photoshop batch-processing images

If you are executing the same simple sequence of operations in PhotoShop on two or three images, it’s usually fastest to do so manually. But the moment that you repeat the steps more than a few times, it is easiest to record the operation as an automated process.

Applying an automated sequence of operations to a set of images is known as “batch processing”.  Batch processing is typically used to create a series of thumbnails for a gallery, or interchangeable banner images, or headshots for the profile page of a board of directors. In this tutorial we’re using the first example, but in all cases, the final images need to be the same size and aspect ratio.

For a real-world example, you would want your source images to be as high a resolution as possible, and in a lossless format, in order to preserve the highest quality possible during our workflow.

In PhotoShop we wish to execute two steps: