Subtitles & captions in depth

Subtitle File Naming: Get Players and Media Servers to Find Your Subtitles

Players and media servers find a sidecar subtitle file by its name: the same base name as the video, then an optional language code and flags, then the extension. Get that pattern right and VLC, Plex, Jellyfin and most TV players load subtitles without anyone opening a menu. Get it wrong and the subtitles sit in the folder unused.

4 min read · Updated

The basic rule: same name, same folder

A video called interview.mp4 and a subtitle file called interview.srt in the same folder will be paired by almost every player. The base name must match exactly, including spaces, capital letters and punctuation. "Interview.srt" next to "interview.mp4" works on some systems and not others, so match case too.

This is how VLC loads subtitles automatically; adding subtitles in VLC covers the manual route when names don't match. Many smart TVs follow the same rule when playing from a USB stick, though some ignore sidecar files entirely.

Adding the language

To keep several languages next to one video, insert a language code between the base name and the extension:

  • interview.en.srt
  • interview.es.srt
  • interview.hi.srt

Two-letter ISO 639-1 codes (en, es, fr, de, ja, ko, zh, ar, hi) are the most widely recognised; many media servers also accept three-letter codes (eng, spa) and full names. Regional variants such as pt-BR or zh-Hans are understood by some software and not others. If a server shows a track as "Unknown", try the plain two-letter code.

Flags: forced, SDH and default

Media servers read extra words in the name as flags. The common ones:

forced
interview.en.forced.srt. Subtitles meant to show even when subtitles are off, usually for foreign-language lines or on-screen text. Forced subtitles explains when you need them.
sdh, cc or hi
interview.en.sdh.srt. Subtitles for the deaf and hard of hearing, including speaker names and sounds.
default
interview.en.default.srt. A hint to select this track first, recognised by some servers.

Order and accepted words vary by software. Plex's and Jellyfin's documentation each list the exact patterns they read; check them when a flag doesn't take effect.

Movies, episodes and folders

Media servers also care about the video's own name. Plex and Jellyfin both expect films in the form "Title (Year)" and episodes with season and episode numbers. The subtitle file follows the video's name exactly: "Our Wedding (2019).mp4" pairs with "Our Wedding (2019).en.srt". Most servers also look in a subfolder named Subs or Subtitles next to the video, which keeps large folders tidy. VLC's preferences list the subfolders it checks.

Example: a family archive on a home server

A father digitises 30 years of home videos and runs a media server. Each video sits in its own folder with a Subs subfolder holding .en.srt and .hi.srt files, made from the digitised files. His parents choose Hindi on the TV; the grandchildren choose English. Nothing needs renaming when he adds a new video.

Embedded tracks versus sidecar files

Instead of separate files, subtitles can live inside the video container, especially in MKV. Embedded tracks can't get separated from the video, but they're harder to edit and not every device reads them. Sidecar files are easy to fix in a text editor and easy to add later. Embedded vs sidecar subtitles weighs the two, and adding an SRT with HandBrake shows how to embed when you need one file.

Making correctly named files with mydubly

The subtitle generator returns SRT and VTT files for each video, in the spoken language or translated into one of 21 languages. Rename each download to the video's base name plus the language code, and the player does the rest. The video itself stays on your device during processing; only the audio is sent.

Mistakes to avoid

  • Hidden extensions. Windows and macOS can hide extensions, so a file that looks like interview.en.srt may really be interview.en.srt.txt. Show extensions before renaming.
  • Mismatched names after renaming the video. Rename subtitle files at the same time.
  • Wrong encoding. A correctly named file with broken characters still looks wrong; save as UTF-8. Subtitles showing strange characters explains.
  • Using flags you can't support. Don't name a plain transcript .sdh unless it includes speaker names and sound descriptions.
  • Assuming every TV reads sidecars. Test on the device; burn in for those that don't.

A naming scheme for a whole library

For collections larger than a few videos, decide the scheme once and write it down:

  • One folder per video, named exactly like the video file.
  • Subtitles in the same folder or a Subs subfolder, named base.language.srt, with flags only where they're true.
  • Two-letter language codes everywhere, with a note of any regional variants you use.
  • The master export kept beside its subtitles, so a corrected file never ends up next to the wrong cut.

When you translate a library into more languages later, this structure means new files simply drop in. Translating a YouTube back catalogue covers prioritising old videos, and the SRT generator page explains the outputs you'll be naming. For archives of digitised tapes, transcribing old tapes covers getting usable audio from them in the first place.

Frequently asked questions

How do I name an SRT so VLC loads it automatically?

Give it the same base name as the video and put it in the same folder, for example talk.mp4 and talk.srt.

How do I add a language code to a subtitle file name?

Insert it before the extension: talk.es.srt for Spanish, talk.hi.srt for Hindi.

What does .forced mean in a subtitle file name?

It marks forced subtitles, which show even when subtitles are off, usually for foreign-language lines or on-screen text.

What does .sdh mean?

Subtitles for the deaf and hard of hearing, which include speaker names and meaningful sounds.

Why does my media server show the subtitle language as Unknown?

The language code isn't recognised. Try a two-letter ISO 639-1 code such as en or es.

Can subtitles go in a subfolder?

Many players and media servers also check a Subs or Subtitles folder next to the video.

Should I use .srt or .vtt for a media server?

SRT is the safest choice for media servers and TVs. VTT is mainly for web players, though many servers read both.