Crisp › Guides › MKV to MP4

How to convert MKV to MP4 on a Mac

Most of the time this is a container swap, not a conversion: the video and audio are copied across untouched and the whole thing takes seconds regardless of file size. Nothing is re-encoded and nothing is lost. The command is ffmpeg -i in.mkv -c copy out.mp4, and if that works for you the rest of this page is optional reading.

What a container actually is

MKV and MP4 are boxes, not formats. The picture inside is h.264, HEVC, AV1 or similar, and the sound is AAC, AC3, DTS or FLAC. The box decides how those streams are labelled and interleaved — it does not decide how they look. That is why the conversion is usually free: you are relabelling, not re-compressing.

QuickTime and most Apple software simply do not open the MKV box, even when the h.264 inside is something they play perfectly. That mismatch — playable content in an unsupported wrapper — is the entire reason this question exists.

When the copy works, and when it doesn't

Inside the MKVStraight copy to MP4?
h.264 videoYes
HEVC / h.265 videoYes
AAC or AC3 audioYes
AV1 videoUsually — support is recent but real
DTS audioNo — re-encode the audio only
FLAC audioNo — re-encode the audio only
VP9 videoNo — MP4 won't carry it
SRT / ASS subtitlesPartly — MP4 subtitle support is limited

When only the audio is the problem, re-encode only the audio: -c:v copy -c:a aac -b:a 192k. The picture stays bit-identical and you take a small, usually inaudible hit on sound. Re-encoding the video too, which is what a careless tool does, costs you real picture quality and an hour of your afternoon for no reason.

The subtitle catch

MKV is popular partly because it handles subtitles well — multiple tracks, styled ASS, and image subtitles ripped from discs. MP4's subtitle support is much narrower. Copy an MKV with styled subtitles into MP4 and they may arrive stripped of formatting, converted to plain text, or missing entirely.

If the subtitles matter, extract them to a separate .srt before converting, and keep the MKV. This is one of the few cases where the original container is genuinely the better one to hold on to.

Three ways to actually do it

  1. ffmpeg, if you have it: ffmpeg -i in.mkv -c copy out.mp4. Free, seconds, lossless. The correct answer for a one-off.
  2. HandBrake, which is free and excellent — but note that HandBrake always re-encodes. That is what it is for. Use it when you also want to compress; do not use it for a pure container swap.
  3. A general video app, when the conversion is part of something larger: the file also needs trimming, cleaning, or upscaling. Doing all of it in one pass beats a container swap followed by a separate lossy re-encode.

In Crisp

Drop the MKV in and export as MP4. Where the streams are compatible it copies them rather than re-encoding, so you keep the original quality; where the audio can't ride along it re-encodes the audio alone and leaves the picture untouched. If the clip also needs cleaning up, that runs in the same export instead of being a second lossy generation — and it all happens on your Mac.

Download Crisp for Mac