Batch Size And Mask

Script for Adobe Photoshop
Latest update 3/11/2024, version 2.3

Size, crop, and remove or replace the background of images.

  • Process a folder of images
  • Set size and resolution
  • Crop to minimum margin
  • Remove background using path, alpha channel, or select subject
  • Replace background with new image
  • Output to BMP, JPG, PNG, PSD, or TIF
  • Save and restore all settings
  • User-configurable localization

Single-user perpetual license
Pay once, no subscription,
use forever

IMPORTANT: the script depends on the Photoshop feature Select Subject that was introduced in Photoshop CC 2018 (version 19). Earlier versions of Photoshop will not run this script correctly. For best results use the latest version of Photoshop as the Select Subject feature has improved greatly in recent years.

How-to Video

How to use the script

The interface has five sections: Input, Size, Transform, Output, and Settings. Set desired options and click the OK button to begin. A progress bar is displayed as images are processed. To cancel processing, press the ESC key. Otherwise, when complete, the number of images processed is reported. If problems occur, a log file is written to the output folder, and the user is notified.

The script depends on the accuracy of Photoshop’s Select Subject feature, which works well in most cases, but isn’t perfect 100% of the time. At a minimum, the user should open Bridge and scan through thumbnails of images output to ensure the results are satisfactory. For any images that fail to crop and/or mask the subject correctly, open in Photoshop and transform the image manually.

As of Photoshop version 23.5.0, Select Subject added the options Device (Quicker results) and Cloud (Detailed results). For most installations the default is Device, the only choice prior to version 23.5.0. The script uses whatever is the default method. To change the default method to the superior Cloud option, go to Preferences (Windows) or Settings (macOS), section Image Processing. Set the drop-down list Select Subject Processing to the desired default method.

Section 1: Input

Folder — select a folder of images to process.

Include subfolders — if enabled, images in subfolders are included. All subfolders in the input folder are created in the output folder so the subfolder structure is preserved.

Section 2: Size

Pixels width and height — enter the width and height in pixels of the desired dimensions of final images. Before resizing each image, the current resolution is recorded, and once the image is resized, the image resolution is adjusted to match the original resolution. If resizing causes the image to increase resolution, the script employs the resampling method Preserve Details 2.0 for maximum quality.

Pixels per inch — enter the desired pixels per inch of final images.

Calculate — if unsure of the ultimate pixels dimensions, click the button to open the Calculate size dialog.

Batch Size And Mask Calculate Size

Enter the desired size, and in what measurements units, and the desired pixels per inch. Click the button Calculate to determine the pixels dimensions that match the values entered. Click the button Apply to transfer these values to the main interface, or Cancel to ignore the result.

Section 3: Transform

Crop — when enabled, enter a percentage of the subject’s longest dimension to use as the minimum margin from any edge of the canvas. The subject is centered in the image no closer to any canvas edge than the value for minimum margin.

Remove background — enable the checkbox and the script attempts to remove the background using the options next.

Path — the first path found is used to mask the image. If a path isn’t found, the script uses Select Subject instead.

Alpha channel — the first alpha channel found is used to mask the image. If an alpha channel isn’t found, the script uses Select Subject instead.

Select subject — the scripts uses Photoshop Select Subject to mask the image. The script depends on Photoshop’s ability to detect a subject. If Photoshop has trouble accurately selecting a subject, the script suffers the same.

Add background — when the option Remove background is enabled, this option becomes available. Enable and select a background file. The file is placed into each image, moved down to become the bottom layer, and scaled to fill the canvas size.

Run Action — enable and select an Action Set and Action within the set to execute before saving each image. Other transformation options are performed before the Action is run.

Section 4: Output

Folder — the location to which images are saved. Click the Folder button and navigate to the desired location.

Format — select the file format to output. Choices are BMP, JPG, PNG, PSD, or TIF.

Flatten — the result is a single “Background” layer. BMP and JPG always perform this step.

Single merged layer — applies to formats PNG, PSD, and TIF. When enabled, hidden layers are discarded, the remaining layers are merged to a single layer, and any layer mask is applied. PNG does not support multiple layers, so this step always occurs if not flattened. The option does not apply to BMP or JPG as both do not support transparency and must be flattened.

The options Flatten and Single merged layer are mutually exclusive. Choose one or the other, or neither. The script does not allow both.

Understand that some formats and situations always flatten or reduce the image to a single merged layer. For example, output to BMP or JPG is always flattened because the formats do not support layers. The PNG format supports one layer at most, so the image is always reduced to a single merged layer if not flattened. As well, images converted from RGB to CMYK may flatten or merge to a single layer to preserve the effect of adjustment layers, which cannot reliably convert from one color space to another.

Quality — applies to JPG format only. Valid range is from 0 to 12. 0 is extreme compression resulting in low quality. 12 is light compression that is virtually indistinguishable from the original, the highest possible quality, which of course, results in the largest file size. 10 to 12 is recommended for print or other high-quality reproduction. For web images, 5 to 8 is an acceptable range.

Convert to profile — converts color to the selected profile prior to output.

The formats JPG, PSD, and TIF always embed color profiles. BMP and PNG do not embed color profiles.

Original file name + — a suffix of characters appended to each output file name. The characters entered must be legal to use in file names. Any illegal characters are automatically removed. Having no suffix is allowed, in which case output file names exactly match input file names.

Rename for web — detects characters in the file name that require URL encoding and replaces them with a dash. Prevents URLs that look like “…/This%20is%20the%20File%20Name.jpg”. Instead the result is “…/This-is-the-File-Name.jpg”.

File name lowercase — converts the output file name to lowercase. Recommended for web resource file names. While the domain name of URLs is case-insensitive, the path is not. However, some hosts convert paths to lowercase, causing resource not found when letter case doesn't match. Using lowercase for web resources helps avoid these errors.

When files are output, any existing files of the same name in the output folder are replaced without alert.

Section 4: Settings

The current options may be saved and restored later. Select from the Load drop-down list to choose saved settings, and the current options are updated. Click the Delete button, and the saved settings selected in the Load drop-down list are permanently removed. Click the Save button, provide a name for the settings, and the current options are preserved. If the name already exists, the user may choose to replace the saved settings. Or click the checkbox Replace settings, and choose the settings to replace.

The script provides default saved settings named [Default]. These settings cannot be deleted but may be updated to the current values. Save settings, click the checkbox Replace settings, and choose [Default].

When settings are saved, there is also the option to include Input folder and/or Output folder.

Batch Size And Mask Save settings

Each time the script is launched, the input and output folders are restored to the last location used. To override these defaults, enable the options to include Input folder and/or Output folder. When the saved settings are loaded, the input folder and/or output folder are restored to the values saved.

Available color profiles

For the option Convert to profile, the list of profiles from which to choose is compiled by searching known locations in the system for .icc/.icm files and extracting the profile name. This occurs each time the script is launched. The list should include most of the same profiles Photoshop displays in dialogs such as Color Settings, but it doesn’t match exactly. If a needed profile does not appear in the list, add the profile to a location both Photoshop and the script look for profiles (below), and relaunch the script.






By default the script language is US English, which does not require further download or configuration. To have the script interface display other languages, choose from the available languages below. Download and copy the .i18n file to the script folder alongside the script. When launched, the script detects the language file and displays interface text in that language. If your language is not listed, download the English file and translate it. The file is plain text formatted as JSON, containing interface text in English, and a second value for its translation, which for the English file is the identical text. Copy the file and rename it to replace “en” with the relevant code for your language, then edit the file to change each line’s second value to the translation in your language. For more detailed instructions of how to edit and install i18n files, see How to Localize Scripts.



Single-user perpetual license
Pay once, no subscription, use forever

Change log: batch-size-and-mask.txt

For help installing scripts, see How to Install and Use Scripts in Adobe Creative Cloud Applications.

IMPORTANT: scripts are developed for the latest Adobe Creative Cloud applications. Many scripts work in CC 2018 and later, even some as far back as CS6, but may not perform as expected, or run at all, when used in versions prior to 2018. Photoshop features Select Subject and Preserve Details 2.0 definitely fail prior to CC 2018 (version 19) as the features do not exist in earlier versions. For best results use the latest versions of Adobe Creative Cloud applications.

IMPORTANT: by downloading any of the scripts on this page you agree that the software is provided without any warranty, express or implied. USE AT YOUR OWN RISK. Always make backups of important data.

IMPORTANT: fees paid for software products are the purchase of a non-exclusive license to use the software product and do not grant the purchaser any degree of ownership of the software code. Author of the intellectual property and copyright holder William Campbell retains 100% ownership of all code used in all software products regardless of the inspiration for the software product design or functionality.