Skip to content
GivenTool

Compress a video to a target file size

Compress MP4, MOV or WebM to a target size in MB without uploading it.

Drop a file here or click to browse

Accepts MP4, MOV, M4V, WEBM, MKV, AVI, 3GP. Up to 500.0 MB per file.

Video size is bitrate multiplied by duration, so the only way to hit a size limit is to pick the right bitrate. Type the limit you were given, and this tool works out the bitrate from your clip length, encodes it as H.264 MP4 with AAC audio, and checks the result is under the target. If the first pass comes out slightly over, it automatically re-encodes at 85% of the bitrate.

Encoding happens on your own device with FFmpeg compiled to WebAssembly. That means no upload queue and no privacy trade-off, but it also means speed depends on your CPU: a one-minute 1080p phone clip takes about one to three minutes on a modern laptop and longer on a phone. For very small targets the tool downscales to 1280 px wide, which improves quality at low bitrates far more than squeezing full-resolution frames.

How to use it

  1. Drop a video file (MP4, MOV, WebM, MKV, AVI or 3GP). The player shows a preview and reads the duration.
  2. Enter the target size in MB. Presets for WhatsApp, Discord and email have their own pages linked below.
  3. Optionally cap the resolution or choose "Fastest" if you are in a hurry. Leave audio on unless you only need the picture.
  4. Click Compress and keep the tab open. The progress bar tracks encoding; you can cancel at any time.
  5. Download the MP4. The result card shows the final size and the bitrate that was used.

Frequently asked questions

How does the tool decide the bitrate?

Total bitrate = target bytes x 8 / duration, with a 4% container overhead removed. The audio share (96 kbps, or 0 if muted) is subtracted and the remainder goes to the video stream. If the video bitrate would fall below about 300 kbps the resolution is automatically capped at 1280 px so the picture does not turn into blocks.

Why is the output a bit smaller than the target?

Single-pass encoding cannot hit a byte count exactly, so the tool aims a few percent under. If the first attempt is over, it retries once at 85% of the bitrate. The result card shows the true final size.

Why is browser encoding slower than an app?

The WebAssembly build of FFmpeg used here runs single-threaded so it works in every browser without special server headers. Desktop apps use all cores and often the GPU. The trade-off is that your video never leaves the device.

What is the maximum input size?

Free processing accepts videos up to 500 MB. The file is read into memory for FFmpeg, so very large inputs may fail on phones with limited RAM. Trim the clip first if you only need part of it.

Will the video play on iPhone, Android and Windows?

Yes. The output is H.264 (Main profile) video with AAC audio in an MP4 container with the index moved to the front (faststart), which is the most compatible combination available.