How to play MKV files on a Mac
Why QuickTime says no, what is really inside an MKV, and the options that work
Short answer: a Mac can play many MKV files, but not through QuickTime Player alone. MKV is only a container, and whether a file plays depends on the codecs inside it. You can use a player that hands the file to the macOS media engine, a player that ships its own decoders, or convert the file to MP4. Which one fits depends on what is in your file.
Why QuickTime Player refuses your MKV
When you double-click an .mkv file and QuickTime Player shows an error, it feels as if the whole format is unsupported. It is more subtle. QuickTime Player is built around Apple's own container formats such as MOV and MP4, and it does not open Matroska (MKV) files at all, even when everything inside them would be perfectly playable. The video and audio were encoded with standard codecs; the player simply does not know how to unpack the box they arrived in.
Container versus codec, in plain words
Think of an MKV as a shipping box. The box holds a video stream, one or more audio streams, subtitles and chapter data. The codec is the language each stream is written in. H.264 and HEVC are common video codecs. AAC, AC-3, E-AC-3 and FLAC are common audio codecs. A Mac decodes those natively, with hardware help for H.264 and HEVC. Other codecs, such as DTS or TrueHD audio, are commonly not decodable by macOS at all.
This split explains the three symptoms people report. If the box cannot be opened, nothing plays. If the box opens but the video codec is unsupported, you get a black screen or an error. If the box opens and the audio codec is unsupported, you see the picture with no sound. To find out which case you are in, open the file in an information tool such as MediaInfo and read the codec names for each stream.
Four ways to play MKV on a Mac
| Option | Works well when | Trade-off |
|---|---|---|
| A player that uses the macOS engine (slplayer is one) | The file uses H.264 or HEVC video and AAC, AC-3, E-AC-3 or FLAC audio | Plays only what macOS supports; no help for unsupported audio such as DTS |
| A player with its own decoders (open-source players such as VLC or IINA) | You want almost every file to open, whatever codec it uses | Larger app, and decoding in software can use more power |
| Remux to MP4 (for example with ffmpeg) | Video and audio are already MP4-compatible and you want QuickTime or an Apple TV to play the file | An extra step per file; subtitles may be lost or need conversion |
| Re-encode (for example with HandBrake) | The codecs are unsupported and you need a file that plays everywhere | Slow, and every re-encode costs some quality |
There is no single best answer. If you open files from many sources and cannot predict what is inside, a player with its own decoders is the most forgiving. If most of your files are ordinary H.264 or HEVC releases and you want something light that behaves like a Mac app, a player on the macOS engine is enough, and it is gentler on battery.
Playing an MKV with slplayer, step by step
slplayer is our own Mac video player, so treat this section as one option among the four above. It uses the macOS media engine instead of a codec pack, and it plays only formats that your Mac supports.
- Install slplayer from the slplayer page or the Mac App Store. It needs macOS 14 or later and no account.
- Drag the MKV file onto the window, or right-click it in Finder and open it with slplayer. Dropping several files at once builds a playlist.
- If the file has two audio languages, choose the track you want in the settings card (the gear icon).
- Close the window whenever you like. Reopening the file from recent items resumes where you stopped.
The supported containers are MKV, MP4, M4V, MOV and MPEG-TS. The supported codecs are H.264, HEVC (including 10-bit and HDR10), AAC, AC-3, E-AC-3 and FLAC. If a file's audio cannot be decoded, the video plays without sound and a notice appears when playback starts. Files that cannot be opened show an error. Basic playback needs no subscription; split view, picture in picture and A-B loop belong to the optional Pro subscription, which can be tried for the first 7 days without payment details.
Subtitle tips for MKV files
Subtitles are where most of the confusion starts, so a few rules help.
- Text or picture. Text subtitles (SRT, VTT, SMI) are easy to display and restyle. Picture subtitles, which are common on disc rips, are images and cannot be restyled. slplayer does not show image-based subtitles.
- Name them like the video. A subtitle file with the same name as the movie, placed in the same folder, is the easiest to match. You can also load a subtitle file from the subtitle menu during playback.
- Garbled characters. This is almost always an encoding mismatch. Older Korean SMI files are often saved in EUC-KR, and players that assume UTF-8 show gibberish. slplayer detects EUC-KR automatically. Our subtitle sync and encoding guide covers other causes.
- Timing is off. Shift the subtitles in small steps; slplayer works in 0.1-second steps and remembers the offset per file. If the subtitles come from a different release of the film, a single offset will never line them up.
- Two languages at once. slplayer can show two subtitle tracks together, which is useful for language study.
The documented subtitle formats in slplayer are SRT, VTT and SMI. Advanced ASS styling effects are not supported.
Troubleshooting
- The file does not open at all. Check that the download finished and the file is not a partial or damaged one. If it is intact, the codec may be unsupported; try a player with its own decoders or convert the file.
- Picture but no sound. The audio codec is probably DTS, TrueHD or another format macOS cannot decode. A player on the macOS engine cannot fix this. Use a player with its own decoders, or convert the audio track to AAC or AC-3.
- Black screen with sound. The video codec is unsupported, or the file uses a profile your Mac cannot decode. Older Macs may also struggle with 10-bit HEVC.
- Stuttering. High-bitrate 4K files demand a lot. Close other heavy apps and check the file's resolution and codec before blaming the player.
- Subtitles missing. They may be picture-based, or the subtitle track may be switched off. Check the settings card.
How to remux an MKV to MP4
If the video and audio codecs are already compatible with MP4, you can change the container without re-encoding, so there is no quality loss and the job takes seconds. With ffmpeg installed, the command is ffmpeg -i movie.mkv -c copy movie.mp4. It will fail or drop streams if a codec cannot live in an MP4, and subtitles usually need separate handling. If you do not want the extra step, a player on the macOS engine opens the MKV directly.
Frequently asked questions
Can a Mac play MKV files?
Yes, with the right player. macOS can decode common codecs such as H.264, HEVC, AAC and AC-3, but QuickTime Player does not open the MKV container. A player that reads MKV and passes the streams to macOS, or one with its own decoders, plays it.
Why does my MKV play with no sound on a Mac?
The audio is probably in a codec macOS cannot decode, such as DTS or TrueHD. The video still plays. Use a player with its own decoders or convert the audio to AAC or AC-3.
Is slplayer the only way to play MKV on a Mac?
No. Players with their own decoders open more files, and remuxing to MP4 works for compatible codecs. slplayer plays only what macOS supports and suits ordinary H.264 and HEVC files with a light footprint.
How do I fix garbled subtitles on a Mac?
Garbled text is usually an encoding mismatch. Use a player that detects the encoding, for example slplayer, which detects EUC-KR SMI files automatically, or re-save the subtitle file as UTF-8.
Does converting MKV to MP4 lower the quality?
Not when you only remux, which copies the streams into a new container. Re-encoding does cost some quality.
slplayer for Mac
slplayer plays MKV, MP4, M4V, MOV and MPEG-TS with the macOS media engine. See the app page for details.