Compress Video

Re-encode a clip down to a quality level you choose, or towards a file size you have been given.

Hybrid processingVideoWorkingNo account needed

What this tool does

Compress Video re-encodes your footage with FFmpeg and returns a smaller MP4. Two routes are offered and they behave differently. Aim for a quality level and the encoder holds a constant quality across the whole clip, letting the resulting size fall out of that. Aim for a file size and it runs a two-pass encode instead: the first pass measures the clip, the second spends a bitrate calculated from its duration.

The quality tiers are constant-rate-factor settings rather than percentages. High, Balanced and Small send CRF 20, 26 and 32 to the encoder, where a lower number means more bits kept and a closer match to the source; those figures are calibrated for x264, and Balanced is the sensible starting point for anything headed to the web. The codec picker offers three encoders. H.264 plays on effectively every browser, phone and television, runs at FFmpeg's veryfast preset, and is the right answer unless something specific pushes you off it. H.265 reaches a smaller file at the same apparent quality and also runs at veryfast, but it is refused by some browsers and older hardware, and it reads that CRF number on its own scale rather than x264's. VP9 is the odd one out: a WebM codec written into an MP4 container here, driven by libvpx's realtime deadline instead of a preset, and handed a CRF without the zero bitrate target libvpx needs before it will treat that number as a pure quality goal. Its output therefore does not follow the tiers the way the other two do, and it is the option to leave alone unless you have a specific reason for it.

Several things this tool will not do are worth knowing first. The size target is an estimate, not a ceiling: the bitrate is derived from the clip's duration with 128 kbps reserved for the audio, so the finished file lands near your figure rather than exactly on it, and the result tells you whether it came within ten per cent, with a note when it overshot. That two-pass route also always encodes H.264, whatever the codec picker is set to, because it is built on the container's own encoder rather than the picker's. The Audio control — keep, 96 kbps, 128 kbps or remove the track — is not read by the encoder at all today: every job re-encodes the audio to AAC and none of them drop it, so that picker is inert until it is wired up. And the frame is never made smaller: a 4K clip comes back at 4K with fewer bits spent on it, which is the expensive way to save space. Downscaling with Resize Video first will get you a far smaller video at the same quality tier.

The encoding happens on the OmniKitly processing service, because no browser ships a video encoder worth using for this, and every job goes there however short the clip is. Your file travels over an encrypted connection. The upload is removed from the server the moment the encode finishes — or, if the job fails instead, when it expires six hours later — and the finished file is swept away at that same six-hour mark. The ceilings are a 200 MB upload and ten minutes per FFmpeg pass, which the two-pass size route is given twice over, and a long clip at a high tier can reach them. One detail for anyone publishing the result: on the quality route the MP4 is written without the faststart flag, so a file served straight from a web server may not begin playing until it has downloaded in full.

How to use it

  1. Add the video. One file or several, each sent as its own job, up to 200 MB apiece. MP4, MOV, MKV, WebM, AVI, WMV, FLV, MPEG, TS and 3GP are all accepted.
  2. Choose what you are aiming at. A quality level when the picture matters more than the number, or a file size when a limit has been handed to you and the footage has to fit inside it.
  3. Set the tier or the figure. High, Balanced or Small on the quality route. On the size route, type anything from 1 to 2000 MB; the default is 25 MB, which clears most chat and mail attachment limits.
  4. Pick the codec, then download. H.264 unless you have checked what has to play the file. The picker applies on the quality route; the size route is H.264 either way, and the Audio control underneath it currently changes nothing. The quality route reports the original size, the new size and the percentage saved; the size route reports the target you asked for and whether it was met.

Processing & privacy

Hybrid processing. Smaller jobs can run locally; heavier jobs may use secure server processing.

Common use cases

Clearing an attachment limit

A messaging app, an application form or a mail server states a figure and refuses anything above it. Name that figure on the size route and let the two-pass encode work towards it.

Publishing a screen recording

Capture software writes at bitrates nobody needs for a static desktop. Balanced on H.264 usually removes most of the bulk with nothing you would notice on playback.

Sharing phone footage that will not send

Handsets record at very high bitrates, so a clip of a few minutes can run to hundreds of megabytes. Re-encoding it at Balanced leaves a much smaller video that still looks like the original.

Keeping reference material on a small disk

Where footage is there to be consulted rather than watched properly, the Small tier keeps it legible at a fraction of the storage it arrived in.

Questions

Is my video uploaded?
Yes, always — there is no smaller-file shortcut that keeps the clip local. FFmpeg does the encoding on the processing service, so the file is sent there over an encrypted connection. Your upload is deleted as soon as the encode finishes, and the output is deleted six hours after the job was created. Tools that need no upload at all, such as Trim Video, are marked as running in the browser.
Will it hit the size I asked for exactly?
Close, but not exactly. The bitrate is worked out from the clip's duration, so the finished file lands around your number rather than on it. The result says whether it came within ten per cent and warns you when it did not, so ask for a smaller figure if it overshoots.
Will the picture look worse afterwards?
Yes. This is a re-encode, and re-encoding is lossy at every tier. High is close enough that most people will not see the difference on ordinary footage, while Small is visibly softer in fast motion and across flat gradients. Nothing here recovers detail, so keep your original.
H.264, H.265 or VP9 — which should I pick?
H.264 unless you have a reason not to: it plays everywhere, and it is what the size route uses regardless. H.265 gives a smaller file for the same look but will not open in some browsers. VP9 is not encoded in a constant-quality mode here, so the tier does not control it the way it controls the other two; if you actually want VP9, Convert Video is the tool that produces a proper WebM.
What does the Audio setting do?
Nothing at present, which is why it is called out above rather than explained. Whatever you pick, the soundtrack is re-encoded to AAC and kept, so choosing to remove it or to drop it to 96 kbps has no effect on the file you get back. Mute Video will strip a soundtrack out if that is what you need.
Why is my video still large?
Usually the resolution or the frame rate. Compress Video re-encodes at whatever frame size and frame rate it was given, so a 4K 60 fps source stays 4K 60 fps and needs the bits to support it. Send it through Resize Video down to 1080p first, then compress the result.
How big a file can I send, and how long does it take?
Up to 200 MB per file, with ten minutes allowed for each FFmpeg pass — one pass on the quality route, two on the size route. High-resolution or long clips are the ones that approach that ceiling; if a job runs out of time, trim or downscale it and try again.
Can I compress several videos at once?
Add them together and each one is encoded as its own job with the same settings, arriving back as separate files. To join clips into a single video instead, use Merge Videos.

Related tools