Video Compressor
Compress a video in your browser to share it by email or chat. Choose a quality or a target size in MB, lower the resolution, no upload.
Compression uses FFmpeg compiled to WebAssembly (H.264 video, AAC sound, MP4 file). The first time, about 30 MB are downloaded, then kept in your browser's cache. Re-encoding video in a browser runs on a single processor core: it is much slower than desktop software, often slower than real time for HD video. Lowering the resolution speeds it up a lot.
How to compress a video
- Drop a video on the box above, or click it to choose a file (up to 500 MB). Its resolution, length and size appear under the preview.
- Choose the Compression: - By quality (constant quality, size depends on the video), then a Quality: High (CRF 23, smaller savings), Balanced (CRF 28) or Smallest file (CRF 32, visible softening); - By target size (aims at a file size), then type the Target size (MB), for example 8 for an email attachment. A target of about a third of the original is suggested.
- Optionally lower the Resolution (1080p, 720p, 480p or 360p) and choose the Sound: AAC at 128, 96 or 64 kbps, or Remove the sound.
- Press Compress video. A progress bar appears with a Cancel button.
- Compare the sizes shown under the result, watch it, and download it if you’re happy.
The result is always an MP4 file with H.264 video and AAC sound, the combination that plays on every phone, computer, browser and messaging app.
Quality mode or target size?
By quality uses x264’s constant rate factor (CRF). Instead of a fixed bitrate, the encoder keeps a constant visual quality and spends bits where the picture needs them: a static interview compresses a lot, a football match much less. Lower CRF means better quality and a bigger file; each +6 roughly halves the size. CRF 23 is the encoder’s default and looks practically identical to the source; 28 is a good trade-off for sharing; 32 is noticeably softer but very light. The final size can’t be known in advance.
By target size works the other way round: the tool computes the bitrate that fits your size, using
video bitrate (kbps) = target size × 8 × 0.97 ÷ duration − audio bitrate
(the 3 % are left for the MP4 container). For a 10 MB target on a 60-second clip with 96 kbps of sound, that is about 1,260 kbps for the video. The encoder averages this bitrate in a single pass, so the file usually lands within about 10 % of the target. If the target is too small for the length (under about 60 kbps of video), the tool asks for a bigger one rather than producing an unwatchable file.
Tips for smaller files
- Lower the resolution. This is the most effective setting. A phone video filmed in 4K or 1080p looks fine at 720p on a phone screen and needs about half the bits. The resolution refers to the shorter side, so vertical videos are handled correctly.
- Lower or remove the sound. 64 kbps is enough for speech. For a silent screen recording, remove the sound.
- Trim first. Every second removed is saved entirely: cut the useless start and end with the video trimmer before compressing.
- If the result is bigger than the original, the source was already efficiently compressed: keep the original or lower the resolution.
Speed: be patient
Compression re-encodes every frame. The tool uses FFmpeg compiled to WebAssembly (the first time, about 30 MB are downloaded and then kept in your browser’s cache), and it runs on a single processor core. It is therefore much slower than desktop software such as HandBrake. As a guide, on a recent computer a full HD video takes roughly one to two times its own duration, 720p output is faster, and a phone is slower. Keep the tab open during the process. For long videos or large batches, desktop software is the better choice.
Frequently asked questions
Is my video uploaded?
No. The whole compression happens on your device, inside your browser. Nothing is sent to a server, which also means no waiting for an upload.
Why does compression take so long?
Encoding video is heavy work, and WebAssembly in a browser uses one processor core, without the hardware encoders desktop programs use. Choosing a lower resolution speeds things up considerably.
Which option should I use to send a video by email?
Choose By target size (aims at a file size) and type a little less than the attachment limit, for example 20 for a 25 MB limit. For messaging apps, 720p in Balanced (CRF 28) is usually a good start.
Will the quality drop?
Some, since the video is compressed again. At High (CRF 23, smaller savings) the difference is hard to see; at Smallest file (CRF 32, visible softening) details and textures soften. Always check the preview before downloading.
Which video codecs are used?
The output is H.264 video with AAC sound in an MP4 file. The engine also contains HEVC and VP9 encoders, but they are several times slower in a browser and HEVC doesn’t play everywhere, so H.264 is used.
Can I compress any format?
Most formats FFmpeg can read: MP4, MOV, WebM, MKV, AVI and more. If your browser can’t play the file, there is no preview, but it can still be compressed.
Related tools
- Video Trimmer Trim an MP4, MOV, WebM or MKV video in your browser. Pick the start and end on a preview, cut fast without re-encoding or frame-exact. No upload.
- Video to GIF Turn part of an MP4, MOV or WebM video into an animated GIF in your browser, with an optimized colour palette, a size estimate and a preview.
- Video to MP3 Extract the sound of an MP4, MOV, WebM or MKV video as an MP3 file in your browser. Choose the bitrate, keep only a part, nothing is uploaded.
- Video Frame Grabber Extract any frame of a video as a full-resolution PNG or JPG image, step frame by frame, or capture one image every few seconds as a ZIP. No upload.