Yes — a website can compress video without uploading it. Modern browsers run WebAssembly builds of FFmpeg, including x264 and x265, so a page can invoke the same encoder Handbrake uses, entirely on your CPU. Zro7 Compress Video does exactly this — pick a file, choose CRF, and the encode runs in a Web Worker with no network activity.
How the browser can run FFmpeg
- FFmpeg is compiled to WebAssembly (ffmpeg.wasm).
- The WASM binary loads into your tab once (~30 MB, cached forever).
- A Web Worker runs the encoder off the main thread so the UI stays responsive.
- File I/O uses OPFS (Origin Private File System) for anything over ~500 MB.
Speed reality
- WASM runs at ~30–70% of native FFmpeg on the same CPU.
- SIMD (SSE-equivalent) is enabled — helpful, but no GPU acceleration.
- A 5-minute 1080p H.264 → H.265 conversion takes ~5–10 min in-browser vs ~2–3 min in HandBrake.
Verifying nothing uploads
- Open DevTools → Network before compressing.
- Drop the video and start.
- You'll see the WASM binary download once, then nothing outbound — no request carrying your file bytes.
- Take Zro7 offline (airplane mode) after loading; encoding still works.
Zro7 vs CloudConvert
- Upload: CloudConvert yes; Zro7 no.
- Encoder: Both x264/x265; identical output at identical settings.
- Queue: CloudConvert has one; Zro7 does not.
- Free-tier limits: CloudConvert caps daily minutes; Zro7 is only limited by your CPU.
Steps
- Open Compress Video.
- Drop MP4 / MOV / MKV / WebM.
- Pick codec + CRF (H.264 CRF 23 is a safe default).
- Encode and download; nothing was uploaded.
Updated December 20, 2026 · Zro7 editorial team.
Zro7