Skip to main content
Aivently
Log inGet started
Menu

Extract Subtitles from MKV: 4 Free Ways to Get an SRT

MKV files often carry subtitle tracks you can save as separate files. Here is how to list them, extract them with free tools, and handle image-based PGS tracks.

Written by
Aivently Editorial
Reviewed by
Aivently Editorial
Published
Updated

To extract subtitles from an MKV file, list its tracks, find the subtitle track's ID, and copy that track out with a free tool. On any system, MKVToolNix does it with mkvextract movie.mkv tracks 2:subs.srt, and FFmpeg does it with ffmpeg -i movie.mkv -map 0:s:0 subs.srt. This works in seconds for text tracks (SRT or ASS). Image-based tracks (PGS from Blu-ray, VobSub from DVD) come out as pictures and need OCR before they become an editable SRT.

Extraction copies the subtitles that are already in the file. It does not re-encode the video, and the timing stays exactly as it was.

First, check what kind of subtitle track you have

An MKV (Matroska) file is a container. It can hold one video stream, several audio streams and any number of subtitle tracks, each with its own codec. The codec decides what you get out:

Track codecWhat it isExtracts asEditable text?
S_TEXT/UTF8 (SubRip)Plain timed text.srtYes
S_TEXT/ASS or SSAStyled text with positions.ass or .ssaYes
S_TEXT/WEBVTTWeb captions.vttYes
S_HDMV/PGSBlu-ray subtitle images.supNo, needs OCR
S_VOBSUBDVD subtitle images.sub + .idxNo, needs OCR

This mapping comes from the MKVToolNix mkvextract documentation. If your file came from a Blu-ray or DVD rip, expect PGS or VobSub. If it came from a web release or someone added an SRT to it, expect a text track.

Method 1: MKVToolNix (Windows, Mac, Linux)

MKVToolNix is the free reference toolset for Matroska files. It installs two command-line programs you need here: mkvmerge to list tracks and mkvextract to pull them out.

  1. Open a terminal (Command Prompt or PowerShell on Windows) in the folder with your file.
  2. List the tracks:
mkvmerge --identify movie.mkv

The output shows one line per track, for example:

Track ID 0: video (AVC/H.264/MPEG-4p10)
Track ID 1: audio (AAC)
Track ID 2: subtitles (SubRip/SRT)
Track ID 3: subtitles (HDMV PGS)
  1. Extract the track you want by its ID:
mkvextract movie.mkv tracks 2:movie.en.srt
  1. To pull several tracks at once, add more pairs: mkvextract movie.mkv tracks 2:movie.en.srt 3:movie.en.sup.

Give each output file the extension that matches its codec from the table above. mkvextract writes the format the track actually contains, so naming a PGS track .srt will not turn it into text.

If you prefer clicking to typing, note that the official MKVToolNix GUI is for muxing and does not include an extraction screen. Free third-party front ends such as gMKVExtractGUI (Windows) and MKVCleaver wrap the same mkvextract program and let you tick the tracks to save.

Method 2: FFmpeg (one command, any platform)

FFmpeg is useful if you already have it installed or want to script extraction for many files.

  1. See the subtitle streams:
ffprobe -v error -select_streams s -show_entries stream=index,codec_name:stream_tags=language -of csv=p=0 movie.mkv

Each line shows the stream index, codec (such as subrip, ass or hdmv_pgs_subtitle) and language.

  1. Extract the first subtitle stream to SRT:
ffmpeg -i movie.mkv -map 0:s:0 movie.en.srt

In -map 0:s:0, the first 0 is the input file, s means subtitle streams, and the last 0 is the first subtitle stream. Use 0:s:1 for the second one.

  1. To keep an ASS track with its styling intact, copy it without conversion:
ffmpeg -i movie.mkv -map 0:s:0 -c:s copy movie.en.ass

FFmpeg converts between text formats (ASS to SRT, for example), but it cannot turn a PGS or VobSub image track into SRT. If you try, it stops with the error "Subtitle encoding currently only possible from text to text or bitmap to bitmap". That error is your sign the track needs OCR.

Method 3: Subtitle Edit (Windows, with OCR for PGS and VobSub)

Subtitle Edit is a free, open-source subtitle editor. It is the easiest choice when the track is image-based, because it can read the pictures and turn them into text.

  1. Open Subtitle Edit and use File, then Open, and choose the MKV file.
  2. If the file has more than one subtitle track, pick the one you want from the list.
  3. For a text track, the lines load straight into the editor. Save as SubRip (.srt).
  4. For a PGS or VobSub track, an OCR window opens. Choose an OCR engine (Tesseract is a common pick), set the language, and start OCR.
  5. Read through the result before you save. OCR mixes up characters like l, I and 1, and it can miss italics. Fix those, then save as .srt.

You can also extract the .sup file with mkvextract first and open that file in Subtitle Edit. The OCR step is the same.

Method 4: Online tools (check what they actually do)

Many sites that rank for "extract subtitles from MKV online" do not copy the existing track. They upload your video and transcribe the audio with speech recognition, which gives you a new subtitle file instead of the original one. That can be fine if the MKV has no subtitles at all, but it is slower, depends on audio quality, and means uploading a large video file.

If the file already contains a subtitle track, a local tool from Methods 1 to 3 is faster and keeps the original wording and timing. Use online transcription only when there is nothing to extract.

Why VLC and HandBrake are not the right tools

Both show up in searches, and both handle subtitles well for their real jobs. VLC is a player: it displays embedded subtitle tracks and lets you switch between them. HandBrake re-encodes video: it can keep, add or burn subtitles into the new file. Neither is designed to save an embedded track as a separate subtitle file, so you will get cleaner results with MKVToolNix or FFmpeg.

What to do after you extract the subtitles

An extracted file is a normal subtitle file, so the usual fixes apply:

  • Check it. Run the file through the free subtitle checker to catch overlapping cues, empty lines and fast reading speeds, which are common after OCR.
  • Convert it. If you extracted ASS but your editor wants SRT, use the browser-based subtitle converter. Styling is dropped because SRT cannot store it; timing is kept.
  • Fix timing. If the subtitles drift against a different cut of the video, shift them with the subtitle sync tool.
  • Edit lines. For typos or line breaks, see how to edit an SRT file.
  • Translate it. To get the same subtitles in another language, upload the SRT, VTT or ASS file to Aivently's AI subtitle translator. It keeps every timestamp, shows each translated line beside the source for review, and exports back to your format. You can preview the first 20 lines free with no account, and your first 10 minutes are free once your email is verified.

Frequently asked questions

How do I extract subtitles from MKV to SRT?

List the tracks with mkvmerge --identify movie.mkv, note the ID of the SubRip track, then run mkvextract movie.mkv tracks ID:subs.srt. With FFmpeg, run ffmpeg -i movie.mkv -map 0:s:0 subs.srt. Both are free and work on Windows, Mac and Linux.

Can I extract subtitles from MKV on a Mac?

Yes. MKVToolNix and FFmpeg both run on macOS, and the commands are the same as on Windows and Linux. Subtitle Edit is Windows-first, so on a Mac, extract PGS tracks with mkvextract and use a Mac OCR tool if you need text.

Why is my extracted subtitle file a .sup and not an .srt?

The track is PGS, which stores each subtitle as an image. A .sup file cannot be edited as text. Open it in an OCR tool such as Subtitle Edit to convert the images to text, then save as SRT.

Does extracting subtitles change the video?

No. Extraction only reads the subtitle track and writes it to a new file. The MKV stays as it was, and the subtitle timing matches the video exactly.

What if the MKV has no subtitle track?

Then there is nothing to extract. You need a transcription: speech recognition turns the audio into a timed subtitle file, which you can then edit and translate.

Sources

  1. Aivently subtitle translation and transcriptionAivently

Translate your SRT file with AI

Upload SRT, VTT or ASS subtitles, see the exact price, then review every translated line before you export. Your first 10 minutes are free once your email is verified.

Support