Compress Video to a Target File Size on Mac
Compress video to a target file size on Mac with FFmpeg two-pass encoding and GetCompress. Hit exact MB caps for email, portals, and uploads.
The vendor portal says “maximum 50 MB.” Your MOV export is 214 MB at 1080p. Sliding a quality knob in QuickTime might land at 48 MB or 72 MB with no way to type the cap. Target file size encoding exists for exactly this scenario.
Why target file size matters
Many workflows publish a hard byte limit, not a resolution recommendation.
| Destination | Typical pattern |
|---|---|
| Email attachments | Stay under 20 to 25 MB |
| Job application portals | 10 to 100 MB per file |
| Issue tracker uploads | 10 to 50 MB |
| Client review links | Custom cap on the form |
Guessing export tiers wastes time. You re-export, re-upload, and still fail validation. Target size encoding picks a bitrate budget from duration and desired megabytes, then encodes toward that budget.
Trim dead air first. Thirty seconds removed from a screen recording gives the encoder more bits per second for the content you keep. See email attachment size limits when mail is the bottleneck.
What built-in Mac apps cannot do
QuickTime Player and iMovie offer resolution presets (720p, 1080p, 4K) but not a field for “export as 24 MB.” Each tier maps to an approximate bitrate that varies with content complexity.
| Tool | Good for | Limit for target size |
|---|---|---|
| QuickTime export tiers | One-off shares | No megabyte input |
| iMovie share sheet | Simple trims | Same preset guessing |
| Photos | Short phone clips | No fine bitrate control |
That gap is normal. Apple tools optimize for simplicity, not portal forms with numeric caps. When the form lists megabytes, move to FFmpeg or a compressor with explicit target size on video.
Estimate size with bitrate math
Before you encode, a rough estimate prevents surprises. Video size is approximately:
File size (MB) ≈ (video bitrate + audio bitrate) × duration (seconds) ÷ 8 ÷ 1024
Example: three minutes (180 s), target 25 MB total, reserve ~128 kbps for AAC audio:
| Step | Value |
|---|---|
| Target bits | 25 MB × 1024 × 1024 × 8 ≈ 209 Mbit |
| Audio budget | 128 kbps × 180 s ≈ 2.9 Mbit |
| Video budget | ~206 Mbit over 180 s ≈ 1140 kbps average |
Screen recordings with static UI compress well at that rate. Fast motion sports footage may look soft unless you trim or accept a higher cap.
The what is video bitrate guide walks through how resolution and frame rate interact with this math.
Compress with FFmpeg two-pass
FFmpeg two-pass encoding targets an average video bitrate derived from your megabyte goal. Install via Homebrew if needed (brew install ffmpeg).
Example: fit ~24 MB for a 180-second clip (adjust -b:v after your own math):
ffmpeg -y -i input.mov -c:v libx264 -b:v 1100k -pass 1 -an -f mp4 /dev/null && \
ffmpeg -i input.mov -c:v libx264 -b:v 1100k -pass 2 -c:a aac -b:a 128k \
-movflags +faststart output-24mb.mp4
| Pass | Purpose |
|---|---|
| Pass 1 | Analyzes complexity across the timeline |
| Pass 2 | Encodes at the target bitrate |
Add -vf scale=-2:720 before -c:v when 1080p at that bitrate looks blocky. CRF mode is simpler for open-ended quality, but two-pass fits numeric caps better.
Check output size in Finder. If you land at 26 MB, lower -b:v slightly and run pass 2 again, or trim a few more seconds.
Check quality before you upload
Hitting the cap means nothing if text in your UI turns to mush.
- Open the output in QuickTime Player at actual size (100% zoom for screen recordings).
- Scrub through motion-heavy sections and static frames with small type.
- Compare against a 720p CRF export if two-pass looks worse than expected.
| Symptom | Likely fix |
|---|---|
| Blocky gradients | Lower resolution before lowering bitrate |
| Soft UI text | Raise bitrate slightly or trim more |
| Audio thin | Keep AAC at 96 to 128 kbps for voice |
When the portal allows a range (for example 25 to 50 MB), prefer the top of the range for demos with fine detail. Use the minimum only when the form enforces it strictly.
For email-specific workflows, pair this guide with compress video for email on Mac .
Using GetCompress
GetCompress sets target file size on video without manual two-pass commands:
- Enter the megabyte cap from the upload form; GetCompress adjusts encoding toward that limit.
- Trim in the preview player before export so runtime matches what the portal will receive.
- Queue multiple clips with the same cap when a batch of bug repros must each stay under 50 MB.
- Save presets like 25 MB email or 100 MB portal for recurring sends.
- Process locally on your Mac, which matters for staging builds and client previews.
Keep a spreadsheet of portal caps if you apply to jobs or RFPs often. One column for megabytes, one for accepted formats, saves a re-encoding pass when the same MP4 must fit 25 MB on Tuesday and 100 MB on Friday.
GetCompress is an easier alternative when FFmpeg two-pass math feels brittle for every new form. Target file size applies to video in GetCompress; PDF and JPEG use optimization presets instead. For general compression outside numeric caps, see how to compress video on Mac .
- Video bitrate explainedLearn what video bitrate means, how it affects MP4 and MOV file size, and practical bitrate ranges for email, web, and archive.
- Compress Video for Email on MacCompress video for email on Mac with QuickTime and FFmpeg. Trim MOV and MP4 recordings, calculate a bitrate budget, and leave room below attachment caps.
- Email attachment limitsCommon email attachment size limits for video, PDF, and images, plus practical ways to shrink files before you hit send.
- How to Compress Video on MacHow to compress video on Mac with QuickTime, iMovie, FFmpeg, and GetCompress. Smaller MOV and MP4 files for email, Slack, and uploads.
Buy GetCompress now for local media compression with reusable presets and no media upload.