ToolsTray

Star a tool to keep it here.

Video Compressor

Compress a video to a size you type in MB and see the projected file before encoding, with presets for WhatsApp at 64, email at 25 and Discord at 20.

Video

Drop a video here

MP4, WebM or MOV · one clip at a time

Destination

A preset writes its number into Target size and stays pressed until you edit the number. WhatsApp's own default is 720p; set Max resolution if you want that too.

Size

Target size plans a bitrate to land under a number. Quality holds a consistent look and lets the size fall where it falls.

Read as decimal megabytes, so 16 MB is 16,000,000 bytes. The figures below use the 1024-based MB your computer shows, which is why 16 projects as about 14.8.

Caps the short edge and keeps both edges even. It never enlarges a clip.

Projected size

—

No video yet

How to use

  1. Drop the clip on the Video area. Its card shows the size on disk, the length and the frame size, and the size is the number you are trying to beat.
  2. Leave Size on Target size when something else is imposing a limit, then type the megabytes in, or press a destination: WhatsApp 64, Email 25, Discord 20. The preset stays pressed until you edit the number.
  3. Switch to Quality when no number is being forced on you. The three levels hand the encoder its own quality setting and the file lands wherever it lands.
  4. Set Max resolution if you can afford to lose pixels. It caps the shorter side of the frame and only ever shrinks, so 720p on a clip that is already 640×360 does nothing whatsoever.
  5. Read the projected size and the saving, then press Compress and leave the tab open. The run row follows the encode, and Cancel stops it cleanly if you grabbed the wrong file.
  6. Play the compressed take, switch back to the original to compare, then press Download. It saves under your clip's name with -compressed.mp4 on the end, and the settings are remembered.

Where the megabytes go

A minute of 4K off a phone runs to a few hundred megabytes, and the email preset on this page stops at 25. To compress a video down to a number like that, type it into Target size and the projected size, the saving and a meter of what stays and what goes appear before anything is encoded. Your megabytes become bits, 3% is held back as headroom, 128 kbps is set aside for the sound if the clip has any, and whatever bitrate remains after that is handed to the encoder for one pass. MB here means a million bytes, the way drives are sold, so 16 MB is 16,000,000 of them. If the number cannot hold the clip, or would make it bigger than it already is, the page says so and Compress waits.

Quality mode works the other way round. Pick High, Medium or Low and the encoder aims for a consistent look with no size cap at all, which suits a clip that only needs to come down a bit. Max resolution sits alongside either mode and measures the shorter side of the frame, so 720p turns a 1920×1080 clip into 1280×720 and an upright 1080×1920 phone video into 720×1280. Losing pixels saves more than any bitrate you can choose, because there is less picture to describe in the first place. What comes out is an MP4 with H.264 video and AAC audio.

A 12-minute screen recording aimed at 25 MB

720 seconds of 1080p, target 25 MB. The budget is 194 Mbit after the 3% is held back, the audio takes 92 Mbit of that over the full 720 seconds, and the video is left with 141 kbps. At 1080p that is a smeared mess the moment anything moves on screen.

Set Max resolution to 480p and the clip comes out 854×480, which is a fifth of the pixels for the same 141 kbps, and the text in a screen recording stays readable. Once it is done the strip shows the size the file actually landed at and the saving to one decimal place, and the compressed take plays beside the original. If the encoder overshot your number a caution says by how much, and if the copy came out bigger than the original nothing is offered at all.

Good to know

  • Output is MP4 with H.264 and AAC, every single time. There is no way to keep a WebM as a WebM here, so run the result through the Video Converter when the container itself matters.
  • It encodes once and never measures the result. The bitrate is arithmetic from your target and the clip's length, and encoders overshoot, so the file can land a little over the number you asked for. When that happens a caution tells you the size it actually reached and how far over it is.
  • The video bitrate has a floor of 100 kbps. Ask for 1 MB on a ten-minute clip and the sums fall below that floor, so the page names the smallest size this clip can plan to and holds Compress until the number is one it can reach.
  • Max resolution is a ceiling on the short edge, and it never enlarges anything. Both sides are then rounded to an even number of pixels, which is what H.264 wants, so the result can sit a pixel off the exact aspect ratio.
  • Audio is re-encoded to AAC at 128 kbps whatever it was before. Nobody will hear that on speech. On music with real top end you might.

Frequently asked questions

Is a megabyte here 1,000,000 bytes or 1,048,576?

It is 16,000,000 bytes, a megabyte counted as a million bytes. Anywhere that measures in mebibytes is working with 16,777,216 instead, so a file sized here comes in under their limit rather than over it.

Why did I get 15.2 MB when I asked for 16?

Three per cent of the budget is held back deliberately. Landing exactly on a limit is how you get rejected by a service that counts container overhead differently, so the real aim is 97% of the number you type.

Why does it say my number cannot hold the clip?

Your clip is long enough that the arithmetic falls under the 100 kbps floor the encoder is given, and the audio track costs another 128 kbps on top of that for every second. The caution names the smallest size this clip plans to; raise the number or trim the clip shorter first.

Target size or Quality, which one should I use?

Target size when a limit exists and the file has to fit inside it. Quality when nothing is enforcing a number and you just want the thing lighter. Quality also sidesteps the trap of naming a size so small that no bitrate juggling can keep the picture watchable.

Does 720p do anything to a video that is already smaller than that?

Nothing at all. The cap only shrinks, and it looks at the shorter side, so a 640×360 clip passes straight through untouched and an upright 720×1280 phone video does the same.

How big a file can I put in?

There is no number written into the tool. The clip is decoded and re-encoded by your browser's own video engine, so the ceiling is the machine: a laptop takes a few hundred megabytes without complaint, a phone considerably less. A decode that fails gives you an error message rather than a silent stall.

What happens to the sound?

It comes across as AAC at 128 kbps. A clip that arrived with no audio track stays silent. To drop the sound on purpose, Mute Video does it without re-encoding the picture at all; to keep only the sound, Extract Audio pulls the track out.

Where do the preset sizes come from?

From each service's own help pages, checked in October 2026: WhatsApp sends videos up to 64 MB even on a slow connection and defaults to 720p, Gmail attachments stop at 25 MB, and Discord's free upload limit rose to 20 MB in August 2026. Type your own number whenever a limit differs.

Can I run the same file through twice to shrink it further?

You can, and it will get smaller, but the second pass is compressing an already-compressed picture and the artefacts compound. One pass at a lower resolution nearly always looks better than two passes down to the same size.

Missing something in Video Compressor? Suggest a feature →

Tell someone who needs this.