The Day I Realized Manual Processing Was Costing Me Real Money
Last spring, a mid-size e-commerce client sent me 500 product images that needed the same treatment: background normalization to pure white (255/255/255), a specific shadow style, resizing to 2000x2000px at 72 DPI for web and 3000x3000px at 300 DPI for print, and export to both JPEG at 85 quality and PNG-24. Same thing. Every single file.
I’ve been doing this kind of work for fifteen years, and I can tell you exactly what happens when you try to run that volume manually. You start sharp, you get sloppy around file 60, and by file 150 you’re making errors you won’t catch until a client flags them two days later. Manual repetition isn’t just slow, it’s a quality risk. I built a batch system over the previous weekend that handled all 500 shots by mid-afternoon. Client had files by 4pm. I billed for the deliverables, not the clock time. That’s the whole game.
What Photoshop’s Batch Engine Is Actually Doing
Most people treat the Batch command (File > Automate > Batch) like a simple playback button. It’s more than that. Photoshop’s batch processor opens each file from a source folder, runs the designated action on it, then saves and closes the file before moving to the next one. The critical detail here is memory management: Photoshop is essentially resetting its state between files, which means your RAM ceiling matters less than you’d think for large runs. A machine with 32GB handles a 500-file batch similarly to one with 64GB, because it’s not holding all the files in memory simultaneously.
Where people run into trouble is action design. If your action contains a step that requires user input, like a dialog box, Photoshop will pause on every single file and wait. That defeats the entire point. Every step in a batch-ready action needs to run without prompting. That means using Image > Canvas Size with hardcoded values, not relative resizing. It means using Save As with a preset format configuration, not a manual export dialog. It means testing your action on five files before you unleash it on 500.
Building a Batch-Ready Action from the Ground Up
Here’s the structure I use for e-commerce product shots, which you can adapt for almost any repeatable deliverable.
Start by recording the action with a representative file open, not a blank canvas. I use a 4000x5000px RAW-converted TIFF as my test file because it’s larger than anything a client typically sends, so I know my flatten and resize steps won’t introduce artifacts on smaller files.
The action sequence runs in this order: flatten all layers, convert to sRGB (Edit > Convert to Profile > sRGB IEC61966-2.1), apply a Levels adjustment to set white point at 245 on RGB input (not 255, because pure blowout reads as overexposed in catalog contexts), run a Curves adjustment saved as a preset, resize the canvas to 2000x2000px using Image > Canvas Size with the “Relative” box unchecked and anchor centered, sharpen using Unsharp Mask at 85/1.2/3, then export JPEG at quality 85 to a “Web” subfolder. A second action handles the 300 DPI print version and PNG export separately. Two actions, two batch runs, clean folder structure.
The folder naming matters more than people realize. I use a dated output structure: ClientName > YYYY-MM-DD > Web and ClientName > YYYY-MM-DD > Print. Photoshop’s Batch dialog lets you set the destination folder independently of the source, so your originals stay untouched. Never overwrite source files. I have enough backup drives to survive a small disaster, and I still consider overwriting source files an unacceptable risk.
The Mistake That Taught Me to Validate Before Batching
Early in my consultancy work, I built what I thought was a bulletproof action for a cosmetics client’s product line. Ran the batch on 300 files overnight. Came back in the morning to find that 40 of the images had a slight color profile mismatch because about a dozen of the originals were tagged with Adobe RGB instead of sRGB, and I hadn’t built a normalization step into the action. The color conversion I’d included assumed sRGB input. The output files were subtly wrong, not obviously wrong, which is the worst kind of wrong for print deliverables.
Now I run a pre-flight check using Adobe Bridge’s Filter panel before any batch job. Filter by color profile, sort by file size to catch any anomalies, and spot-check five to ten files manually across the range of the dataset. That 20-minute pre-flight has saved me from at least four significant errors in the last two years. The batch system runs faster when the inputs are clean.
Scaling the System with Droplets
Once your action is stable, convert it to a Droplet (File > Automate > Create Droplet). A Droplet is a standalone application Photoshop generates that you can drag files onto directly from Finder or Explorer. It’s the same batch engine running underneath, but it removes the friction of opening Photoshop’s Batch dialog every time. I have color-coded Droplets in a dedicated folder on my desktop: blue for web exports, green for print, orange for client-specific presets. Drag and walk away.
Droplets are also portable across machines if you’re working in a studio with multiple workstations, with one caveat: if the action references a font, pattern, or preset that isn’t installed on the second machine, the Droplet will break silently. Document every dependency in your action before you hand it to anyone else or move it to a new system.
The single most important thing I can tell you about batch automation is this: time spent building the system is not overhead, it’s an investment with a measurable return. I track that return in a spreadsheet. The numbers are not abstract.
Comments (6)
Wow, I had no idea you could do this. Mind blown.
The before and after really sells it. Incredible difference.
I keep coming back to this article. It's that useful.
Love this. I referenced a similar technique in one of my recent posts. Always good to see other perspectives.
Been doing this wrong for years apparently. Thanks for the wake-up call.
Well explained. I think my audience would really benefit from this — mind if I link to it?
Leave a Comment