Compress Video to a Target File Size on Windows
Compress video to a target file size on Windows with FFmpeg two-pass encoding and GetCompress. Hit exact MB caps for email, portals, and uploads.
The vendor portal says “maximum 50 MB.” Your MP4 export is 214 MB at 1080p. Sliding a quality knob in Clipchamp 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 Windows apps cannot do
Clipchamp offers 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 |
|---|---|---|
| Clipchamp export | One-off shares | No megabyte input |
| Photos trim | Short phone clips | No fine bitrate control |
| Xbox Game Bar clips | Quick captures | Limited export options |
That gap is normal. Consumer 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 with winget:
winget install --id Gyan.FFmpeg -e
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 NUL && `
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 File Explorer. 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 Clipchamp or Movies & TV 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 Windows .
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 PC, 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 Windows .
- 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 WindowsCompress video for email on Windows with Clipchamp 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 WindowsHow to compress video on Windows with Clipchamp, 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.