DEV Community

Jonathan Wallace
Jonathan Wallace

Posted on

Building a Privacy-First Video Converter with WebAssembly

The Problem

Every time you use a typical online video converter, your file gets uploaded to a remote server. For most people that is mildly concerning. For anyone working in healthcare, law, or finance it can be a compliance violation. HIPAA, GDPR, and internal data policies all have something to say about sending sensitive media to a third party.

I wanted a converter that was truly private — one where the file never leaves the user's machine.

The Solution: FFmpeg + WebAssembly

FFmpeg is the gold standard for media processing. Thanks to Emscripten, it can be compiled to WebAssembly and run inside a browser tab. That means:

  • Zero server uploads. The file stays on your device from start to finish.
  • Full FFmpeg power. 30+ video and audio formats, codec control, bitrate tuning.
  • Works offline once the WASM binary is cached.

How It Works Under the Hood

  1. The user drops a file onto the page. A File object is created — no network request.
  2. The file bytes are written into an in-memory virtual filesystem that FFmpeg WASM exposes.
  3. FFmpeg runs the conversion entirely in a Web Worker, keeping the UI responsive.
  4. The output file is read from the virtual FS and offered as a Blob download.

At no point does any byte leave the browser. You can verify this yourself by opening DevTools → Network and watching the requests during a conversion — there are none.

Challenges

  • WASM binary size. The FFmpeg WASM core is ~30 MB. Lazy-loading and caching with a service worker keeps repeat visits fast.
  • Memory limits. Browsers cap WASM memory. Very large files (multi-GB) can hit this ceiling, so I surface a clear error instead of crashing silently.
  • SharedArrayBuffer. Some FFmpeg WASM builds require cross-origin isolation headers (COOP/COEP), which can conflict with third-party scripts.

Try It Out

The tool is live at getconvertfree.com. It is completely free — no account, no limits, no ads.

If you handle sensitive media and need a conversion tool you can trust, give it a spin. Feedback and feature requests are welcome.


Happy converting.

Top comments (0)