Compress a video to a size limit, not a guess
Most video compressors ask you to pick a vague "quality" slider and then hope the result is small enough. That is backwards. Usually you do not want somecompression — you want the file to fit under a specific hard limit, because an upload button rejected it. This tool starts from that limit and works backwards.
You give it a target in megabytes. It reads how long your video is, subtracts the space the audio track needs, and divides what is left over the running time to get the exact video bitrate that will land just under your number. Then it re-encodes at that bitrate.
The limits people usually hit
| Where | Limit | Notes |
|---|---|---|
| Gmail / Outlook | 25 MB | Larger files get converted to a Drive or OneDrive link |
| Discord (free) | 10 MB | Nitro Basic raises this to 50 MB, full Nitro to 500 MB |
| 16 MB | Applies to video sent in chats on most regions | |
| Slack (free) | 1 GB per file | Rarely the constraint; the workspace storage cap usually is |
Why resolution matters as much as bitrate
There is a floor below which a given resolution simply falls apart. Encoding 1080p at 300 kbps does not give you soft 1080p — it gives you a blocky mess, because there are not enough bits to describe two million pixels thirty times a second. Dropping to 480p and spending the same 300 kbps on a quarter as many pixels looks dramatically better.
That is what the Auto resolution setting does. Once it knows your bitrate budget, it picks the largest resolution that budget can actually support and scales down to it. If you would rather keep the original dimensions and accept the artefacts, choose Keep original — but for aggressive targets, letting it scale down almost always looks better.
Why the result is not exactly the size you asked for
Bitrate targeting is an average, not a contract. The encoder spends more bits on complex, fast-moving scenes and fewer on still ones, so the final byte count depends on your specific footage. To make sure you land under the limit rather than a few hundred kilobytes over it, the tool aims at roughly 95 percent of your target. A 25 MB request produces a file of about 23 to 24 MB.
Nothing is uploaded
The compression runs on your own machine, using FFmpeg compiled to WebAssembly and running inside the browser tab. Your video is never transmitted anywhere. That means you can safely compress confidential recordings, and there is no upload wait on a slow connection.
The trade-off is speed. A server-based compressor runs on many CPU cores; this runs on one browser thread. Expect roughly one to three minutes of processing per minute of video. The first run also downloads the encoder itself — about 30 MB, cached by your browser afterwards. For very long or very large files, a desktop application like HandBrake will be considerably faster.