How to Convert MKV to MP4 on Mac in Seconds, Without Losing Quality
MKV won't open in QuickTime? Convert MKV to MP4 on your Mac without re-encoding: one ffmpeg command, or drag a folder into Zumkor. Plus the no-sound and subtitle fixes.
Convert your videos with Zumkor on your Mac — free for 7 days, then 5 files a day free or $19.99 once. Zumkor converts videos to MP4, MOV, M4V, or MKV on your Mac. Everything is free for 7 days, then 5 files a day (25 a week) stay free — or unlock everything once for $19.99, no subscription. Needs macOS 14.0 or later on an Apple silicon Mac (Apple M1 or later).
Get Zumkor on the Mac App StoreConverting MKV to MP4 is usually a remux, not a conversion. The video inside an MKV is normally H.264 or HEVC, which an MP4 holds without trouble, so you can move the streams into a new container in seconds with zero quality loss. In Terminal that’s one command: ffmpeg -i input.mkv -c copy output.mp4. Without Terminal, drag the file into Zumkor and choose MP4. And if you only want to watch the file, skip converting: IINA and VLC play MKV directly.
The details matter when the remux goes wrong: an MP4 with no sound, subtitles that vanish, an HEVC file QuickTime refuses, or a second audio language that silently disappears. Each has a short fix below.
In this guide11 sections
Pick your route
| Your situation | Route | Quality | What to know |
|---|---|---|---|
| You just want to watch it on your Mac | IINA or VLC | Original | No conversion at all |
| One file, Terminal is fine | ffmpeg -c copy | Lossless | Seconds, even for a full movie |
| The MP4 has no sound | ffmpeg -c:v copy -c:a aac | Video lossless | Only the audio is re-encoded |
| HEVC video QuickTime won’t open | ffmpeg -c copy -tag:v hvc1 | Lossless | Fixes a labelling issue, not the video |
| A folder, no Terminal | Zumkor | Lossless for H.264/HEVC video | Audio fixed for you; subtitles come along |
| You already have VLC or HandBrake | Their convert/encode dialogs | Re-encoded | Slower, and a small quality cost |
MKV and MP4 are containers, not video
MKV (Matroska) and MP4 are containers, a box around separate streams: a video stream (usually H.264 or H.265/HEVC), one or more audio streams (AAC, AC3, DTS, Opus…), and often subtitle tracks.
QuickTime’s problem is almost never the video. It’s the box. QuickTime Player doesn’t read the MKV container, yet the H.264 inside is something it plays perfectly. So in most cases you don’t re-encode anything: you move the streams into a new box. That’s remuxing, and because it copies the streams bit for bit, the picture in the MP4 is identical to the one in the MKV.
A real re-encode (slow, and slightly lossy) is only needed for a stream MP4 players won’t handle. In practice that means AC3 or DTS audio from disc rips, and VP9 or AV1 video, which shows up in web downloads and some newer encodes. Even then you usually re-encode one stream and copy the rest.
If you just want to watch it, don’t convert
Many “convert MKV” searches really mean “play MKV on a Mac”, and playing needs no conversion. Two free players open Matroska files natively:
- IINA: the modern, Mac-native choice. Open source, built on mpv, it plays essentially every MKV you’ll meet, handles chapters and multiple audio tracks, and looks like it belongs on macOS. To make it the default for MKV files, right-click a .mkv → Get Info → Open with → IINA → Change All.
- VLC: less polished, equally capable, and quite possibly already installed.
Both also handle what MKV is good at, such as subtitle tracks you can switch and multiple audio languages, better than an MP4 will.
Convert when the file has to leave your Mac’s player: importing into Photos or iMovie, sending over iMessage, uploading somewhere that demands MP4, or playing on a TV, console or someone else’s machine.
Method 1: ffmpeg remux (instant, lossless)
With Homebrew, install ffmpeg once:
brew install ffmpeg
Then remux, copying the streams into an MP4 without touching them:
ffmpeg -i input.mkv -c copy output.mp4
-c copy means “copy every codec”. There’s no re-encoding and no quality loss, and a full-length movie finishes in seconds because your Mac is repackaging data rather than recompressing pixels.
That covers most files. Four variations cover most of the rest:
# No sound in the MP4 (AC3/DTS audio): copy the video, convert only the audio to AAC
ffmpeg -i input.mkv -c:v copy -c:a aac -b:a 192k output.mp4
# HEVC video that QuickTime refuses: copy as-is, but label it the way Apple expects
ffmpeg -i input.mkv -c copy -tag:v hvc1 output.mp4
# Keep every audio track (ffmpeg keeps only one by default)
ffmpeg -i input.mkv -map 0:v -map 0:a -c copy output.mp4
# VP9 or AV1 video: a real re-encode to H.264 for the widest compatibility
ffmpeg -i input.mkv -c:v libx264 -crf 20 -preset slow -c:a aac -b:a 192k output.mp4
The hvc1 line catches a lot of people. An HEVC stream remuxed with plain -c copy usually gets labelled hev1, and QuickTime, Photos and iPhones won’t play it, even though the video data is fine. Relabelling it as hvc1 costs nothing and changes no pixels.
To convert a whole folder:
cd ~/Movies/mkv
for f in *.mkv; do
ffmpeg -n -i "$f" -c copy "${f%.mkv}.mp4"
done
-n tells ffmpeg never to overwrite an existing MP4. If a file errors with “codec not currently supported in container”, look at which stream it names. A subtitle track is the usual culprit: add -sn to leave subtitles out, or see the subtitles section below. An audio or video stream needs one of the variations above.
ffmpeg is free, scriptable, and the standard tool. Its downside is the command line itself: there’s no preview, the errors are cryptic, and you have to know which flag a failed remux needs.
Method 2: VLC (free and graphical, but fiddly)
VLC can convert as well as play:
- File → Convert / Stream…
- Drag in your MKV.
- Choose a profile such as Video - H.264 + MP3 (MP4).
- Click Save as File, set an output name ending in
.mp4, and save.
It works, with two catches. The built-in profiles re-encode, which is slower and costs some quality unless you tune them, and the conversion dialog is famously unintuitive. It’s fine in a pinch if VLC is already installed, but it isn’t worth installing just for this.
Method 3: HandBrake (powerful, but it always re-encodes)
HandBrake is excellent, and the wrong tool for this job. It’s a transcoder: it always re-encodes the video, by design. Point it at an MKV and you’ll wait minutes, and lose a little detail, to do something a remux does in seconds with no loss.
Reach for HandBrake when you want a re-encode: to shrink a file, change the resolution, or fix an incompatible codec. For a straight MKV-to-MP4 swap with compatible codecs, it’s overkill. (If your old HandBrake output came out as .m4v, turning M4V into MP4 is usually a rename or a lossless remux.)
Method 4: Zumkor (drag a folder, get MP4s)
If you’d rather not memorize flags, Zumkor handles the decisions ffmpeg leaves to you. It needs macOS 14 or later on an Apple silicon Mac (M1 or newer).
- Drag in your MKV file or a whole folder of them (up to 2,000 files in one list).
- Choose MP4. Apply to All at the top of the menu sets every row at once.
- Check the rows. Each shows the exact filename it will produce before you convert.
- Click Convert.
For MKV to MP4, Zumkor copies H.264 and HEVC video as it is, with no re-encode and no quality loss. Audio MP4 players can’t handle, such as AC3 or DTS, is converted to AAC automatically, which is the no-sound fix done for you. The MKV’s subtitles come along. AV1 video, found inside many MKV files, converts too (fixed in v1.4), and a file whose extension doesn’t match what’s inside still converts. If the file has an intro or credits you don’t need, trim it first with the yellow QuickTime-style handles and only the part you keep is converted.
It all runs on your Mac with nothing uploaded, and it works with Wi-Fi off. The MP4s go to a folder you choose, and the MKVs stay where they were. For a recurring job, the “Convert Files” action in Apple’s Shortcuts app runs the same conversion in the background.
On price: everything is free for 7 days, and after that you can keep converting 5 files a day (25 a week) for free. Free videos get a small Zumkor mark, and the row tells you before you convert. The Full Version is a one-time $19.99 purchase, buy once and keep it forever, shared with your family through Family Sharing, with no subscription.
The honest trade-off: if you’re happy in Terminal and do this occasionally, ffmpeg -i in.mkv -c copy out.mp4 is free and excellent. Zumkor is for people who’d rather drag a folder than debug flags, and who also convert other video, like WebM downloads and old AVI files, plus photos and audio, without a separate utility for each.
Why your MP4 might have no sound
The most common MKV-to-MP4 problem: the video plays but there’s no audio. The MKV’s audio track was a codec most MP4 players don’t decode, usually AC3 or DTS from a disc rip, and -c copy faithfully copied it anyway.
The fix is to re-encode just the audio to AAC, which every player supports, while still copying the video: the -c:v copy -c:a aac command from Method 1. The video stays bit-identical and only the soundtrack is touched. Zumkor detects this case and converts the audio for you.
A related surprise: an MKV with two audio languages comes out with only one. That isn’t a bug. ffmpeg picks a single audio stream unless you tell it otherwise, so add -map 0:v -map 0:a to keep them all.
What happens to the subtitles
MKV is the container of choice for subtitled video, so this comes up often.
MKV carries subtitles as separate tracks you can switch on and off, usually text-based (SRT or ASS) and sometimes picture-based (PGS from Blu-ray rips, VOBSUB from DVDs). MP4’s subtitle support is narrower. A plain ffmpeg -c copy remux often stops with an error on an SRT or ASS track, because it tries to copy a subtitle format MP4 can’t hold. -sn drops the subtitles; -map 0 -c copy -c:s mov_text converts text tracks into MP4’s own subtitle format, but it can’t carry picture-based tracks and some players ignore it.
Your options:
- Let them come along. Zumkor brings an MKV’s subtitles into the MP4 when it converts it.
- Keep a sidecar file. Extract the track to an
.srtfile with the same name as the MP4 and keep the two together. IINA, VLC, Plex, Infuse and most TVs load it automatically. Zumkor pulls embedded text subtitles out as SRT or VTT (VTT is what web players want), and turns an SRT you already have into a VTT. - Picture-based subtitles (PGS/VOBSUB) can’t become text without OCR, which neither a remux nor Zumkor performs. If you need them, keep the MKV and watch it in IINA or VLC, which display them natively.
One more option if a video has no usable subtitles at all: on macOS 26 or later, Zumkor’s “Create subtitles from speech” builds new SRT or VTT captions from the soundtrack, on your Mac with nothing uploaded. The first time you use it, the Mac downloads Apple’s speech files. It’s a fresh transcription of the audio, not a conversion of an existing track, so the original styling and positioning aren’t kept.
Before you delete an MKV, check that you’ve kept the subtitles you care about: the original file is the only place those tracks live.
Bottom line
- Just want to watch it: IINA or VLC, free, no conversion needed.
- The right default when you convert:
ffmpeg -i input.mkv -c copy output.mp4. Seconds, zero quality loss. - No sound afterwards: copy the video, convert only the audio to AAC.
- HEVC that QuickTime won’t open: add
-tag:v hvc1. - Two audio languages: add
-map 0:v -map 0:a. - Subtitles you care about: keep them as a sidecar .srt/.vtt, or let Zumkor bring them along.
- Skip HandBrake for plain container swaps, because it always re-encodes.
- A folder, no flags: Zumkor copies the video, fixes the audio and keeps the subtitles, fully offline. Everything is free for 7 days, then 5 files a day stay free.
Once your video plays, the next question is usually size. See how to compress a video for email on Mac.
FAQ
Why won’t QuickTime play MKV files on my Mac?
QuickTime Player doesn’t open the Matroska (MKV) container, even though the H.264 or HEVC video inside is usually something it plays fine. Either play the MKV with a free player like IINA or VLC, or remux it into an MP4, which takes seconds and loses nothing when the codecs are compatible.
Can I convert MKV to MP4 without losing quality?
Usually, yes. If the MKV holds H.264 or HEVC video, a remux (ffmpeg -c copy, or Zumkor’s MKV to MP4) moves the video into an MP4 bit for bit, with no quality loss. Only streams MP4 players can’t handle need converting, most often AC3 or DTS audio, and the video can still be copied while just the audio becomes AAC.
Why does my converted MP4 have no sound?
The MKV’s audio track was probably AC3 or DTS, and a plain ffmpeg -c copy remux copied it into an MP4 your player can’t decode. Run the remux again with -c:v copy -c:a aac so the video is still copied untouched and only the audio is converted to AAC. Zumkor does this automatically.
How do I batch convert a folder of MKV files to MP4 on a Mac?
In Terminal, loop ffmpeg over the folder: for f in *.mkv; do ffmpeg -i "$f" -c copy "${f%.mkv}.mp4"; done, then deal with any files that fail. Or drag the folder into Zumkor and choose MP4: it copies H.264 and HEVC video as-is, converts AC3 or DTS audio to AAC, and processes up to 2,000 files offline.