Video Compressor

Overview

The video compressor runs FFmpeg as WebAssembly directly in your browser, so your video file never leaves your device. Adjust CRF quality, output resolution, frame rate, format, and audio bitrate, then download the compressed result. No upload, no server processing.

First-Load Wait Time

The first time you use the tool, it downloads about 30 MB of the FFmpeg WebAssembly runtime. This is a one-time download — subsequent uses in the same browser session start immediately. On mobile the tool prompts for confirmation before starting, since this download counts against your data plan.

CRF: The Most Important Setting

CRF (Constant Rate Factor) controls the quality-to-size tradeoff. Range is 0–51, lower = better quality but larger file:

  • CRF 18–22 — near-visually lossless, large file, suitable for archiving masters
  • CRF 23 — the default; good balance for most uses
  • CRF 27–35 — noticeably compressed, small file, fine for sharing over chat or email

Lowering the resolution (e.g. 1080p → 720p) typically reduces the file size more than adjusting CRF alone. If your goal is the smallest possible file, reduce resolution first, then raise CRF.

Format Guide

  • MP4 — widest compatibility, works everywhere; best default
  • WebM — smaller than MP4 at equivalent quality, ideal for web pages
  • MKV — supports multiple audio tracks and subtitles, useful for archiving
  • AVI — legacy format with good compatibility but larger files; only use when the receiving device requires it

Handling Out-of-Memory Errors

4K or files over 100 MB can exhaust browser memory on low-RAM devices. When this happens, work through these steps in order:

  1. Set output resolution to 1080p or 720p instead of "Original"
  2. Raise CRF to 28–32
  3. Close other browser tabs to free memory
  4. If still failing, use desktop video software for that file