Batch Compress and Convert on Mac
Automate repetitive compress jobs on Mac with Shortcuts, Automator folder actions, Hazel, or folder watching in GetCompress.
Same export folder every Friday? Automation saves clicks. One random file once a month? Just use Preview. Batch compress and convert on Mac makes sense when settings repeat and file counts climb past what manual export tolerates.
Automation is not free either. You spend time once on presets, folder rules, or scripts so every future Friday is one step instead of thirty. Stop automating when the settings change every job.
When automation is worth it
| Signal | Example |
|---|---|
| Same settings weekly | Render output folder |
| Many files at once | Whole photo shoot |
| Team shared Mac | Same steps for everyone |
| Upload cap every send | Email or portal limit |
If the pain is occasional email bounces, read the email attachment size limits guide first. You may only need a one-time batch, not a permanent watch folder.
Batch workflow examples
These patterns show up often in design, QA, and content workflows:
| Workflow | Input | Output | Tool starting point |
|---|---|---|---|
| Web handoff | PNG UI shots | JPEG max 1920 px | GetCompress preset |
| Bug clips | MOV screen capture | MP4 720p under 20 MB | GetCompress target file size |
| Scan archive | Large PDF | Compressed PDF | Preview or GetCompress |
| Podcast raw | MP4 interview | M4A 128 kbps | QuickTime or GetCompress |
| Social stills | HEIC from iPhone | JPEG for CMS | GetCompress batch convert |
Before you automate, write down the preset once: max width, codec, and target folder. Automation fails when “smaller” is vague and every run picks different settings. Share the preset name with teammates so Friday exports look identical to last week.
For video-heavy batches, the video compression guide for Mac explains bitrate and resolution tradeoffs before you lock a preset. Sensitive client work should stay local; the online compressor safety guide explains why upload batch tools are a poor fit.
Shortcuts and Automator
Shortcuts (Applications → Shortcuts): build a workflow that runs a shell script you paste in, or opens the apps you use every time.
Automator: create a Folder Action that runs when new files land in a folder. Look for “Run Shell Script” or “Encode Media” on your macOS version.
No coding required for simple cases. Automator folder actions break occasionally after macOS upgrades, so keep a manual fallback (GetCompress drag-and-drop) for deadline weeks. Document which folder action maps to which export preset so a teammate can fix it when paths change.
Hazel folder rules
Hazel (paid app) watches a folder and runs a script when files appear. Polished if you already own it. You still maintain the script Hazel calls, often FFmpeg or sips one-liners.
Hazel shines when you need conditions beyond “new file appeared” (only PNG over 5 MB, only on weekdays). GetCompress folder monitoring covers the simpler “compress everything new with preset X” case without extra software.
Simple Terminal script
Optional. Open Terminal (Applications → Utilities → Terminal). Install FFmpeg through Homebrew if it is not already installed:
brew install ffmpeg
Edit paths, save as compress.sh, then run:
cd ~/Exports/in
for f in *.jpg; do sips -Z 1920 "$f"; done
for f in *.mov; do
ffmpeg -i "$f" -vf scale=-2:1080 -c:v libx264 -crf 23 \
-c:a aac -b:a 128k ~/Exports/out/"${f%.mov}.mp4"
done
Someone technical should maintain this when macOS or FFmpeg updates. Scripts do not give you preview, trim, or mixed PDF plus video in one queue unless you write that logic yourself.
Document the script in your team README: input folder, output folder, and which codec flags you chose. The next person should not reverse-engineer CRF values from a cron job comment.
Folder monitoring in GetCompress
In GetCompress settings, turn on folder monitoring, choose a watch folder, and attach a saved preset. New JPEG, MP4, or PDF files process automatically when they appear.
| Watch folder | Preset | Result |
|---|---|---|
~/Exports/web | Web JPEG 1920 px | Ready for CMS upload |
~/Movies/Captures | MP4 1080p | Smaller bug repro clips |
~/Documents/Scans/in | PDF medium | Lighter attachments |
Output goes to a folder you pick. Files stay on your Mac. No upload step. This is the lowest-maintenance way to batch compress and convert on Mac when the trigger is “new file landed” rather than a cron schedule.
Start with one watch folder and one preset. Add complexity only when that path is stable for a month. Two presets on the same folder without subfolders usually causes confusion about which output belongs to which job.
Using GetCompress
GetCompress covers manual batch runs and ongoing folder watches:
- Drop an entire folder for a one-time batch when you only need a single run this week.
- Queue mixed PNG, MP4, and PDF with one preset per media type where settings differ.
- Save presets (web JPEG, email PDF, Slack MP4) and reuse them on the next job.
- Enable folder monitoring when exports land in the same directory on a fixed schedule.
- Trim video and preview output before export so you do not re-open QuickTime for every clip.
Pair folder monitoring with MCP when you also want Cursor to trigger the same presets on demand. For most freelancers and small teams, monitoring plus saved presets replaces hand-maintained shell scripts.
- Reduce File Size on MacFree space on Mac by compressing video, photos, PDF, GIF, and audio with Preview, QuickTime, and GetCompress.
- MCP automationLet Cursor or Claude Desktop run local compress tools on your Mac through MCP, including GetCompress.
- For freelancersPackage MP4, PNG, JPEG, and PDF review copies and deliverables for reliable client handoffs without losing track of masters, versions, or acceptance criteria.
- Automatic Folder Compression on MacSet up automatic folder compression on Mac so new JPEG, MP4, and PDF files compress when they land in a watch folder. Local presets, no upload step.
Buy GetCompress now for local media compression with reusable presets and no media upload.