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
- 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.
- 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.
- 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.
- 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.
- 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?
Does converting MKV to MP4 lose quality?
What happens to multiple audio tracks and subtitles?
Is there a file size limit for MKV files?
Can I convert an OBS recording that was cut off by a 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.
- Why a video will not play, and how to fix itA file that will not open is usually a codec your player cannot decode, not a broken video. How to tell which, and the conversion that fixes most of them.
- How to trim a video without losing qualityTrimming only loses quality if the video gets re-encoded. Here is when that happens, when it does not, and the trade you are making either way.
- FFmpeg: trim a video without re-encodingThe exact -ss, -t and -c copy commands for a lossless trim, why the flag order matters, and how to cut a section out of the middle with the concat demuxer.
- Trimming large video files online: what the real limit isServer-based tools cap file size because your upload costs them money. A browser tool's ceiling is the WebAssembly heap; here is how to work within it.