Video Compressor

About Video Compressor

Compressing a video online normally means uploading it to someone else's server and waiting. This tool does the work in your browser instead, using a WebAssembly build of FFmpeg, so the file never leaves your device. Choose a quality preset, optionally scale down to 720p or 480p, and download an MP4 that is typically 50 to 80 percent smaller. No account required.

Video Compressor re-encodes a video to a smaller file using H.264, the codec every phone, browser, and social platform already understands. Drop in an MP4, MOV, WebM, AVI, or MKV file and pick one of three quality presets, optionally scaling down to 1080p, 720p, or 480p at the same time. The tool reports the original and compressed size side by side, so you can see exactly what you saved before downloading anything. Typical results land between 50 and 80 percent smaller, depending on how the source was encoded: footage straight off a phone or a screen recorder compresses hardest, while a file that has already been compressed once has much less slack left in it. Everything happens inside your browser through a WebAssembly build of FFmpeg. Your video is never uploaded, which matters when the footage is client work, family video, or anything you would rather not hand to a free web service. The first run downloads the encoder itself, roughly 32MB, and it is cached after that. To convert just the sound from a file, see Audio Converter, and for still images Image Compressor does the same job for JPG, PNG, and WebP.

Video compression works by discarding the detail your eye is least likely to miss, and the main dial for that is CRF, the Constant Rate Factor. CRF runs from 0 to 51 in H.264, where 0 is mathematically lossless and 51 is unwatchable. The three presets here map to CRF 23, 28, and 33. Each step of roughly 6 halves or doubles the resulting file, so the gap between the High and Small presets is large, often a factor of four. CRF is a quality target rather than a size target, which is why the output size cannot be predicted exactly in advance: a static talking head at CRF 28 lands far smaller than fast moving sport footage at the same setting, simply because there is less new information in each frame. Resolution and bitrate are frequently confused. Halving the resolution removes three quarters of the pixels, but the encoder was already spending very few bits on the redundant ones, so the saving is smaller than the pixel count suggests. Raising the CRF usually saves more than scaling down, and it keeps the video sharp on large screens. Scale down when the target genuinely is small, such as an embedded preview or a mobile only upload. The preset flag controls how hard the encoder works to find savings, trading time against size. This tool uses veryfast, because a single threaded WebAssembly encoder is already slow and a slower preset would multiply the wait in exchange for a few percent. That single threaded constraint is also why very large files are rejected: the whole video must fit in the WebAssembly heap, which is capped well below what a native desktop encoder can address.

How to use Video Compressor

  1. Drop in a video file, or click to select one from your device.
  2. Pick a quality preset, and optionally scale the resolution down.
  3. Click Compress, wait for the progress bar, then download the smaller file.

Frequently Asked Questions

How much smaller will my video get?
Most videos come out 50 to 80 percent smaller on the Balanced preset. The exact result depends on the source: phone footage, screen recordings, and exports from editing software usually have a lot of slack and compress hard, while a video that was already compressed once has much less left to remove. The tool shows the before and after sizes so you can judge the result before downloading.
Is my video uploaded to a server?
No. Compression runs entirely on your device using a WebAssembly build of FFmpeg. The file never leaves your browser, there is no upload step, and nothing is stored anywhere. You can confirm this by opening your browser network tab while compressing.
Why does the first run download about 32MB?
That is the FFmpeg encoder itself, compiled to WebAssembly. It has to be in your browser for compression to happen locally rather than on a server. Your browser caches it, so the second video you compress starts immediately with no download.
Why does compression take so long?
Re-encoding video is heavy work, and a browser based encoder runs on a single thread rather than using every CPU core the way a desktop application does. Expect roughly one to three minutes per minute of video, depending on your hardware and the resolution you chose. Keeping the tab in the foreground helps, since browsers throttle background tabs.
What formats can I compress?
MP4, MOV, WebM, AVI, and MKV inputs are supported. The output is always MP4 with H.264 video and AAC audio, because that combination plays everywhere: every browser, phone, TV, and social platform accepts it without conversion.
Is there a file size limit?
Files above 500MB are blocked, and files above 100MB show a warning first. The limit exists because the entire video has to fit in the WebAssembly memory heap, which is much smaller than what a desktop encoder can address. For larger files, a desktop tool such as HandBrake is the right choice.
Will the quality drop?
Yes, some quality is always lost, because this is lossy compression. How much is up to you. The High preset is close to visually identical for most footage, Balanced is the usual choice and looks fine at normal viewing sizes, and Small trades visible quality for the smallest file. If the result looks worse than you expected, step up a preset and compress the original again rather than the compressed copy.

Related Tools

Also Available As