Play a video with external subtitles in mpv

Attach an SRT/ASS subtitle file to a video when mpv does not pick it up automatically.

LinuxvideompvsubtitleplaybackLow risk
Run mpv --sub-file=movie.chs.ass movie.mkv to add the subtitle track, and press z/x during playback to nudge its timing.

01Command

Command
$ mpv --sub-file=movie.chs.ass movie.mkv

02What it does

mpv automatically loads subtitles whose filename matches the video (sub-auto=fuzzy), but when names differ or the subtitle lives elsewhere, --sub-file adds it explicitly. You can repeat the option to load several tracks and switch with the # key. Timing drift is fixed on the fly with z/x (delay) without editing the file, and --sub-delay=1.5 applies a fixed offset from the start.

03Risk

RiskLow risk
Requirementsmpv installed; subtitle file in SRT/ASS format.
!Warning: ASS subtitles keep their styling only if libass is compiled in (it is in all distro builds). If subtitles show as boxes or garbage, the file's encoding does not match your locale — convert it with iconv to UTF-8.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • mpv(1) - a media player
    Ubuntu Manpages · community · 2026-09-17
    Evidence: --sub-file loads an external subtitle file; --sub-delay adjusts timing; --sub-scale changes size; multiple --sub-file options add several tracks.
  • mpv manual (options and keybindings)
    mpv.io · community · 2026-09-17
    Evidence: Documents the sub-file option, sub-auto=fuzzy automatic loading of matching subtitle files, and playback keys v, z/x for subtitle visibility and delay.

Last verified: 2026-09-18 · Category: Media