It’s not often but there will be situations where you need to extract subtitles from an MKV file. For example, I recently converted an MKV file to MP4 but forgot to integrate the subtitles. So, rather than re-encoding it with subtitles, I simply extracted the subtitle file from MKV. That way, I can load the subtitle file manually whenever I want. In fact, most media players, like VLC, can automatically detect and load the subtitle file if it’s in the same directory.
In this tutorial, let’s learn two easy ways to extract subtitles from an MKV file. The first method follows a command line approach using FFmpeg and the second method follows a GUI approach using gMKVExtractGUI. You can follow either method depending on how you want to extract the subtitles. Let’s get started.
Extract Subtitles from MKV Using FFMPEG
FFmpeg is a free & open-source software to record, convert, and stream media in various formats. Follow the below steps to extract subtitles using FFmpeg.
Step 1: Install FFmpeg
First, install FFmpeg on your computer.
Step 2: Access Command Prompt
Press the Start button, search for Command Prompt, and click Open to launch the Command Prompt window.
Step 3: Navigate to MKV File Location
In the Command Prompt window, run the below command to go to the folder where the MKV file is saved. Replace the dummy path with the actual folder path.
cd /d "C:\path\to\folder"
Step 4: List Media Streams
Once in the folder, run the following command to list all streams in the MKV file. Replace “filename.mkv
” with the name of your actual MKV file:
ffmpeg -i input "filename.mkv"
Step 5: Identify the Subtitle Stream
Once all the streams are listed, identify the subtitle stream and note down its index. Sometimes, an MKV file might contain multiple subtitles. In that case, note down the index of the subtitle you want to extract. For example, I want to extract the default English subtitles. So, for me, the index is “0:2.”
Step 6: Extract the Subtitle
After identifying the subtitle stream, run the following command to extract the subtitles to a separate file. Replace "filename.mkv"
with the actual filename of your MKV file and "INDEX"
with the index of the subtitle stream you noted earlier (e.g., "0:2"
). Modify "output.srt"
to change the name of your output subtitle file and adjust the file extension according to the subtitle format:
Here are popular subtitle formats and their extensions:
- SRT (SubRip Text) –
.srt
- SSA (SubStation Alpha) –
.ssa
- USF (Universal Subtitle Format) –
.usf
- TXT (Plain Text) –
.txt
ffmpeg -i "filename.mkv" -map INDEX -c:s copy output.srt
For example, since my subtitle steam index is “0:2,” the command becomes:
ffmpeg -i "windowsloop.mkv" -map 0:2 -c:s copy output.srt
That’s it. As soon as you run the command, FFmpeg extracts the subtitles from the MKV file to a separate file in the same directory.
Step 7: Verify the Extraction
To verify it, open File Explorer and navigate to the folder where the MKV file is saved. You should see the subtitle file there.
Extract Subtitles from MKV Using gMKVExtractGUI
For those who prefer a graphical user interface (GUI) over using the FFmpeg command-line tool, gMKVExtractGUI is what you need. This open-source GUI tool simplifies the process of extracting any stream, including subtitles, from MKV files.
Note: To use gMKVExtractGUI, you need MKVToolNix installed on your computer. If it’s not already installed, you will need administrative rights to install MKVToolNix.
Step 1: Install MKVToolNix
First, head over to the MKVToolNix website, scroll down to the Windows section, and download the installer.
After downloading, locate the downloaded installer in your Downloads folder, and double-click on the installer file.
Follow the on-screen installation wizard and keep all the default settings as is to install MKVToolNix.
Step 2: Download gMKVExtractGUI
Head over to the official gMKVExtractGUI page on SourceForge and click the Download button. The tool will download as a .7z
archive file.
Step 3: Extract gMKVExtractGUI to a folder
Find the downloaded .7z
file in your Downloads folder. Right-click on it, and select “Extract All.”
Click the “Extract” button to extract the archive file to a folder in the same directory.
Note: If you are using Windows 10 or older versions of Windows 11, install 7-Zip to open and extract 7Z archive files.
Step 4: Open the gMKVExtractGUI program
Open the extracted folder and double-click on “gMKVExtractGUI.exe” to start the application.
Step 5: Add MKV file to gMKVExtractGUI
After opening gMKVExtractGUI, right-click in the “Input Files” section and select “Add Input File(s).”
Navigate to the folder with your MKV file, select it, and click “Open.”
Step 6: Extract the subtitle
gMKVExtractGUI will automatically list all streams within the MKV file. Identify the subtitle you want to extract and select its checkbox. Next, select the “Use Source” checkbox under Output Directory, and click “Extract.”
This will make the gMKVExtractGUI program extract the subtitles to a separate file and save it in the same directory as the MKV file.
Click OK to close the “Success!” window. Close the gMKVExtractGUI application.
Step 7: Verify subtitle extraction
After extracting, open File Explorer and navigate to the folder where the MKV file is saved. You should see the extracted subtitle file in it.
Wrapping — Extracting Subtitles from MKV Files
Whether you prefer FFmpeg or gMKVExtractGUI, extracting subtitles from MKV as a separate file is pretty easy. If you like the command-line approach, follow the FFmpeg method. On the other hand, if you prefer a GUI, looking for a much simpler method, or want to extract subtitles from multiple MKV files at once, use the gMKVExtractGUI program. Do keep in mind that gMKVExtractGUI requires MKVToolNix to be installed to work.
If you have any questions or need help, comment below. I will help.