Compress Video to a Target Size

Name the size you need — 10 MB for Discord, 25 MB for email — and get a file that actually fits it. The bitrate is calculated from your clip rather than guessed at with a quality slider, and the finished file is measured against your target before you download it. Nothing is uploaded.

How a size target becomes a bitrate

File size is not a setting an encoder has. What it has is a bitrate — bits per second of video — and size is what falls out of it: bitrate × duration = size. So hitting a target means working the arithmetic backwards from the size you want, dividing it by the length of your clip and subtracting whatever the audio track needs.

That is the same calculation the bitrate & file size calculator does, and this tool runs it on the numbers read out of your own file instead of asking you for them. It is also why a quality slider cannot hit a target: quality settings are about how hard each frame is squeezed, and they have no idea how long your video is.

Encoders overshoot their requested average, so the plan deliberately aims under the target. Then the output is measured — and if it still came out over, it is re-encoded at a bitrate scaled by how far off it was. Most tools stop at the first estimate, which is why they miss.

What each target is for

TargetWhere the limit comes from
5 MBTight upload forms — ticket systems, portals, older webmail.
8 MBThe old Discord limit — still what most guides say.
10 MBDiscord's current free upload limit.
16 MBWhatsApp video, and what survives a 25 MB mail limit.
25 MBGmail and most email attachments.
50 MBDiscord Nitro Basic.
100 MBComfortable for Slack, Notion and most upload forms.

Any other number works too — pick Custom and type it. If the file only needs to lose its soundtrack rather than its detail, muting it is lossless and takes seconds.

Why the resolution drops, and when to stop it

A bitrate has to cover every pixel of every frame. Spread 800 kbps over 1920×1080 and each frame gets so little data that flat areas break into visible blocks; spend the same 800 kbps on 1280×720 and there is enough for each pixel to look right. Scaling down is not a compromise on the way to the target — at a small target it is what makes the result watchable.

The plan shows the resolution it chose before you run anything, and Keep the original resolution overrides it when the output has to stay 1080p — a delivery spec, a platform that rejects anything smaller. Expect a blockier picture in exchange. To work out what a given scale gives you, the resolution calculator does that arithmetic on its own page.

Frequently asked questions

Will it actually hit the size I asked for?

That is the point of the tool. The bitrate is calculated from your clip's own length and audio track with a safety margin, and then — the part most tools skip — the finished file is measured. If it came out over the target it is re-encoded at a lower bitrate automatically. If it still cannot fit, you are told by how much rather than handed a file that fails the upload.

Why does it scale the picture down?

Because the same number of bits looks better spread over fewer pixels. Squeezing 1080p into 10 MB gives every frame so little data that the picture breaks into blocks; the same 10 MB at 720p looks clean. You can switch it off with 'Keep the original resolution', and the plan shows you the resolution it picked before you commit.

Is my video uploaded anywhere?

No. The video is decoded and re-encoded by your own browser using WebCodecs, which is a built-in browser API. Nothing is sent to a server, there is no queue, and the size of your file is limited by your machine rather than by an upload allowance.

Why is there nothing to download before it starts?

Other tools here use ffmpeg compiled to WebAssembly, which is a ~30 MB engine your browser has to fetch first. This one uses WebCodecs — the encoder is already part of your browser, and on most machines it is hardware-accelerated, so the run starts immediately and finishes far faster than a WebAssembly encoder could.

Does a 25 MB file actually attach to an email?

Usually, but leave headroom. Mail servers encode attachments as base64, which adds roughly a third to the transmitted size, so a 25 MB file can be rejected by a service advertising a 25 MB limit. If it bounces, run it again at 16 MB — that is the target the compress-for-email page starts from, for exactly this reason.

Which formats and browsers work?

MP4, MOV, MKV and WebM go in, up to 2 GB, and an MP4 (H.264) comes out — or WebM (VP9) on browsers without an H.264 encoder. AVI, WMV, FLV and MPG are the exception: the browser's built-in video engine has no reader for them, so convert one to MP4 first and compress that. It needs a browser with WebCodecs: current Chrome, Edge, Safari and Firefox all qualify. If yours cannot encode, the tool says so before you pick settings rather than failing halfway.

What if my video is already smaller than the target?

It tells you, and suggests you upload the file as it is. Re-encoding a file that already fits only throws away quality — there is nothing to gain.

Why can't it compress my hour-long video to 10 MB?

Because there is a floor. Below about 100 kbps a video stops being watchable at any resolution, and an hour at that bitrate is still far more than 10 MB. When your target is unreachable the tool says so up front, before you wait for an encode, and the honest fixes are a shorter clip or a bigger target.

Does compressing lose quality?

Yes — this is a re-encode, not a repack, so it is lossy by nature. That is unavoidable when a file has to get smaller. What the tool controls is how the loss is spent: the resolution ladder keeps the picture clean rather than blocky, and the audio track is carried over rather than re-compressed a second time where the container allows it.

The specs behind these numbers

What each platform accepts — frame, length, file size and format — with the date every figure was last checked.