How to extract subtitles from MKV
TL;DR — Extract embedded text subtitles from MKV files locally, check whether the stream is text-based, and save captions as a separate subtitle file.
MKV files often contain separate subtitle streams inside the video container.
That is different from a subtitle file sitting next to the video. In an MKV container, the captions can be packaged inside the video file as their own stream. If that stream is text-based, it can usually be extracted into a separate subtitle file. If it is image-based or burned into the picture, extraction is a different problem.
Quick answer
Open Extract Subtitles from Video, choose the MKV file, and let the browser extract the first embedded text subtitle stream as SRT.
What this can extract
This works when the MKV contains a text subtitle stream such as:
Stream #0:2: Subtitle: subrip
Stream #0:3: Subtitle: ass
It usually cannot convert image-based subtitle streams such as:
Stream #0:4: Subtitle: hdmv_pgs_subtitle
Embedded, external, and burned-in subtitles
Before extracting, identify what kind of subtitle you have:
- Embedded text subtitles are stored inside the MKV as a selectable text stream. These are the best match for this workflow.
- External subtitles are separate files such as
.srt,.ass, or.vttnext to the video. You do not need extraction for those. - Burned-in subtitles are part of the video image. They cannot be saved as text without OCR.
If you can turn captions on and off in the player, they are probably embedded or external. If the text is always visible in the picture, it is probably burned in.
Step-by-step workflow
- Open Extract Subtitles from Video.
- Choose your
.mkvfile. - Wait for FFmpeg.wasm to load in the browser.
- Check the extracted SRT preview.
- Download the subtitle file.
- If the text has broken characters, run it through the Subtitle Encoding Fixer.
What to check after extraction
Do not treat the first extracted file as final until you check it:
- Open the output and confirm it contains readable text, not binary-looking symbols.
- Check the first cue, a middle cue, and the final cue against the video.
- Confirm the language is the one you wanted if the MKV has more than one subtitle stream.
- Convert or clean the output before delivery if the extracted file contains tags, odd spacing, or encoding issues.
For a simple delivery file, SRT is often easiest. For browser playback, convert the cleaned subtitle file to VTT afterward.
Privacy note
The video stays on your device. FFmpeg runs in the browser, so the file does not need to be uploaded to a server.
Common mistakes
Expecting burned-in subtitles to extract
If subtitles are part of the video picture, there is no text track to extract. You need OCR for that.
Confusing audio language with subtitle language
An MKV can have multiple audio streams and no subtitle streams. The extractor only looks for subtitle streams.
Assuming the first stream is the right language
Some MKV files contain multiple subtitle tracks. The browser tool attempts the first subtitle stream, so check the language and text before sending the file to someone else.
Skipping cleanup
Extracted subtitles can still need cleanup. Use the Subtitle Cleaner if the text contains unwanted tags or spacing.
Next steps after extraction
The extracted file is often the start of the workflow, not the end. Use How to convert subtitles to UTF-8 if characters look wrong, Common subtitle format errors and fixes if the structure looks messy, or Best subtitle format for HTML5 video if the final target is a browser player.
Related guides
Use the Extract Subtitles from Video
Extract embedded text subtitle tracks from MKV, MP4, MOV, and WebM files locally in your browser. No signup, no upload, and everything runs locally in the browser.
Open Video extractor