Compress a video
Re-encode a video at lower bitrate or smaller resolution to shrink the file. Output is H.264 MP4.
Drop your file here
or click to browse
Nothing has left this page since you opened the tool. Show network activity
The browser enforces this: the site’s security policy only lets the page talk to the code libraries’ servers and an anonymous usage counter (tool name, file type, size range). A request carrying your file to anywhere else would be blocked before it left.
Check it yourself: open your browser’s developer tools, go to the Network tab, and run the tool. Or turn off Wi-Fi once the tool has loaded; it keeps working.
How it works
Re-encode a video at lower bitrate or smaller resolution to shrink the file. Output is H.264 MP4.
Three knobs. Quality (CRF 18 to 35, where lower means higher quality and bigger file; 28 is a balanced default). Resolution (keep original, or downscale to 1080p / 720p / 480p / 360p). Audio (96, 128, 192 kbps AAC, or drop audio entirely for video-only output). Optionally trim to a clip range first via the built-in trimmer. The tool runs ffmpeg.wasm with libx264 at the fast preset. A 1080p 100MB MP4 compressed at CRF 28 / 720p typically drops to 15-30 MB with minor quality loss. CRF 23 is closer to source quality but a larger file. CRF 35 is small but blocky for fast motion. Output filename has -compressed.mp4 appended.
How to use it
- Drop your video. Optionally trim to a clip range first with the built-in trimmer.
- Set quality and resolution. CRF 28 and 720p is a balanced default; lower CRF means higher quality and bigger files.
- Choose audio handling. Keep audio at 96-192 kbps AAC, or drop it entirely.
- Compress and download. ffmpeg.wasm re-encodes locally — expect a few minutes for longer videos — then the -compressed.mp4 downloads.
Frequently asked questions
- What CRF should I pick?
- 23 if quality matters and file size is flexible. 28 (default) for a good balance. 32+ for small files where some blockiness is acceptable.
- Why is it slow?
- Video re-encoding is CPU-heavy. ffmpeg.wasm is single-threaded in the browser, so a 5-minute video can take a few minutes to encode. For a one-off, that's fine.
- Will compressing make the file shareable?
- Usually. Dropping a 1080p file to 720p / CRF 28 often gets it under typical email and chat-app limits (25 MB Gmail, 50 MB Discord).
- Is the video uploaded?
- No. Everything runs locally via ffmpeg.wasm.