How to compress a video to a size limit
- Drop an MP4, MOV, M4V, WebM or MKV into the box above. The In this file panel shows its picture size, codec, bitrate, frame rate and sound before anything changes.
- Choose the limit you need to get under: 8, 10, 16 or 25 MB, or type another number.
- Read the plan line. It says what bitrate and picture size the tool will start with, and why.
- Press Compress video. When it finishes, check the result against the limit in bytes, play it on the page, and download.
Why "set the bitrate" is not enough
The usual way to hit a size is arithmetic: a 25 MB limit over 60 seconds is about 3.3 megabits per second, so ask the encoder for that. It is a reasonable estimate and it is how most compressors work. The trouble is that the encoder treats the number as a target, not a promise, and at low bitrates it stops listening.
We measured this with a 12-second, 1080p, 30 fps test clip recorded at 8 Mbps (12.2 MB, with AAC sound), compressed by Chrome's built-in H.264 encoder, the same one this page uses:
| Asked for | Picture | Came out | Of the limit |
|---|---|---|---|
| 8 MB | 1080p | 7.82 MB | 97.7% |
| 4 MB | 1080p | 3.91 MB | 97.8% |
| 2 MB | 1080p | 2.66 MB | 133% |
| 2 MB, second try at 842 kbps | 1080p | 2.64 MB | 132% |
| 2 MB | 720p | 1.95 MB | 97.7% |
| 1 MB | 1080p | 2.56 MB | 256% |
| 1 MB, second try at 175 kbps | 1080p | 2.56 MB | 256% |
| 1 MB | 480p | 0.98 MB | 97.7% |
Down to about 4 MB the estimate works. Below that, at full resolution, the encoder has a floor: for this clip it would not go under roughly 2.5 MB whatever bitrate it was given. Lowering the bitrate further changed nothing. Reducing the number of pixels did: the same 2 MB target at 720p landed at 97.7%. The floor is not the same on every device or for every video, which is exactly why the result has to be measured rather than predicted.
What this tool does about it
- Starts at a sensible size. It picks the largest picture size where the budget still gives enough bits per pixel, instead of squeezing a 4K clip into 5 MB at full resolution.
- Weighs the result. After encoding, the file's actual size is compared with the limit in bytes.
- Steps down when it has to. If the file is over, the tool corrects the bitrate by how far it missed and goes down one picture size, up to four attempts. Each attempt is listed, so you can see what happened.
- Never hands back a bigger file. If the result is not smaller than your original, it tells you so instead of offering it.
- Leaves the sound alone. The audio is copied across, not re-encoded. Only when it would eat more than a quarter of a small limit is it re-encoded to 64 kbps.
Limits worth knowing
Gmail's attachment limit for personal accounts is 25 MB for the whole message, so a 25 MB video plus any other attachment will not go through as an attachment. Other sites change their limits from time to time; the safest number is the one printed in the upload box you are using. Limits are almost always counted in decimal megabytes, which is how this tool counts too: 10 MB here is 10,000,000 bytes, shown exactly in the result. If a file you made elsewhere keeps failing a limit it seems to meet, this guide explains the two kinds of megabyte.
What it does not do
It does not make H.265 or AV1 files. Those are smaller for the same quality, but some phones, editors and upload forms still refuse them; an H.264 MP4 plays almost anywhere, and a file that fits but will not play has not solved anything. It does not cut the clip either. If the limit is very small for the length, trimming first gives a far better picture than squeezing harder: half the length means twice the bitrate for what is left.
Everything runs in your browser with its own video encoder, the one video calls use. The video is not uploaded, there is no size limit on what you drop in, and no account.