Add your file
Choose or drop a .mkv or .webm file. You can paste the contents instead.
Pick an MKV or WebM file and this online inspector reads its EBML structure in your browser. You get the EBML header (DocType, versions, ID and size limits), Segment Info (timecode scale, duration, title, muxing and writing application, date, Segment UID), a table of the video, audio, subtitle and button tracks the file declares with each CodecID, language, default, forced and enabled flags, resolution or sampling rate and channels, counts of clusters, cues, chapters, tags and attachments, a list of up to 1,000 unknown element IDs (the total is always counted), and an element tree with absolute byte offsets and sizes that you can copy or download as plain text.
or drop a file here
Choose or drop a .mkv or .webm file. You can paste the contents instead.
The file is read and parsed in this browser — nothing is uploaded.
Look over what came back, then copy it, download it, or move on.
Want to know how files are handled? Read the privacy notice →
Choose the MKV or WebM file and the Tracks table lists each track it finds with its number, type, CodecID, language and default and forced flags. Video rows add pixel width and height, audio rows add sampling frequency and channel count. The CodecID is printed exactly as stored, and a friendly name such as H.264 / AVC or Opus appears only when that ID is in the built-in list.
No. The MKV file is read by JavaScript inside this browser tab and the element tree is built in your device's memory. The result is not saved anywhere, so reloading the page leaves the inspector empty and you simply choose the file again if you need it.
Open this page in a current browser on Windows, macOS, Linux, Android or iPhone and select the file; no media player, codec pack or desktop MKV utility is required. The whole file is held in memory while it is read, so on phones with little RAM a file close to the 256 MB limit can be slow or may fail to load.
The first four bytes are not the EBML signature 1A 45 DF A3, so the file is not Matroska or WebM whatever its extension says. The usual cause is an MP4 or MOV that was renamed to .mkv, or a file that is actually an HTML error page saved by a download. The inspector stops at that point and does not invent a DocType, tracks or a duration.
The limit is 268,435,456 bytes (256 MB); a larger MKV or WebM file is rejected before a single element is read. Within that limit the on-screen tree shows at most 5,000 rows or 200,000 characters, at most 300,000 elements are kept (20,000 of them from inside Clusters), and the unknown-element list stops at 1,000 entries. Elements past the cap are only counted, a warning says so, and tracks or Segment Info stored after that point can be missing.
This inspector gives no malware or safety verdict; it only reports the structure that the MKV file declares. Matroska can carry attachments such as fonts or arbitrary files, which appear in the Attachments count and element tree but are never extracted or run here. Treat MKV files from unknown sources with care and keep your media player up to date.
WebM is a restricted profile of Matroska: both share the same EBML structure, and the header's DocType reads webm or matroska. WebM is aimed at web codecs such as VP8, VP9, AV1, Vorbis and Opus, while MKV can hold nearly any codec. The inspector compares the DocType bytes, so a WebM renamed to .mkv is still reported as webm.
Duration is read only from Segment Info, as the Duration value multiplied by TimecodeScale, and is never estimated from clusters or file size. If the Duration element is missing, no length can be calculated and the status reads not declared. If only TimecodeScale is missing, the specification default of 1,000,000 ns is used and its source is shown as default; a TimecodeScale of 0 makes the duration impossible to derive. Approximate means the stored float times the scale is not a whole number of nanoseconds, or is too large to count exactly.
No, the inspector never plays, decodes, remuxes or converts tracks, and it never rewrites your file. It is useful before you convert elsewhere: if the table shows H.264 or HEVC video with AAC audio, a remux to MP4 is often possible without re-encoding, while PGS or ASS subtitle tracks usually need converting or dropping.
Most often the MKV download is incomplete: an element declares more bytes than remain, or an element header is cut off at the end of the data. Parsing then halts with a size-overflow or truncated-header warning that gives the byte offset, and everything read before that point is still shown. Download the file again and compare its size with the original.
Matroska defines eng as the default when a track has no Language element, so the table shows eng and marks the language source as the specification default rather than the file. If the source column says default, the muxer never stored a language and the audio could be in any language; check by listening in a player.