34

Is there a way I can remove subtitle data from an .mkv?

slhck
  • 223,558
  • 70
  • 607
  • 592
Phillip B Oldham
  • 1,240
  • 5
  • 21
  • 29

1 Answers1

57

Use MkvToolNix. The mkvmerge tool can do exactly what you want. It's a very capable Matroska manipulator and should be able to remove any kind of stream from an MKV without recoding all the other streams.

  • On Windows, download the latest version from here. Just run the installer.
  • On Linux, you can find the package mkvtoolnix in your repository, or alternatively download them from the homepage.
  • On OS X, the easiest way would be to install mkvtoolnix through Homebrew.

I think one of these commands will do what you want:

# assume input.mkv has 3 subtitle tracks
# remove subtitle track 2 (copy 1&3) from input.mkv & save to output.mkv
mkvmerge -o output.mkv --subtitle-tracks 1,3 input.mkv

# remove all subtitles (copy none)
mkvmerge -o output.mkv --no-subtitles input.mkv
Glorfindel
  • 4,089
  • 8
  • 24
  • 37
quack quixote
  • 42,186
  • 14
  • 105
  • 129
  • I have found the output files from MkvToolNix (mkvmerge) to be unusable by some players & converter (ArcSoft VideoConverter in particular - I was trying to strip the subtitles prior to converting them for viewing on my iPhone). – jeffreypriebe Mar 04 '13 at 02:48
  • 5
    Usage note: The track numbers supplied to `--stracks` are not 1 (first subtitle), 2 (second), 3 (third), etc. Use `mkvinfo input.mkv` to enumerate the tracks in the .mkv first (e.g. track 0 may be video; 1,2,3 may be audio; 4,5,6 may be subtitles) then use the 0-based track number with the `--stracks` switch. In quack's example above this might be `--stracks 4,6` – AlwaysLearning Jan 04 '15 at 11:01
  • To confirm, does the GUI version of the program also remove subtitles without re-encoding? – Hashim Aziz Sep 03 '18 at 03:27
  • @HashimAziz yes, mkvtoolnix is incapable of re-encoding. all operations on the stream level are copying. – MCO Apr 25 '23 at 10:21