DocumentsImagesMediaPDF Tools

Convert WebM to MKV Online

Convert WebM to Matroska MKV — EBML siblings, lifting codec restrictions and enabling subtitles.

Drag your file here

.webm · up to 100 MB

Processed in your browser — file never uploadedFree
Note: The first conversion loads the FFmpeg engine (~25MB). Subsequent conversions will be faster.

WebM to MKV: from restricted subset to full Matroska

Same EBML family

WebM is a subset of MKV. The remux is trivial: only the DocType changes and restrictions are lifted.

SSA/ASS/PGS subtitles

MKV accepts all rich subtitle formats that WebM's specification forbids.

Any audio codec

Add AC3, AAC, or MP3 tracks to the MKV — impossible in the restricted WebM container.

100% private

The EBML remux happens in your browser with FFmpeg.wasm. Your video never leaves your device.

Three steps, no hassle

1

Upload your WebM file

Drag or select your .webm file with VP8, VP9, or AV1 video. No signup required.

2

Remux to MKV

The WebM stream expands into the full Matroska container, enabling any codec and subtitle tracks.

3

Download your MKV

MKV file compatible with Plex, Kodi, VLC, and any Matroska player without codec restrictions.

Got questions?

WebM is literally a restricted subset of Matroska. When Google announced the WebM project in May 2010 alongside the VP8 codec (acquired with On2 Technologies in February 2010 for approximately $133 million) and the Creative Commons license for the format, it took Matroska as the base container rather than creating a new format from scratch. The WebM specification (published at webmproject.org) defines WebM as 'a subset of Matroska' with specific restrictions: only VP8, VP9, and AV1 video codecs are allowed; only Vorbis and Opus audio codecs are allowed; the EBML Header DocType must be 'webm'; some Matroska features like chapters and attachments are excluded. A valid WebM file is also a valid MKV file and can be played by any Matroska player. But an MKV is not necessarily valid WebM because it may contain H.264, HEVC, AC3, or other codecs not permitted in WebM.

There are several practical reasons. First: adding subtitles. WebM allows WebVTT subtitle tracks (S_TEXT/WEBVTT) but not SSA/ASS (S_TEXT/ASS), VobSub, or PGS — much richer formats with positioning, colors, and styles. By converting to MKV, you can add any subtitle format as selectable tracks with MKVToolNix. Second: adding audio tracks with codecs not permitted in WebM. To add an AC3 5.1 or MP3 audio track to a VP9 video, you need MKV. Third: Plex Media Server handles MKV metadata better than WebM for automatic content identification. Fourth: archival in a container with a more complete specification — Matroska has a much richer tag system than the subset permitted by WebM.

No. Converting WebM to MKV is a pure container remux: the VP9 or AV1 stream bytes are copied bit-for-bit from the WebM file to the MKV file without any decode or re-encode step. The codec ID changes from the WebM representation (V_VP9, V_VP8, V_AV1) to the Matroska equivalent — which is identical, because WebM uses the same codec IDs as Matroska for VP8, VP9, and AV1. Video quality is mathematically identical to the original WebM.

Yes, VP9 supports alpha channel through VP9 Profile 1 and Profile 3 (profiles with higher bit-depth color data). In practice, VP9 videos with alpha channel in WebM are encoded with yuva420p (YUV with alpha plane) or yuva444p. This feature is used mainly for Telegram stickers (VP9 WebM videos with transparent background, introduced in Telegram 8.0 in September 2021, maximum 512×512 pixels and 3 seconds). When converting to MKV, the alpha channel is fully preserved because the VP9 stream is copied without modification. Players that support VP9 with alpha (VLC since version 3.0, FFmpeg, Chromium) will correctly play the MKV with transparency.

Opus (developed by the IETF, published as RFC 6716 in September 2012 — a general-purpose audio codec combining Skype's SILK and CELT technologies) and Vorbis (Xiph.Org's open-source codec, published in 2000) are fully supported in Matroska with the same codec IDs as in WebM: A_OPUS and A_VORBIS. During the WebM-to-MKV remux, Opus and Vorbis audio tracks are transferred with their codec IDs, extradata (OpusHead for Opus, codec private for Vorbis), and timestamps without any modification. Matroska players that support Opus (VLC 2.0+, MPV, MPC-HC with LAV Filters, Plex Media Player) will decode audio correctly from the MKV.

Plex Media Server (version 1.0 launched in April 2012; currently at version 1.40+) has variable WebM support depending on the client. The Plex server can transcode WebM, but direct play depends on the client: web clients in Chromium-based browsers support native WebM; clients on Roku, Fire TV, Android TV, and Apple TV may not support VP9/AV1 WebM and will require server-side transcoding, consuming significant CPU. Converting to MKV with H.264 (if the WebM contains VP9, re-encoding would be needed) or keeping VP9 in MKV improves compatibility with Plex metadata. For WebM with VP9 that you want in Plex without transcoding, VP9 MKV has the same direct play support as VP9 WebM on most Plex clients.

Convert WebM to MKV: same EBML family, without WebM's codec restrictions

WebM and Matroska are technically the same base format with different rule sets applied. To understand why converting WebM to MKV makes sense, you need to understand the history of their relationship. Matroska was created in 2002 by Steve Lhomme and Moritz Bunkus as a completely open alternative to AVI, MOV, and RealMedia, using EBML (Extensible Binary Meta Language) as its binary serialization format. EBML is a self-describing binary encoding scheme where each element has a VINT (Variable-length Integer) ID and a VINT size, enabling universal parsing without prior knowledge of the specific schema. When Google acquired On2 Technologies in February 2010 for approximately $133 million and obtained the VP8 codec, it needed an open container for the WebM project. Rather than create a new one, Google collaborated with the Matroska developers and created WebM as 'Matroska with DocType webm and codec restrictions'. The WebM specification (published in May 2010 as part of the WebM project announcement at Google I/O) defines exactly which subset of EBML Matroska elements may be used in a valid WebM file. The DocTypes 'webm' and 'matroska' are the only structural differences between a minimal WebM file and its equivalent MKV.

WebM's codec restrictions have historical and strategic justification. In 2010, Google needed a completely patent-free video format for the web ecosystem: the goal was to replace H.264 (which required licensing through the MPEG-LA consortium) with VP8 and eventually VP9 and AV1 (developed by the Alliance for Open Media, a consortium formed in 2015 by Google, Mozilla, Amazon, Cisco, Intel, Microsoft, and Netflix). Restricting WebM to only VP8/VP9/AV1 for video and Vorbis/Opus for audio ensured that any WebM implementation was royalty-free. MKV, having no codec restrictions, can contain H.264, H.265/HEVC, MPEG-4 Part 2, Dolby Digital (AC3), Dolby TrueHD, DTS, and practically any existing multimedia codec. This flexibility is why MKV dominates private media libraries: Blu-ray and 4K UHD Blu-ray rips use MKV with HEVC/H.265 and Dolby TrueHD or DTS-X audio tracks — formats impossible in WebM. Converting WebM to MKV is essentially lifting the codec restrictions and enabling all of Matroska's capabilities.

Convertir.ai executes the WebM to MKV remux in the browser using FFmpeg.wasm. The technical operation is the simplest of all container conversions because WebM and Matroska share the same EBML serialization format. The process consists of: reading the EBML Header from the WebM file (which contains DocType 'webm', EBMLVersion 1, EBMLReadVersion 1, EBMLMaxIDLength 4, EBMLMaxSizeLength 8), rewriting the EBML Header with DocType 'matroska' and the appropriate DocTypeVersion and DocTypeReadVersion values, and copying all remaining EBML elements from the file without modification: the Segment element with SeekHead, Info, Tracks (with TrackEntry elements for each video and audio track with their VP8/VP9/AV1 and Vorbis/Opus codec IDs — which are identical in the WebM and Matroska specifications), and the Cluster elements containing the actual multimedia data in SimpleBlocks. WebM and Matroska SimpleBlocks have exactly the same binary format, so the VP9 video stream and Opus audio bytes are copied without any modification. The 'conversion' is in reality a 20–40 byte header change in a file of hundreds of megabytes. This process is nearly instantaneous even for long video files, and the output quality is bit-for-bit identical to the input WebM.