Skip to content
Browser Media Studio

Compress a video to fit an upload limit

Open the studio

Free, no sign-up, and nothing is uploaded.

Worked example

Pick a target size and the required bitrate is calculated from your clip's actual length, rather than guessed from a table.

Each preset is a resolution cap and a quality level. Downscaling does most of the work — halving the height removes three quarters of the pixels, which no quality setting can match.

PresetSettings
Tiny — 480p, for messagingCRF 30 · 480p
Small — 720p, for the webCRF 27 · 720p
Balanced — 1080p (recommended)CRF 23 · source
High quality — keeps resolutionCRF 20 · source
Near-lossless — for editingCRF 18 · source

For a 60-second clip with 128 kbps audio, these are the video bitrates that land under each common upload limit:

Upload limitVideo bitrate
8 MB — Discord, free969 kbps
10 MB — WhatsApp1243 kbps
25 MB — Gmail attachment3299 kbps
100 MB — Discord Nitro13579 kbps

The equivalent command

ffmpeg -i holiday-clip.mp4 -c:v libx264 -crf 23 -pix_fmt yuv420p -preset veryfast -c:a aac -b:a 160k -movflags +faststart -threads 1 -y out-holiday-clip.mp4

This is exactly what runs in the browser. Copy it to run the same job locally on a file too large for a tab.

Why it matters

Most "compress to 8 MB" tools apply a fixed quality setting and hope. Size and bitrate are related by one equation — size equals bitrate times duration — so the bitrate that hits a target is arithmetic, not guesswork, once you reserve space for the audio track and the container's own overhead. What is genuinely unpredictable is the reverse: at a constant quality setting the size depends on the footage, which is why this tool refuses to show an estimate in that mode.

What this needs

A 30.7 MB FFmpeg download, cached by your browser after the first time. Nothing is downloaded until you click.

Related tools