Skip to content

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.

By Petr Samokhin

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.

DestinationTypical pattern
Email attachmentsStay under 20 to 25 MB
Job application portals10 to 100 MB per file
Issue tracker uploads10 to 50 MB
Client review linksCustom 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.

ToolGood forLimit for target size
Clipchamp exportOne-off sharesNo megabyte input
Photos trimShort phone clipsNo fine bitrate control
Xbox Game Bar clipsQuick capturesLimited 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:

StepValue
Target bits25 MB × 1024 × 1024 × 8 ≈ 209 Mbit
Audio budget128 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
PassPurpose
Pass 1Analyzes complexity across the timeline
Pass 2Encodes 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.

  1. Open the output in Clipchamp or Movies & TV at actual size (100% zoom for screen recordings).
  2. Scrub through motion-heavy sections and static frames with small type.
  3. Compare against a 720p CRF export if two-pass looks worse than expected.
SymptomLikely fix
Blocky gradientsLower resolution before lowering bitrate
Soft UI textRaise bitrate slightly or trim more
Audio thinKeep 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 .

Buy GetCompress now for local media compression with reusable presets and no media upload.