support@digisns.com | Store | Downloads
Dark atmospheric illustration with glowing golden circuit traces and abstract waveform patterns against a near-black background, evoking digital video technology

Video conversion tools, device guides, and tech resources for your digital entertainment life.

✦ Pavtube Video Converters — SD, HD & 4K Support for Windows & Mac ✦

How to Extract Subtitles from MKV Files and Convert Them to SRT

An MKV file is a container, so a single movie or episode may include several subtitle tracks, alternate languages, forced captions and graphic-based subtitles. The useful first step is to identify the track you need before exporting anything. A proper SRT file contains timed, plain-text cues that most editing programs and media players can read.

Extracting a text subtitle does not require re-encoding the video, and the result can be corrected in a subtitle editor or converted with FFmpeg. The main complication is that MKV also stores formats such as ASS, WebVTT, PGS and DVD bitmap subtitles. Those need different handling, especially when the source contains no selectable text.

Australian creator teams often split work between a Windows editing desktop and a Mac laptop, while many viewers watch on phones. A local extraction workflow suits that mixed market because it avoids uploading a large MKV, preserves control over the selected track and produces a portable sidecar file for both platforms.

What an MKV subtitle track contains

MKV supports multiple tracks for each subtitle language, including full dialogue, forced captions, descriptive audio and commentary. Each track may have a language tag, title, default flag or forced flag. These attributes help editors and streaming platforms decide whether a track should be selected automatically.

Text-based tracks include SubRip, ASS, SSA and WebVTT. Bitmap tracks include PGS, VobSub and DVD subtitles, which are stored as images rather than editable words. The latter can appear perfectly clear during playback while remaining impossible to extract as ordinary SRT text.

Before extracting, confirm whether the chosen track contains dialogue, translations, signs or karaoke effects. A karaoke track may divide the screen into several parts, so selecting the wrong one can produce duplicated or misplaced captions. When several tracks look similar, play the short section around a distinctive line to identify the correct version.

Inspect and select the correct track

FFprobe provides a quick inventory of the subtitle streams inside an MKV. Run the following command from a Terminal or command prompt, adjusting the filename to match the source:

ffprobe -v error -select_streams s -show_entries stream=index,codec_name:stream_tags=language,title -of default=noprint_wrappers=1 "episode.mkv"

The output lists each subtitle stream, its codec and any language or title metadata. The index value identifies the stream inside the file, while the position in the subtitle list determines the selector used later. MKVToolNix can provide the same overview through mkvmerge -i "episode.mkv".

Choose the stream by language and content rather than by position alone. If episode.mkv contains English, French and forced English captions, the first subtitle stream may not be the one you want. Renaming the MKV or checking the player’s track menu can provide a useful cross-reference before extraction.

Keeping the operation local also suits Australian viewing habits. A household may download a large programme over fixed broadband but monitor mobile data while travelling, while a studio with limited upload capacity may prefer not to send an entire master file to an online converter. Local processing reduces that unnecessary transfer.

Extract with FFmpeg on Windows and Mac

FFmpeg is available for both Windows and macOS and handles subtitle conversion without touching the video stream. Install a current build through an official package source, such as FFmpeg for Windows, or Homebrew on a Mac by running brew install ffmpeg.

Place the MKV in a working folder, open the command line there and run:

ffmpeg -i "episode.mkv" -map 0:s:0 -c:s srt "episode.srt"

The -map 0:s:0 option selects the first subtitle stream, while -c:s srt converts a compatible text subtitle into SubRip. Change 0:s:0 to 0:s:1 for the second subtitle stream, and give the output a distinct name when extracting several languages.

Open the resulting file in a text editor and check its opening lines. If the first cue has a sensible timecode and the dialogue matches the selected track, the basic extraction has worked. If FFmpeg reports an unsupported subtitle codec, the source is probably a bitmap format and needs OCR rather than a direct text conversion.

Convert other subtitle formats to SRT

ASS and SSA files contain dialogue plus positioning, fonts and animation instructions. FFmpeg can convert the dialogue into SRT with ffmpeg -i "episode.ass" -c:s srt "episode.srt", although advanced styling will be simplified. WebVTT can be converted in the same way because its cues also contain timed text.

If ffprobe reports the source codec as subrip, it is already in the format required by most subtitle editors. Copying it with -c:s copy preserves the original timing without another conversion pass. Renaming a WebVTT or ASS file with an .srt extension does not change its internal format and should be avoided.

MKVToolNix is useful for visual track selection and can extract a subtitle in its native format. After checking the identifiers with mkvmerge -i, a command such as mkvextract tracks "episode.mkv" 0:3 "episode.ass" extracts the third track, with the selector adjusted to match the displayed source and track numbers. Convert that extracted file to SRT afterwards.

PGS, VobSub and DVD bitmap subtitles cannot be converted directly because they contain pictures rather than dialogue text. Subtitle OCR software can recognise the words, but an accurate result still requires checking reading order, line breaks and timing. This extra work explains why an original text-based track is preferable whenever one is available.

Repair timing, styling and character problems

A valid SRT cue normally uses a sequence number, a start and end time separated by an arrow, and one or more lines of dialogue. Commas represent milliseconds in the standard format:

1
00:00:01,000 --> 00:00:03,500
Welcome to the show.

Use a subtitle editor to shift all cues, adjust individual reading speeds or close gaps between lines. If every caption appears early, a fixed offset is more reliable than changing each cue manually. The editor should also preserve the final timecode within the programme duration.

Converting ASS to SRT removes advanced animation, colours and karaoke effects, while ordinary italics or bold emphasis may survive. Replace unsupported formatting with plain text when necessary. Using Australian English, check that terms such as “colour” and “organise” retain their accents and that automatic line wrapping does not separate a short phrase from its answer.

Character problems usually indicate an encoding mismatch rather than damaged video. FFmpeg normally writes UTF-8 SRT files, but older editors may expect another code page. Open the file in an editor that displays UTF-8 correctly and save it again using UTF-8 without a byte-order mark. If extraction appears to hang, unrelated CPU-heavy work, such as cryptocurrency software covered by a mining resource reference, can also make the process appear frozen.

Test the SRT with real playback

Check the SRT in the same media player or editing application used for the final programme. Confirm that the language is correct, the first caption appears at the intended moment and no lines disappear near scene changes. Play beyond the final cue as well, since a subtitle file can contain unwanted tracks beyond the visible closing credits.

Apple devices do not natively open MKV containers, so the video itself must be converted before it can be checked on an iPhone. DigiSNS’s GoPro playback guide demonstrates a related camera-footage issue on the iPhone 7 Plus. A creator in Sydney may review subtitles on a Windows tower while a colleague in Melbourne checks them on a MacBook, so testing both platforms catches wrapping and font differences.

VLC provides a convenient cross-platform SRT test, while Premiere Pro, iMovie and other editing applications show how the captions will behave inside a timeline. Load the external subtitle file, disable any embedded duplicate track and verify that its styling remains readable on a smaller screen. This also confirms that the extracted file is genuinely independent of the MKV.

Create a repeatable subtitle workflow

Give each subtitle file a predictable name, such as Episode01.en.srt, and keep it beside the associated video rather than in a general downloads folder. Retain the original MKV, record the selected language and avoid overwriting a previous extraction. A short checksum or version note can identify which subtitle corresponds to a particular edit of the programme.

For broader file handling, DigiSNS’s transfer and convert guide covers moving camera footage and media between devices and formats. This is useful when the MKV comes from a camera card, while the subtitle file needs to follow it into an editing project.

Australian legal and privacy considerations also favour a controlled workflow. The Copyright Act 1968 may protect a subtitle file as well as its audiovisual work, so extracting a track for personal editing differs from publishing or selling it. Uploaded media can create additional obligations under the Privacy Act 1988 when a covered organisation handles personal information. Pavtube’s Windows and Mac versions suit the broader Australian mixed-platform market for local conversion, compression and media preparation.

The dependable result is a UTF-8, millisecond-timed SRT stored beside its source, verified on the intended playback devices and ready for inclusion in the finished video or accessible alongside it.