FormatDrop
How-To Guide

How to Convert MKV to WebM

WebM is the open, royalty-free video format for the web — natively supported by Chrome, Firefox, Edge, and Opera without plugins. It uses VP8, VP9, or AV1 video codecs with Opus or Vorbis audio. MKV and WebM share similar container architecture but WebM is restricted to open-source codecs. Converting MKV to WebM makes video embeddable in HTML5 `<video>` tags.

Step-by-step instructions

  1. 1

    FFmpeg with VP9 (best quality/size balance)

    VP9 encoding: `ffmpeg -i input.mkv -c:v libvpx-vp9 -crf 31 -b:v 0 -c:a libopus -b:a 128k output.webm`. CRF 31 is good quality (0=best, 63=worst). The -b:v 0 flag enables constant quality mode. For 1080p video, 2-pass encoding produces better results: first pass: `ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 2M -pass 1 -an -f webm /dev/null`; second pass: `ffmpeg -i input.mkv -c:v libvpx-vp9 -b:v 2M -pass 2 -c:a libopus output.webm`.

    Go to converter
  2. 2

    FFmpeg stream copy (if MKV already has VP9/AV1)

    Check the codec: `ffprobe input.mkv`. If video is VP8, VP9, or AV1 and audio is Opus or Vorbis: `ffmpeg -i input.mkv -c copy output.webm`. This remuxes without re-encoding — instant and lossless. Most MKV files contain H.264 or H.265 which cannot be copied to WebM (WebM only allows VP8, VP9, AV1, Opus, Vorbis).

  3. 3

    FFmpeg with AV1 (smallest files, slowest encoding)

    AV1 is smaller than VP9 at equivalent quality: `ffmpeg -i input.mkv -c:v libaom-av1 -crf 30 -b:v 0 -c:a libopus -b:a 128k output.webm`. AV1 encoding is 5–20× slower than VP9. For speed: add `-cpu-used 8` for draft quality or `-cpu-used 4` for balanced. AV1 is natively supported in Chrome, Firefox, and Edge.

  4. 4

    HandBrake (GUI for WebM)

    HandBrake 1.6+ supports WebM output: open HandBrake → select MKV source → set Container to WebM → set video codec to VP9 → set quality (RF 31) → audio to Opus → Start Encode. HandBrake provides a preview to verify quality before committing.

Why convert MKV to WebM?

WebM is the open web's video format — no royalties, no plugins, embeddable in any `<video>` tag in every modern browser.

Your files never leave your device

FormatDrop runs the conversion engine entirely inside your browser using WebAssembly. No file upload. No server. Nothing stored. You can verify this by opening DevTools → Network tab and watching: zero upload requests.

Frequently asked questions

Can I use WebM video in HTML5 directly?
Yes: `<video controls><source src="video.webm" type="video/webm"><source src="video.mp4" type="video/mp4">Your browser does not support HTML5 video.</video>`. Serving both WebM (Chrome/Firefox) and MP4 (Safari) covers all major browsers. WebM VP9 is typically 20–30% smaller than H.264 MP4 at equivalent quality.
Why can't I put H.264 in a WebM container?
WebM is restricted to patent-free codecs: VP8, VP9, AV1 for video; Vorbis, Opus for audio. This restriction is deliberate — Google created WebM as a royalty-free alternative to H.264. A WebM with H.264 would violate the spec and browsers enforcing it would refuse to play it.
How long does MKV to WebM conversion take?
VP9 constant quality: roughly 0.3–0.5× real-time on a modern 8-core CPU (a 10-minute video takes 20–30 minutes). AV1 with libaom: 2–10× slower than VP9. For fast conversion: use VP8 encoder (libvpx), which is faster than VP9 at somewhat worse compression.
Convert MKV to WebM Now — Free

No account. No upload. Works in any browser.