Short answer: MKVToolNix can extract a subtitle track that is stored inside an MKV file. Its mkvextract command can write text tracks such as SRT and ASS, or image-based tracks such as Blu-ray PGS and DVD VobSub, to separate files. It does not perform OCR. If the words are painted into the video frames — or if you extract an image track and want editable text — you need an OCR step after MKVToolNix. GeekLink's free image-subtitle converter currently accepts Blu-ray .sup/PGS files; DVD VobSub .idx/.sub files need a VobSub-capable OCR tool.

Seeing subtitles in the picture but no usable subtitle track? GeekLink reads hardcoded subtitles locally and exports a timed SRT on Mac or Windows.

Try GeekLink Free

First, check what kind of subtitle you have

Do not start by guessing commands. First ask whether the subtitle exists as a stream or only as pixels in the video image. MKVToolNix can inspect the container with mkvmerge:

mkvmerge -i "episode.mkv"

You might see output similar to this:

Track ID 0: video (V_MPEG4/ISO/AVC)
Track ID 1: audio (A_AAC)
Track ID 2: subtitles (S_TEXT/UTF8)
Track ID 3: subtitles (S_HDMV/PGS)
Track or resultWhat it meansNext step
S_TEXT/UTF8Text subtitles, normally SRTExtract directly with mkvextract, or use GeekLink's Embedded Sub action
S_TEXT/ASS or S_ASSStyled ASS/SSA text subtitlesExtract as ASS to preserve styling, or let GeekLink create a source SRT
S_HDMV/PGSBlu-ray subtitle imagesExtract the SUP file, then use GeekLink's free Blu-ray OCR converter
S_VOBSUBDVD subtitle imagesExtract the IDX/SUB pair, then use a VobSub-capable OCR tool
No subtitle trackNo subtitle stream exists; visible words may be burned into the videoUse OCR on the video frames

This distinction explains most failed searches for “MKVToolNix extract subtitles.” A player can show a subtitle even when the file does not contain editable characters. The player may be rendering a bitmap track, or the video may already have the words permanently composited into each frame.

How to extract SRT or ASS with mkvextract

Once you know the track ID, use the tracks mode. The ID is the number printed by mkvmerge -i, not the position of the subtitle in your media player:

# Track 2 is an SRT-compatible text track
mkvextract "episode.mkv" tracks 2:english.srt

# Track 4 is an ASS track; keep it as ASS to retain styling
mkvextract "episode.mkv" tracks 4:styled.ass

# Extract two language tracks in one command
mkvextract "episode.mkv" tracks 2:english.srt 3:spanish.srt

For text tracks, this is exactly the kind of job MKVToolNix is designed for: identify a stream inside the Matroska container and write it to a useful subtitle format. GeekLink can do the same part of the workflow after you import the video: its Embedded Sub action detects text subtitle tracks, lets you choose one, and creates a source-language SRT for editing or translation. The official documentation also lists PGS and VobSub extraction, but those outputs are image data rather than editable words.

One practical detail: the output format is determined by the track type, not by a filename extension you choose. Renaming a PGS track to .srt does not turn pixels into characters; it only gives an image file a misleading name.

Why PGS and VobSub still need OCR

PGS and VobSub are legitimate subtitle tracks, so mkvextract can successfully pull them out. But each cue is a small rendered image. A .sup file from a Blu-ray or an .idx/.sub pair from a DVD contains subtitle pictures, not the underlying text string.

That means the workflow has two separate jobs:

  1. Demux the track: use MKVToolNix to get the original subtitle images out of the MKV.
  2. Recognize the characters: use an OCR tool that accepts the extracted image format. GeekLink's free converter accepts Blu-ray .sup/PGS; DVD VobSub .idx/.sub needs a different VobSub-capable path.

MKVToolNix is still useful for the first step, especially when you want to preserve the official subtitle track from a disc rip. It is simply not an OCR engine. For Blu-ray PGS, drop the extracted .sup file into GeekLink and it will create an editable SRT for free. The current converter does not accept DVD VobSub's .idx/.sub pair directly.

What if the subtitles are hardcoded into the video?

If mkvmerge -i shows no subtitle track but you can see words when the video plays, those words are probably hardcoded — pixels inside the video stream. There is no subtitle track for MKVToolNix to extract. Re-muxing the file, changing the extension, or running mkvextract again cannot recover text that was never stored as text.

This is also the boundary confirmed by the MKVToolNix project's own support forum: subtitles that are permanently inside the video image are not a job for MKVToolNix. The next tool category is OCR, which reads the visible characters from selected video frames.

For a Mac or Windows workflow, GeekLink can do the hardcoded-video OCR step:

  1. Open the MKV directly and select the subtitle region.
  2. Read the subtitle text from the video frames locally.
  3. Merge repeated frames into timed subtitle lines.
  4. Export SRT, translate the result, or burn a new subtitle layer into the video.

The key point is not that one tool replaces the other. MKVToolNix extracts stored tracks; GeekLink handles the cases where the subtitle has to be recognized from an image.

MKVToolNix vs subtitle OCR: which tool should you use?

They solve different layers of the same problem. Choose based on where the subtitle data actually lives:

Your inputMKVToolNixGeekLink
Embedded SRT or ASS trackBest fit: extract it directlyExtracts it as source SRT with Embedded Sub
Embedded PGS/SUP trackExtracts the original image trackUse GeekLink's free Blu-ray OCR converter to create SRT
Embedded VobSub IDX/SUB trackExtracts the original image trackNeeds a VobSub-capable OCR tool; not a direct GeekLink input yet
Hardcoded subtitles in video framesCannot extract themReads the visible text and exports timed SRT
Need translation or burned-in replacementStops after track extractionContinues through review, translation, and export
Preferred workflowCommand-line demuxing and exact track controlOne desktop workflow for OCR and subtitle production

Use MKVToolNix when the text already exists as a subtitle track. It is free, focused, and excellent at extracting the stream without asking an OCR engine to reinterpret it. Use OCR when the input is a picture of text. For Blu-ray PGS/SUP, GeekLink's image-subtitle OCR-to-SRT conversion is free for everyone. DVD VobSub is a separate .idx/.sub format and is not a direct input to this converter yet.

Frequently Asked Questions

Can MKVToolNix extract subtitles from an MKV?

Yes, when the subtitles are stored as a track. Run mkvmerge -i input.mkv to find the track ID, then use mkvextract input.mkv tracks TRACK_ID:output.srt for a text track. PGS and VobSub tracks can also be extracted, but they come out as images. Blu-ray PGS/SUP can then go through GeekLink's free image-subtitle converter; DVD VobSub needs a VobSub-capable OCR tool.

Can MKVToolNix extract hardcoded subtitles?

No. Hardcoded subtitles are pixels in the video stream, not a separate Matroska track. MKVToolNix can inspect and extract streams, but it does not read characters from video frames. Use subtitle OCR instead.

Can GeekLink extract an embedded SRT subtitle?

Yes. Import the video, click its Embedded Sub badge, choose the text subtitle track if there is more than one, and GeekLink creates a source-language SRT for editing or translation.

Why did MKVToolNix give me a SUP or IDX/SUB file instead of SRT?

Because the source track is image-based. SUP is commonly used for Blu-ray PGS subtitles, while DVD VobSub extraction produces an IDX/SUB pair. OCR is required to turn those subtitle images into editable SRT text. GeekLink's free converter accepts the Blu-ray SUP/PGS format; the DVD IDX/SUB pair needs a VobSub-capable OCR path.

Does GeekLink support VobSub subtitles?

The current free Blu-ray image-subtitle converter accepts .sup/PGS files. DVD VobSub uses a different .idx/.sub pair, which is not a direct input yet. Extract it with MKVToolNix, then use a VobSub-capable OCR tool.

Is MKVToolNix the same as mkvextract?

MKVToolNix is the suite; mkvextract is the command-line program in that suite that extracts tracks and other Matroska data. For a predictable extraction command, use mkvmerge -i to identify the track, then mkvextract to write it out.

What is the easiest Mac option for hardcoded subtitles?

If the subtitles are visible in the picture and no subtitle track exists, use a local OCR workflow rather than MKVToolNix. GeekLink can read the selected subtitle region from the video, create timed SRT, and continue to translation or burn-in on Mac.

Related Articles