Every "convert MKV to MP4" tutorial online eventually points at VLC (File → Convert / Save) or HandBrake (drag file, hit Start). Both work. Both are also 100 MB desktop installs for a job that's usually a container swap - rewriting a few kilobytes of header bytes with no re-encoding of the video or audio streams. Here's why the browser can do the same operation in seconds, without the install.

#What actually needs to happen when you "convert" MKV to MP4

On a normal MKV file (one video track, one audio track, optionally subtitles, containing H.264 or HEVC video plus AAC or AC-3 audio), the conversion to MP4 doesn't require decoding a single frame or re-encoding a single audio sample. What has to happen:

  1. Read the MKV's EBML container structure to find the video, audio, and subtitle tracks and their codec configurations.
  2. Write a new MP4 container header (ftyp, moov, mdat atoms) with equivalent codec configuration.
  3. Copy the compressed video bytes and compressed audio bytes into the new container without touching them.
  4. Convert any embedded SubRip or ASS subtitles to MP4's tx3g format; drop bitmap subs because MP4 has no container home for them.

That's the whole operation. FFmpeg calls it a "stream copy" (-c copy) or "remux". VLC calls it "Convert" with the "Keep original video/audio track" option. HandBrake calls it "Passthrough" mode. All three tools run the same underlying code and produce identical output MP4 files.

#Why the browser can do this

The FFmpeg codebase compiles to WebAssembly. That means the same demuxer that reads MKV and the same muxer that writes MP4 - the exact code paths VLC and HandBrake invoke - can run inside a browser tab, on your local file, without a server round-trip. The WebAssembly binary is about 15 MB compressed, loads lazily on first use, and stays cached in your browser for later visits.

The technical cost is real: WebAssembly is a bit slower than native code (10-30% depending on the operation), and browsers cap file access at 8 GB (Wave's current limit). For a 90-minute HD MKV that's well under the cap, the container swap runs in about 3-5 seconds - roughly matching what VLC does natively.

#When VLC and HandBrake still win

  • Files over 8 GB. Long 4K MKV recordings or scene releases can hit 15-25 GB. Wave rejects those; VLC handles any size local ffmpeg supports.
  • Complex multi-track workflows. Multi-audio pass-through with track selection UI, multi-subtitle track selection, and chapter editing are HandBrake's home turf. Wave takes defaults; changing them means using HandBrake.
  • Batch processing. Converting 200 MKV files in one queue is a HandBrake job (Add All → Start Queue). Wave is one-file-at-a-time.
  • Re-encoding to save space. Both VLC and HandBrake are configured for encoding as the primary path with lots of preset control. Wave's re-encode path exists but its UI is optimized for the common case, not fine control.

#When the browser wins

  • You just want to convert a file, quickly, without an install. The most common case. Drop file, hit convert, save. Done in under a minute end-to-end including the wasm engine load.
  • You're on a machine you don't own or can't install software on. Kiosk, library computer, work laptop with locked admin, someone else's machine.
  • You want privacy. No file uploads, no external server, no third-party knows the conversion happened. Open your browser's Network tab while converting: no file bytes leave the tab. The wasm binary loads on the initial page visit; the conversion itself is entirely local.
  • You need to hand a Windows recipient an MP4 without walking them through a HandBrake install. Send them the link, they drop the file, they save the MP4. No support call.

#The actual how-to

  1. Open /mkv-to-mp4/ in any modern browser.
  2. Drop your .mkv file onto the card, or click "Pick a video". The WebAssembly engine loads on first use (~15 MB, cached afterward).
  3. Wave inspects the streams and picks Fast copy (no re-encoding) or Re-encode (only for MKVs with VP9 or Vorbis, which MP4 can't hold).
  4. Click Convert. Save the MP4.

For files under 8 GB with standard H.264 or HEVC content, the whole conversion runs in seconds. Nothing installed, no server round trip, no quality lost. The same operation VLC or HandBrake would run - just in a browser instead of a desktop app.

#The takeaway

Converting MKV to MP4 doesn't need a 100 MB install for the common case - it's a container swap that can run in a browser tab. Wave does that job for files up to 8 GB in seconds, with no upload and no re-encoding on standard content. For large files, batch jobs, or fine-grained re-encode control, HandBrake and VLC are still the right tools. For everything else, the browser is faster and doesn't leave software on the machine.