Skip to content
Convert

Convert MKV to MP4 online

Open an MKV — an OBS recording, a screen capture, a download — and get back an H.264 MP4 that plays in a browser, on a phone and in a video editor. The conversion happens inside this tab; the file is never uploaded.

Drop your video here

or click to browse — MP4, MKV, MOV, WebM, AVI and more

How to convert MKV to MP4 in your browser

  1. 01

    Open the file

    Drag your MKV onto the drop zone above, or click it and pick the file. If a dragged file appears to do nothing, click the drop zone and choose it instead — the drag handler only accepts files your operating system has labelled as video, and it labels some MKV files as nothing at all. Either way it is read straight off your disk into the browser tab; nothing is sent anywhere.

  2. 02

    Check that MP4 is selected

    The Output format control below the timeline is already set to MP4 on this page. Whether you get a preview depends on the browser: Chrome and Edge decode most H.264 MKVs, Firefox and Safari do not. If yours does not, read the note below the steps — the conversion controls appear only once the browser reports the length of the file.

  3. 03

    Optionally cap the resolution or mute

    Max resolution caps the height at 1080p, 720p or 480p (it never upscales), and Mute audio drops the audio track. Both are optional and both are applied in the same pass as the conversion.

  4. 04

    Press Convert video

    With no cuts or speed changes queued, the apply button reads "Convert video". Press it. The first run downloads the ~32 MB FFmpeg engine, which the browser caches for next time.

  5. 05

    Download

    When the encode finishes a download link appears with the size of the finished file next to it. Compare it against the original before you delete anything.

Expect no preview for MKV input

MKV support in a browser video element is uneven — Chrome and Edge play most H.264 MKV files, Firefox and Safari play none. That matters more than a missing picture, because the editor reads the length of your file from that same element and only shows the output format, resolution, mute and Convert controls once it has a length. So if the preview stays blank and no controls appear, the conversion cannot be started in that browser; trying again in Chrome is the practical workaround, and it is a known bug that the editor depends on the browser being able to decode a file FFmpeg can read perfectly well. When the preview does load, everything works normally, including placing cuts by eye.

Who ends up with an MKV

Mostly people who recorded something. OBS records to MKV by default and for a good reason: a Matroska file that is cut off by a crash or a power loss is still playable up to the point it stopped, whereas an MP4 whose moov header never got written is unrecoverable. Several other screen recorders follow the same logic. The rest of the MKVs in the world are downloads and media-server libraries, where MKV is favoured because it can hold multiple audio languages, subtitle tracks and chapters in one file.

The problem is the other direction. Browsers do not play MKV in a <video> element, iPhones will not open it, most upload forms reject it, and some editors import it grudgingly or not at all. So the OBS recording that played perfectly on your desk will not go anywhere else, and the fix is an MP4.

What changes between MKV and MP4

MKV is Matroska, a deliberately codec-agnostic container: it will hold H.264, HEVC, VP9, AV1, MPEG-2, AAC, Opus, FLAC, PCM, subtitles in half a dozen formats, chapters and attachments. MP4 is stricter. It is happiest with H.264 or HEVC video and AAC audio, tolerates MP3 and a few others, and has no good story for FLAC, PCM or text-style subtitle tracks.

On this page the container changes and the streams are re-encoded: video to H.264 with libx264 (ultrafast, CRF 28) and audio to AAC. That makes the codec question moot — whatever OBS or the downloader put in the file, what comes out is the combination every player handles. It also means the output is a fragmented MP4, which the formats page explains.

Only one video stream and one audio stream are carried through. An MKV with a second audio language, a commentary track or embedded subtitles will lose them; if those matter, keep the original alongside the MP4.

Quality and size for a screen recording

OBS recordings are typically H.264 at a fairly generous bitrate, and CRF 28 re-encodes them at a quality that is hard to tell apart on screen content — flat colour, sharp text and static regions compress very well. The catch is variable frame rate. Screen recorders write frames only when the picture changes, and the re-encode here outputs regular timing, so a long, mostly static recording can come out larger than it went in. Capping the resolution at 1080p or 720p is the fix, and on a screen recording 720p is usually still perfectly readable.

Encoding time scales with pixels and length. A multi-hour 4K capture is a real job for a browser tab; trimming large video files covers what to expect and how to get the encode down to something reasonable.

When a lossless remux is the better answer

ffmpeg -i in.mkv -c copy out.mp4

If the MKV already contains H.264 (or HEVC) video and AAC audio — which describes most OBS recordings — MP4 can carry those streams unchanged, and -c copy on the command line rewraps them in seconds with zero quality loss. OBS has this built in too: File → Remux Recordings does the same thing without leaving the app, and if you record a lot it is worth switching OBS's output to MP4 with the hybrid or fragmented option instead.

The remux stops working when the streams are ones MP4 cannot hold. Opus or FLAC audio needs -c:a aac added; subtitle tracks need -sn to drop them or -c:s mov_text to convert them; VP9 or AV1 video technically fits in MP4 but plays in fewer places than it did in the MKV. When you hit those errors, or when you do not have FFmpeg installed, a full re-encode like the one on this page is the simpler answer.

What stays the same on every conversion here

Nothing is uploaded. The file is read from your disk into the tab, FFmpeg compiled to WebAssembly does the decode and the encode there, and the result is handed back as a download. What does and does not leave your device is spelled out in full. There is no account, no watermark and no size cap other than the memory of the device you are on, since the whole file lives in RAM while it is being worked on.

The first conversion downloads the engine, roughly 32 MB, which the browser caches afterwards. Where SharedArrayBuffer is available the multi-threaded core is used and the encode runs across your CPU cores; otherwise a single-threaded build takes over and the same job takes several times longer. How it works walks through the pipeline, and the FAQ covers the rest.

Questions about converting MKV to MP4

Why does my MKV show no preview after I open it?
The preview is your browser's own video element, and MKV support there varies: Chrome and Edge handle most H.264 MKVs, Firefox and Safari handle none. The editor also takes the duration of your file from that element and only shows the Convert controls once it has one, so a blank preview means no controls and no conversion in that browser — a known bug, since FFmpeg itself reads the file fine. Opening the page in Chrome is the workaround.
Does converting MKV to MP4 lose quality?
Slightly. The video is re-encoded with libx264 at CRF 28 rather than copied, which is one generation of lossy compression. If your MKV is already H.264 with AAC audio, a lossless remux — ffmpeg -i in.mkv -c copy out.mp4, or OBS's own Remux Recordings menu — produces an MP4 with identical quality and should be preferred.
What happens to multiple audio tracks and subtitles?
They are dropped. Only the first video stream and the first audio stream are mapped to the output. If the MKV has a second language or embedded subtitles you want to keep, this is not the right tool for that file.
Is there a file size limit for MKV files?
No fixed one. The file is loaded into the browser tab's memory, so the practical limit is the RAM of your device; a multi-gigabyte recording is fine on a desktop with plenty of memory and may fail on a phone. Nothing is uploaded, so there is no server-side cap.
Can I convert an OBS recording that was cut off by a crash?
Usually, yes — that resilience is the reason OBS uses MKV. FFmpeg reads the file up to the point it stopped and the MP4 contains everything that was recorded before the crash.

Other conversions

All converters · Supported formats · Free online video editor

Guides on re-encoding and remuxing

What to do when the file will not open at all, why a filtered stream has to be re-encoded, the command-line remux that avoids it, and what happens when the file is very large.

All video editing guides