Drop video files here

MP4, WebM, MOV, MKV · up to 200 MB each · 60 seconds max

Target size

Target size: 8.0 MB — fits Discord’s free 8 MB limit

Converter not loaded yet — loads (~31 MB) on your first convert, from this site only

🔒 Privacy proof — nothing uploads

Encoding runs on your device with ffmpeg.wasm (single-thread core, vendored on this site). Your files are never sent to any server; the only network requests on this page are the site's own analytics (Google Analytics and a Cloudflare beacon), which load when the page opens and never see your files. The converter core (~31 MB) is fetched in two parts from this site once, on your first convert, and then runs locally.

Network requests during processing: 0 (zero — as it should be)

Verify it yourself in DevTools
  1. Open DevTools (F12 or Ctrl+Shift+I) → Network tab.
  2. Reload the page, then convert a video. Watch the request list: after the initial page assets (and the one-time core download on first convert, both from this site), no requests to any other site appear while it converts. (The page's own analytics load once when the page opens — before you start — and never touch your files.)
  3. Go offline (DevTools → Network → Offline) after the converter has loaded once — conversions still work.
  4. The counter above counts every request to another site made during processing. It should stay at 0 while converting.

Your files are never sent anywhere, never stored, and never leave your device. Closing the tab deletes everything.

Honest limits — read before converting

Frequently asked questions

How do I compress a video to exactly 8 MB for Discord?

Drop your clip here, pick the “Discord 8 MB” preset, and the tool encodes it with ffmpeg.wasm in your browser, adjusting quality and resolution over several passes until the MP4 lands at or under 8 MB. If even the smallest settings cannot reach 8 MB, it tells you honestly and gives you the smallest file it could make.

Does this video compressor upload my video?

No. All encoding happens on your device with ffmpeg.wasm, downloaded from this site once (about 31 MB, in two parts) and then run locally. Your files are never sent to any server; the only network requests on this page are the site's own analytics (Google Analytics and a Cloudflare beacon), which load when the page opens and never see your files. You can verify it in your browser's DevTools Network tab — the page shows a live counter of requests during processing, which stays at zero while a video converts.

What is the maximum video length I can compress here?

60 seconds, and short clips work best. Browser encoding is single-threaded and holds the whole clip in tab memory, so a 10–30 second clip converts in a reasonable time while a 60-second 1080p clip is slow and memory-heavy. Long videos and 4K footage are out of scope — use a desktop encoder such as HandBrake for those.

What video formats can I upload, and what do I get back?

You can drop MP4, WebM, MOV, or MKV files (up to 200 MB each, 60 seconds max). You always get back an MP4 (H.264 + AAC) with faststart enabled, so it plays and streams everywhere.

Why is browser video compression slow?

The encoder runs as WebAssembly in a single thread inside your browser tab — roughly 5–15× slower than a native desktop encoder — and it may run several passes to hit your exact target size. A 10-second 720p clip typically takes well under a minute; a 60-second 1080p clip can take several minutes. Keep the tab open and in the foreground while it works.

What if my video cannot be made small enough?

The tool reports the result honestly: if the smallest settings (480p, CRF 51) still overshoot your target, it downloads the smallest file it could make, labels it “best effort”, and tells you exactly how far over target it is. Pick a larger target, trim the clip shorter, or use a desktop encoder for very demanding clips.