Skip to content

How to extract subtitles from an MKV on a Mac (free tools)

Extract SRT, ASS, or PGS subtitles from an MKV file on macOS using MKVToolNix or FFmpeg. Learn the exact commands and why you often don't need to extract.

In short

  • You can extract embedded subtitle tracks from an MKV file in seconds using MKVToolNix or FFmpeg.
  • Text tracks like SRT and ASS export directly as human-readable documents.
  • Blu-ray PGS tracks export as bitmap SUP files that require OCR software to convert to text.
  • Extracting subtitles never requires re-encoding the video or audio streams.
  • Modern Mac media players read embedded MKV subtitles directly, making extraction optional.
On this page
  1. Do you actually need to extract subtitles from your MKV?
  2. How do you identify the subtitle tracks inside an MKV?
  3. Method 1: How to extract subtitles using MKVToolNix
  4. Method 2: How to extract subtitles using FFmpeg
  5. What is the difference between extracting text and bitmap subtitle tracks?
  6. How do you use your extracted subtitles?

To extract subtitles from an MKV file on a Mac, you can use either MKVToolNix (using the mkvextract command-line utility or its graphical tools) or FFmpeg in Terminal. Both tools are free, open source, and demux subtitle tracks in seconds without re-encoding your video.

Many Mac users assume they must extract subtitles because Apple’s built-in QuickTime Player cannot read Matroska files or embedded subtitle streams. While extracting tracks is essential if you want to edit dialogue, translate foreign phrases, or import captions into video editing software, you often do not need to extract subtitles just to watch your movie.

Do you actually need to extract subtitles from your MKV?

Before opening Terminal or downloading conversion software, ask yourself why you want to extract the subtitle file.

If your primary goal is to watch your video with subtitles on your Mac, extraction is an unnecessary step. The Matroska (.mkv) container format was designed specifically to bundle multiple audio tracks, chapter markers, and multilingual subtitle streams into a single self-contained file.

Animation

Inside a video file: one container, many tracks

Sintel.mkvMatroska container

  • VideoHEVC · 4K · 10-bit HDR→ Video decoder
  • Audio · EnglishE-AC-3 5.1→ Audio decoder
  • Audio · FrenchAAC stereo→ Audio decoder
  • Subtitles · EnglishSRT text→ Subtitle rendererConverted to MP4 timed text
  • Subtitles · JapaneseASS, styled→ Subtitle rendererNo standard place in MP4
  • Chapters12 chapters→ Player menu
  • AttachmentsFonts for the styled subtitles→ Subtitle rendererNo standard place in MP4
A container is a box; the codecs are what is in it. A player reads the box (demuxing) and sends each track to its own decoder. MKV can carry almost anything; MP4 is stricter, which is why styled subtitles and fonts don’t survive the trip.

QuickTime Player refuses to open MKV files because Apple’s AVFoundation framework does not support the Matroska container specification, as documented in our guide to which video formats a Mac supports. However, modern open-source media players read embedded MKV subtitle tracks instantly. They let you toggle between languages, adjust timing, and display dialogue directly from the container without generating loose sidecar files on your drive.

You only truly need to extract subtitles if you intend to:

  • Edit or re-time dialogue lines in a text editor.
  • Import subtitles into professional non-linear video editors like Final Cut Pro or DaVinci Resolve.
  • Upload standalone captions to YouTube, Vimeo, or web hosting platforms.
  • Convert disc-based bitmap subtitles into lightweight text files using Optical Character Recognition.

How do you identify the subtitle tracks inside an MKV?

An MKV file can contain dozens of independent data streams, including 4K video, 7.1 surround sound audio, director commentary tracks, and subtitles in ten different languages. Before you can extract a subtitle track, you must discover its specific track number and format type.

You can inspect the internal stream layout using either mkvmerge or ffprobe in the macOS Terminal.

Open Terminal (found in /Applications/Utilities/) and run this command:

mkvmerge -i "Movie.mkv"

The terminal prints a concise inventory of every stream inside the container:

File 'Movie.mkv': container: Matroska
Track ID 0: video (HEVC/H.265)
Track ID 1: audio (DTS-HD Master Audio)
Track ID 2: subtitles (SubRip/SRT) [language:eng]
Track ID 3: subtitles (SubRip/SRT) [language:spa]
Track ID 4: subtitles (HDMV PGS) [language:eng]

In this example, Track ID 2 is an English SubRip (.srt) text track, Track ID 3 is a Spanish text track, and Track ID 4 is an English Blu-ray bitmap (.sup) graphic track. Note the specific Track ID number of the language you wish to extract.

Method 1: How to extract subtitles using MKVToolNix

MKVToolNix is the industry-standard software suite for creating and altering Matroska files, authored by Moritz Bunkus. It includes a dedicated command-line extraction binary called mkvextract.

Step 1: Install MKVToolNix on macOS

The simplest way to install MKVToolNix on an Apple Silicon Mac is via Homebrew:

brew install mkvtoolnix

Alternatively, you can download the official signed disk image (.dmg) directly from the official MKVToolNix site and drag the application to your /Applications folder.

Step 2: Run mkvextract in Terminal

Once installed, use the mkvextract command followed by the tracks argument, your source file name, and the Track ID paired with your desired output file name:

mkvextract tracks "Movie.mkv" 2:"subtitles_english.srt"

If you wish to extract multiple subtitle tracks simultaneously in a single command, separate the track mappings with spaces:

mkvextract tracks "Movie.mkv" 2:"english.srt" 3:"spanish.srt"

mkvextract reads the container packets and writes the subtitle file to your current working directory in roughly two to three seconds. Because no video or audio data is altered, the process consumes virtually zero battery and causes no quality loss. To explore track management in detail, see our complete guide to MKVToolNix on Mac.

Method 2: How to extract subtitles using FFmpeg

If you already have FFmpeg installed on your Mac, you do not need to install MKVToolNix. FFmpeg provides powerful stream-selection flags that can demux subtitle tracks directly to standalone files.

Step 1: Install FFmpeg

If you do not have FFmpeg, install it via Homebrew:

brew install ffmpeg

Step 2: Map and extract the subtitle stream

FFmpeg identifies streams using a zero-indexed mapping syntax (0:s:0 represents the first subtitle stream of the first input file, 0:s:1 represents the second, and so forth).

To extract the first subtitle stream into an SRT file without re-encoding:

ffmpeg -i "Movie.mkv" -map 0:s:0 -c:s copy "subtitles.srt"

If the internal subtitle track is stored in the Advanced SubStation Alpha format, preserve its vector styling tags by matching the output extension to .ass:

ffmpeg -i "Movie.mkv" -map 0:s:0 -c:s copy "subtitles.ass"

If you want to convert an embedded subtitle format into SubRip during the extraction pass, omit the -c:s copy flag:

ffmpeg -i "Movie.mkv" -map 0:s:0 "subtitles.srt"

For more useful command recipes covering container remuxing, video cutting, and audio extraction, bookmark our FFmpeg commands cheat sheet.

What is the difference between extracting text and bitmap subtitle tracks?

When extracting subtitles from MKV files, you will encounter two fundamentally different categories of subtitle streams: text tracks and bitmap image tracks.

Subtitle Type Source Media Codec Identifier Extracted Extension Editable in TextEdit?
SubRip (SRT) Web downloads, rips S_TEXT/UTF8 .srt Yes (Plain text)
Advanced SubStation Alpha Anime fansubs, styling S_TEXT/ASS .ass Yes (Plain text script)
Blu-ray PGS 1080p / 4K Blu-ray S_HDMV/PGS .sup No (Binary image bitmaps)
DVD VobSub Commercial DVDs S_VOBSUB .sub + .idx No (2-bit pixel bitmaps)

If your MKV file originates from a commercial Blu-ray disc, the subtitle track is almost certainly formatted as Presentation Graphic Stream (PGS). When you extract a PGS track using mkvextract or FFmpeg, the output is a binary .sup file containing hundreds of transparent graphic pictures.

If you attempt to open a .sup file in macOS TextEdit, you will see unreadable binary gibberish. You cannot edit the text, resize the letters, or search for phrases because there are no text characters inside the file.

To convert an extracted .sup file into an editable .srt document, you must run it through Optical Character Recognition (OCR) software such as Subtitle Edit, which scans the pixels of each letter and outputs digital text. To understand why disc formats use pictures instead of text, read our technical breakdown of PGS subtitles explained.

How do you use your extracted subtitles?

Once you have extracted an SRT or ASS file from your MKV, you can open and edit the text using TextEdit on your Mac. Verify that TextEdit is configured to save files in Plain Text with UTF-8 encoding so you do not introduce corrupted characters. Review our guide on what an SRT file is to understand cue structures line by line.

If you extracted the subtitle to fix dialogue that appears out of sync with actors’ voices, you can re-time the cues using subtitle editors or adjust the playback offset on the fly. To fix timing drift caused by frame rate mismatches, see our troubleshooting guide on fixing subtitles out of sync.

If you extracted the subtitle because your video player refused to open the MKV file, consider switching to an open-source media player. Download MacLC from the download page. It plays Matroska containers natively on Apple Silicon, decodes multi-track audio and embedded subtitles out of the box, and eliminates the need to run Terminal commands every time you want to watch a movie.

Questions people ask

How do I extract an SRT file from an MKV on a Mac?

The fastest way is using FFmpeg in Terminal with the command ffmpeg -i input.mkv -map 0:s:0 output.srt, which extracts the first subtitle stream into an external SubRip file in seconds without touching the video.

Can I extract subtitles from an MKV using a graphical interface?

Yes. You can install MKVToolNix for Mac. Using its accompanying gMKVExtractGUI or MKVToolNix GUI tools, you can open the MKV file, select the subtitle track checkbox, and export the file with one click.

Why did my extracted subtitle save as a .sup file instead of .srt?

If your MKV file was created from a Blu-ray disc, the subtitles are stored as PGS bitmap images. When extracted, they save as .sup graphic files, which require Optical Character Recognition (OCR) to convert into text.

Do I need to extract subtitles to watch an MKV on a Mac?

No. QuickTime Player cannot read embedded MKV subtitles, but third-party open-source media players read embedded SRT, ASS, and PGS subtitle tracks directly from the MKV container with zero extraction needed.

Before you download

MacLC is free. If it is useful to you, a gift helps it skip “Open Anyway” and funds the next release.