Compress Video

Shrink big video files with a simple quality preset. Free, private, and your files never leave your device.

Drop a video here or click to choose

Supported input: MP4, MOV, MKV, WEBM, AVI

High1080p · CRF 23 · best quality
Medium720p · CRF 28 · balanced
Small480p · CRF 32 · smallest file
Loading the video engine — first time only. This downloads roughly 32 MB and is cached afterwards.
Original: —
Compressed: —
Saved: —

Video compression comes down to two levers

The first lever is resolution. Halving the width and height quarters the number of pixels the encoder has to describe. Going from 1080p to 720p leaves about 44 per cent of the pixels; going to 480p leaves about 20 per cent. This is a blunt instrument but an extremely effective one, and on a phone screen the drop is far less visible than the numbers suggest.

The second lever is CRF, or constant rate factor. It is a quality target for H.264 on a scale where lower means better. Instead of forcing a fixed bitrate, the encoder spends whatever bits it needs to hit that quality level, so a static talking-head shot uses very few and a handheld shot of rustling leaves uses many. As a rough guide, each increase of six on the CRF scale roughly halves the file size.

The three presets on this page set both levers at once. Everything runs in your browser, so your files never leave your device.

What each preset actually runs

  • High scales the video to 1080 pixels tall and encodes at CRF 23. This is the standard default quality for H.264 and is close to visually lossless for most content.
  • Medium scales to 720 pixels tall at CRF 28. Noticeably smaller, still clean on a phone or in a messaging app.
  • Small scales to 480 pixels tall at CRF 32. Softer, especially on detailed footage, but tiny.

In every case the width is calculated automatically to preserve the aspect ratio and kept to an even number, which H.264 requires. Scaling uses the Lanczos filter, which is slower than bilinear but keeps edges crisp when shrinking. Video is encoded with libx264 at the veryfast preset, audio is re-encoded to AAC at 128 kbps, and the MP4 index is moved to the front of the file so it can start playing before it has fully downloaded.

Note that the scale filter works in one direction only in practice: if you feed a 480p clip into the High preset it will be upscaled to 1080p, which makes the file bigger and adds no detail. Match the preset to your source or go smaller.

A worked example

Take a 90 second 1080p clip shot on a recent phone at about 45 Mbps. That is roughly 500 MB. Running the Medium preset takes it to 720p at CRF 28, and a file in the region of 12 to 20 MB is a typical result, depending on how much motion is in the shot. The page shows the exact before and after sizes and the percentage saved once it finishes, so you never have to guess.

Content matters enormously here. A locked-off interview against a plain wall compresses to almost nothing. Confetti, fire, water, snow, film grain and fast pans all defeat the encoder's ability to reuse the previous frame, and those clips can end up several times larger at the same settings.

Where in-browser compression struggles

This page runs FFmpeg compiled to WebAssembly. The core is about 32 MB and downloads once, then stays cached. WebAssembly has no access to the hardware video encoders in your phone or graphics card and cannot use the processor instructions native x264 leans on, so encoding here is many times slower than a native build that can use your machine's full instruction set. A minute of 1080p footage can easily take several minutes of real time.

Memory is the harder wall. The source file must be loaded into the browser tab in full, alongside the decoded frames and the output buffer. Tabs are capped well below your machine's RAM, which is why the page warns above 500 MB. A 1 GB video on a phone will usually fail outright, often by silently reloading the tab rather than reporting an error. On a desktop browser with plenty of memory free you will get further.

Because the work is local, there is no upload wait and no queue, but there is also nothing to fall back on if your device is slow. Closing other tabs genuinely helps.

When a different tool fits better

If the video is too long rather than too detailed, cutting is far more effective than compressing. Removing two minutes of dead air removes two minutes of data, and Trim Video does that without touching quality. If you only need a short looping clip for a chat or a forum post, Video to GIF or a small trimmed MP4 will beat a compressed full-length file. And if the picture is irrelevant and you only want what was said, MP4 to MP3 will cut the file to a fraction of its size.

Questions

Why did my file get bigger?

Almost always because the source was already smaller than the preset target, so it was upscaled, or because it was already heavily compressed at a lower bitrate than CRF 23 produces. Choose a smaller preset, or accept that the file is already efficient.

Can I set my own CRF or bitrate?

No. The three presets are fixed. They cover the common cases of share, email and absolute minimum without exposing encoder settings that are easy to get wrong.

What happens to the audio?

It is re-encoded to AAC at 128 kbps regardless of preset. That is transparent for dialogue and fine for most music beds, and it keeps the audio from dominating the file once the video has shrunk.

Will the compressed file play on my phone and on social platforms?

Yes. H.264 video and AAC audio in an MP4 container is the most widely supported combination there is, and the fast-start flag means it begins playing before the whole file arrives.

How long will a large video take?

There is no reliable estimate, because it depends on your device, the resolution, the length and how busy the footage is. The progress bar reflects real encoder progress, so watch the first ten per cent and extrapolate.