Compress video — in your browser
Drop in an .mp4, .mov, .mkv, .webm or .avi. Pick a quality level. Get a smaller file. Your video never uploads.
drop a video here
or click to choose — MP4, MOV, MKV, WebM, AVI, FLV up to ~2 GB
How compression works here
ShrinkVideo runs FFmpeg compiled to WebAssembly inside your browser. Pick a quality level and it re-encodes to H.264 at that quality. Pick a target size instead and it measures the clip, works out the bitrate that fits, and tells you what to expect before you start.
Quality presets, explained
- High (CRF 18): visually lossless. Good when you only need to change the container or fix a corrupt header. Roughly 60-80% of the original size.
- Good (CRF 23): the FFmpeg default. Almost no visible difference; usually 30-50% of the original.
- Medium (CRF 26): noticeable softness on fine detail, but fine for most viewing. About 20-35%.
- Small (CRF 28): visibly compressed on motion-heavy scenes, but the file is now 12-25% of the original. Good for email attachments and Discord uploads.
- Tiny (CRF 32): clearly low quality. Only use when you need the smallest possible file — preview clips, slow connections.
How fast is it?
FFmpeg-WASM runs about 10–20× slower than native FFmpeg. A 5-minute 1080p video typically takes 4–6 minutes to compress on a modern laptop. Phones are slower. We're working on a WebAssembly.
File size limits
Your browser caps WebAssembly memory at roughly 2 GB. Videos up to about 1 GB work reliably; bigger files may run out of memory mid-encode. For multi-gigabyte 4K source files, use desktop FFmpeg.
FAQ
Does the file get uploaded anywhere?
No. Nothing is uploaded. Open your browser's network tab while you convert and you will see your file never leaves the page. Once the converter itself has downloaded, it keeps working on this device even with no connection.
What output codec is used?
H.264 in an MP4 container, which plays on essentially everything. WebM with VP8 is also available, though it encodes more slowly here and usually ends up larger.
Why is it slow on my phone?
FFmpeg-WASM uses your CPU, not hardware video encoders. Phones have less CPU. There's no upload to wait on, but the math has to happen somewhere.
Can I cancel mid-encode?
Yes — the Cancel button terminates the worker immediately. You'll need to wait a few seconds the next time you start, while FFmpeg reloads.