How to get subtitle tracks from an mkv file
- Step 1Drop the MKV onto the extractor — Drag your
.mkvonto the tool. One file at a time. FFmpeg.wasm loads in the page and reads the file locally — nothing is uploaded, even for a multi-gigabyte remux. - Step 2No options — JAD reads the tracks — The panel reads No options — JAD reads the embedded tracks and exports them. There is no track selector; JAD scans subtitle streams
0:s:0through0:s:4and exports each text track automatically. - Step 3JAD converts each text track to SRT — Every text track (SubRip, ASS/SSA, WebVTT) is converted to SubRip with
-c:s srt. Timing is preserved exactly; ASS styling is flattened because SubRip has no styling. Bitmap PGS/VobSub tracks are skipped. - Step 4Download the SRT or the multi-track ZIP — One text track →
<name>.srt. Several →<name>-subtitles.zipcontaining<name>-track-1.srt,<name>-track-2.srt, etc. Extract the ZIP to get each language as a separate file. - Step 5Match track numbers to languages — JAD numbers tracks by MKV stream order (track-1 =
0:s:0). SubRip has no language header, so open each file and read the first cues to identify the language, then rename (e.g.show.en.srt,show.de.srt). - Step 6Edit, translate, or re-burn — Open any
.srtin a text editor or CAT tool. To hardcode a track onto the video, hand it to the subtitle burner. The extractor only reads subtitles — it never alters the source MKV.
MKV subtitle codecs and what JAD extracts
MKV mixes text and bitmap subtitle codecs freely. JAD converts the text ones to SRT and skips the picture ones.
| MKV subtitle codec | Type | Result here | Notes |
|---|---|---|---|
subrip (S_TEXT/UTF8) | Text | Extracted as .srt | Already SubRip — most common MKV subtitle |
ass / ssa (S_TEXT/ASS) | Text | Extracted as .srt (styling lost) | Fansub dialogue; text + timing kept, styling flattened |
webvtt (S_TEXT/WEBVTT) | Text | Extracted as .srt | Converted to SubRip cues |
hdmv_pgs_subtitle (S_HDMV/PGS) | Bitmap | Skipped | Blu-ray image subtitles — need OCR |
dvd_subtitle (S_VOBSUB) | Bitmap | Skipped | DVD image subtitles — need OCR |
dvb_subtitle | Bitmap | Skipped | Broadcast image subtitles — need OCR |
MKV output behaviour
How many text tracks the MKV yields determines what you download. Up to five streams are scanned.
| Text tracks in MKV | Output | File names |
|---|---|---|
| 1 | Single .srt | <name>.srt |
| 2–5 | ZIP | <name>-subtitles.zip → <name>-track-1.srt … -track-N.srt |
| 6+ | First 5 only | Streams past index 4 are not scanned |
| 0 text (only bitmap) | Error | No text subtitle tracks found in this video. |
Tier limits
Large 4K remux MKVs are fine up to the size cap; there is no duration limit.
| Tier | Max file size | Files at once |
|---|---|---|
| Free | 1 GB | 1 |
| Pro | 10 GB | 5 |
| Pro-media | 100 GB | 50 |
| Developer | 100 GB | Unlimited |
Cookbook
Real MKV extractions, including the mixed text/bitmap cases that catch people out.
Five-language MKV → ZIP of five SRTs
A typical anime or streaming MKV with five SubRip language tracks. JAD scans 0:s:0–0:s:4, converts all five, and bundles them.
Input: show-s01e01.mkv 0:s:0 subrip (eng) 0:s:1 subrip (ger) 0:s:2 subrip (fre) 0:s:3 subrip (spa) 0:s:4 subrip (ita) Output: show-s01e01-subtitles.zip show-s01e01-track-1.srt … track-5.srt
MKV with text + PGS → only the text track comes out
A Blu-ray remux MKV has an English SubRip track plus an English PGS (bitmap) track. JAD extracts the text one and skips the picture one.
Input: movie.mkv 0:s:0 subrip (eng) ← extracted 0:s:1 hdmv_pgs_subtitle (eng) ← skipped (bitmap) Output: movie.srt (one file — only the text track converted)
MKV with ONLY PGS subtitles → error
A full Blu-ray remux whose subtitles are all PGS. None can convert to SRT, so the extractor returns the no-text error.
Input: bluray-remux.mkv 0:s:0 hdmv_pgs_subtitle (eng) 0:s:1 hdmv_pgs_subtitle (fre) Result: No text subtitle tracks found in this video. Fix: OCR the PGS streams (e.g. Subtitle Edit) to get editable SRTs.
MKV ASS track → SRT (signs/styling dropped)
A fansub MKV with a styled ASS track. The dialogue and timing convert; positioned 'signs' and styling do not survive SubRip.
ASS source had styled signs + dialogue. Extracted SRT keeps dialogue lines only: 1 00:00:09,500 --> 00:00:11,000 We should hurry. Note: positioned sign overlays and karaoke styling are dropped.
Identifying the 6th track that didn't extract
An MKV with seven subtitle streams returns only the first five. If the language you want is at index 5 or 6, reorder the streams in a remuxer first.
MKV streams: 0:s:0..0:s:6 (7 tracks)
JAD scans 0:s:0..0:s:4 → 5 SRTs in the ZIP.
Tracks 0:s:5, 0:s:6 are NOT in the output.
Fix: remux with mkvtoolnix to reorder the wanted track
into the first five, then re-extract here.Edge cases and what actually happens
MKV's subtitles are all PGS/VobSub (bitmap)
No text tracksBlu-ray and DVD remuxes often carry only image-based subtitles. -c:s srt cannot encode a picture as text, so every track is skipped and you get No text subtitle tracks found in this video. Use an OCR subtitle tool to convert the bitmap subs to SRT first.
MKV has more than five subtitle tracks
First 5 onlyThe extractor scans 0:s:0 through 0:s:4. An MKV with six or more subtitle streams returns only the first five. If your wanted language sits beyond index 4, remux to reorder the streams (e.g. with MKVToolNix) so it falls within the first five, then re-extract.
Mixed text + bitmap tracks
Text onlyWhen an MKV has both text and bitmap subtitle streams, JAD extracts the text ones and silently skips the bitmap ones. You will get fewer SRTs than the total subtitle-track count — that is expected, not a failure.
ASS signs and styling lost
By designMKV ASS tracks frequently include positioned 'signs' and karaoke styling. Conversion to SRT keeps dialogue text and timing but drops styling and positioning, because SubRip has no equivalent. Keep the source ASS if you need the signs.
Garbled characters in an extracted SRT
Source encodingAn MKV's subrip track might have been muxed from a Windows-1252 source file. JAD writes the SRT as FFmpeg decodes it; there is no force-UTF-8 toggle. Re-save the affected .srt as UTF-8 in a text editor.
Track order doesn't match listed language order
Verify manuallyJAD numbers output by stream order, and SubRip carries no language tag, so track-1.srt is simply 0:s:0. If your player listed languages differently, open each file to confirm the language before relabelling.
Empty subtitle stream in the MKV
SkippedIf a mapped stream converts to a zero-byte SRT (a placeholder track with no cues), JAD skips it. You only get SRTs for tracks that actually contained subtitle text, so the file count can be lower than the stream count.
Large 4K remux over your tier cap
413 Too largeA 4K Blu-ray remux MKV easily exceeds Free's 1 GB cap even though the subtitle text is tiny — the whole container is read into the browser. Upgrade to Pro (10 GB) or higher, or extract from a smaller-bitrate copy.
Frequently asked questions
Do I need MKVToolNix or HandBrake?
No. JAD runs the same FFmpeg subtitle demux those desktop tools use, but in your browser — nothing to download or install. Drop the MKV and it pulls every text subtitle track out as SRT.
Does it get all the language tracks at once?
Yes, for text tracks. JAD scans up to five subtitle streams (0:s:0–0:s:4) and exports each text track. A multi-language MKV comes back as a ZIP with one .srt per track, numbered by stream order.
Why did my Blu-ray MKV say 'no text tracks'?
Its subtitles are almost certainly PGS (image-based). FFmpeg cannot convert a picture to SubRip text, so those tracks are skipped, and if every track is bitmap you get the no-text error. OCR the PGS streams with a desktop tool to get editable SRTs.
My MKV has 8 subtitle languages — will I get all 8?
No — this pass scans the first five streams (0:s:0–0:s:4), so you get up to five SRTs. If the language you need is beyond index 4, remux the MKV to reorder that track into the first five, then re-extract.
What happens to ASS styling and signs?
They are dropped. Conversion to SRT keeps dialogue text and timing but flattens ASS styling, positioning, and karaoke — SubRip has no styling model. Keep the original ASS track if you need the signs.
What format do I get out?
Always SubRip (.srt). Whether the MKV track was SubRip, ASS, or WebVTT, JAD runs -c:s srt so every text track downloads as standard SubRip — editable in any program.
Is the MKV re-encoded or uploaded?
Neither. Extraction is a demux-and-convert that runs in your browser via FFmpeg.wasm — the video and audio are never touched, and the file never leaves your machine. That is why even a 4K remux extracts subtitles in seconds.
How do I know which track is which language?
Open each track-N.srt and read the first cues. SubRip has no language header, so JAD numbers by stream order (track-1 = 0:s:0). Rename the files to add language codes (e.g. show.en.srt) for player auto-detection.
There's a text and a bitmap track in the same language — what do I get?
Only the text one. JAD extracts text subtitle streams and skips bitmap (PGS/VobSub) ones, so for a language with both you receive a single SRT from the text track.
How large an MKV can I process?
Free handles up to 1 GB per file, Pro 10 GB, Pro-media and Developer 100 GB — with no duration cap. The whole container is read into the browser, so big 4K remuxes can exceed Free's limit even though the subtitle text is small.
Why are accents wrong in one of the SRTs?
That track was likely muxed from a Windows-1252 source. JAD writes the SRT as FFmpeg decodes it and offers no encoding override — re-save the affected .srt as UTF-8 in a text editor.
What can I do with the SRTs after extracting?
Edit or translate them, ship them as sidecar files, or hardcode one onto the video with the subtitle burner. To pull other data from the same MKV, use the audio-track extractor and chapter extractor.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.