Batch Resize Images on Mac
Batch resize images on Mac with sips loops, consistent max-width rules, and GetCompress folder presets. Scale dozens of PNG and JPEG files locally.
The sprint handoff folder holds 48 PNG mockups at 2880 px wide. Opening each file in Preview to set the same width takes an hour you do not have. Batch resize images once with a fixed max edge, then compress or convert in a second pass if needed.
When batch resize pays off
Single-file tools break down when filenames differ but display requirements do not.
| Signal | Batch approach |
|---|---|
| Same max width for every hero | One sips loop or preset |
| Mixed PNG and JPEG in one folder | Separate commands or unified app |
| Weekly design exports | Folder monitoring plus saved preset |
| One-off screenshot | Preview is enough |
Batch resize changes pixel dimensions only. It does not replace thoughtful format choice. See how to compress images on Mac for JPEG vs PNG vs WebP after scaling.
Organize source folders
Copy sources into an originals subfolder before batch work. Never overwrite masters when a client asks for a larger revision next week.
- Create
originals/andout/beside your working folder. - Move or copy files to process into
originals/. - Run batch commands writing only to
out/. - Spot-check three files: one photo, one UI screenshot, one image with text.
Remove macOS .DS_Store and stray .heic files from the batch directory when commands use wildcards. Rename files with spaces carefully or quote paths in Terminal.
Document the target width in README or ticket comments so QA knows what to expect in the handoff zip.
Sort files by orientation when your preset uses different max edges for portrait social assets vs landscape heroes. Two quick subfolders (portrait/ and landscape/) prevent accidental stretching when batch commands assume one max width for the entire set.
Batch resize with sips
Open Terminal, cd to originals, and scale every JPEG to max edge 1920 px:
mkdir ../out
for f in *.jpg; do sips -Z 1920 "$f" --out "../out/$f"; done
Batch PNG the same way:
for f in *.png; do sips -Z 1920 "$f" --out "../out/$f"; done
Convert HEIC to JPEG at width in one step:
for f in *.HEIC; do sips -Z 1920 -s format jpeg -s formatOptions 85 "$f" --out "../out/${f%.HEIC}.jpg"; done
sips is built in and fast. It does not preview results, remember presets, or handle exotic formats without extra flags.
For pixel-width fundamentals, see resize image pixels on Mac .
Consistent width across formats
Use one max edge (for example 1920 px) for heroes unless the CMS documents different sizes per template.
| Asset type | Width hint |
|---|---|
| Blog hero | 1920 px max edge |
| Inline figure | 1200 to 1600 px |
| Email banner | 600 to 800 px |
| Icon strip | Match design spec exactly |
After batch resize, run lossless PNG pass with oxipng or convert heroes to WebP. PNG to WebP on Mac covers web delivery after dimensions are correct.
Read lossy vs lossless compression when you choose whether batch output stays PNG or moves to JPEG.
Online batch resize services receive every file you upload. For NDA mockups and unreleased campaigns, keep the folder on disk. See are online file compressors safe for what upload actually means.
Quality after resize
Resize first, then tune lossy quality on JPEG exports:
for f in ../out/*.jpg; do sips -s formatOptions 85 "$f"; done
Avoid re-saving the same JPEG at lower quality repeatedly. Export once from resized sources.
Compare total folder size before and after in Finder Get Info. A 60% drop is common when sources were 3x display width.
Log the sips command you used in the ticket or commit message. Future you will forget whether the sprint used 1920 px or 1600 px unless the number is written down somewhere searchable.
Using GetCompress
GetCompress handles mixed image folders on your Mac without upload. Useful when handoff directories contain PNG, JPEG, HEIC, and WebP every sprint.
- Drop the whole folder and set max width, output format, and quality in one panel.
- Save presets (for example “handoff 1920px JPEG q85”) instead of maintaining shell scripts per project.
- Preview edge cases before you batch fifty UI screenshots.
- Batch resize images on Mac and convert format in the same job when the CMS expects WebP.
- Enable folder monitoring to resize new exports automatically when design tools write to a shared directory.
GetCompress does not replace sips in a minimal CI script. It pays off when non-developers run the same resize every week without touching Terminal. Pair with batch compress and convert on Mac when the handoff also needs format changes.
Spot-check one portrait and one landscape file after the first batch run before you send the zip to stakeholders.
- Resize Image Pixels on MacResize image pixels on Mac with Preview Adjust Size, sips batch commands, and GetCompress presets. Match export width to where images actually display.
- How to Compress Images on MacCompress images on Mac with Preview and Photos. Resize JPG and PNG, convert HEIC, and batch compress with GetCompress.
- Batch Compress and Convert on MacAutomate repetitive compress jobs on Mac with Shortcuts, Automator folder actions, Hazel, or folder watching in GetCompress.
- Lossy vs losslessUnderstand lossy and lossless file compression for JPEG, PNG, MP4, PDF, and audio, and when each approach fits your workflow.
Buy GetCompress now for local media compression with reusable presets and no media upload.