Why your subtitles do not show up in Plex or Jellyfin

Nine times out of ten the file is fine and the name is wrong. There are four rules and one setting.

By Buck Kettering· September 12, 2026· 5 min read

Sidecar subtitles are the ones that live next to the video as their own file, usually .srt. Every media server supports them and every media server is quietly picky about the name. When they do not appear, the cause is almost always one of the items below.

1. The base name has to match exactly

The subtitle is matched to the video by the part of the name before the extension. It has to be identical, character for character:

Dune Part Two (2024).mkv
Dune Part Two (2024).en.srt
Dune Part Two (2024).mkv
Dune.Part.Two.2024.1080p.WEB-DL.srt

The second one is the usual case. You downloaded the subtitle separately and it came with the release name from wherever it was ripped. Nothing about it is broken. It just does not belong to any video your server can see.

Spaces, punctuation, capitalisation and the year in brackets all count. On a Mac or a NAS the capitalisation will often be forgiven, because those filesystems are case-insensitive. On a Linux server it will not be.

2. Put the language code on

A bare .srt with a matching base name usually does get picked up, but it shows in the player as "Unknown" and it will not be selected automatically by your language preference. Add a two-letter ISO 639-1 code:

Dune Part Two (2024).en.srt
Dune Part Two (2024).es.srt
Dune Part Two (2024).ja.srt

Three-letter codes (eng, spa) also work in Plex, Jellyfin and Emby. Two letters is the safer habit because it is what every one of them documents.

The code goes between the base name and the extension, as its own dot-separated part. Dune Part Two (2024) en.srt is not a language code, it is a different base name.

3. Forced and SDH are flags, not part of the title

Two extra labels are understood, and they go after the language code:

Dune Part Two (2024).en.forced.srt
Dune Part Two (2024).en.sdh.srt

Forced means subtitles for the foreign-language dialogue only, the ones you want burned on even when you are watching in your own language. SDH means subtitles for the deaf and hard of hearing, which include sound descriptions. Servers surface these as separate selectable tracks rather than as extra files.

Anything else you put in there, including a group name or the word subtitles, is read as part of the filename and quietly ruins the match.

Naming multiple tracks in one language: if you have two English files and neither is forced or SDH, most servers will show both but label them identically. Give the second one a title part after the code if your server supports it, or pick one and delete the other. There is no standard here worth relying on.

4. Where the file sits

Next to the video is correct for all three servers. A Subs subfolder is recognised by Plex and Emby but is not universally handled, and it stops working as soon as you move the video without moving the folder. Keep them beside the file.

Movies/
  Dune Part Two (2024)/
    Dune Part Two (2024).mkv
    Dune Part Two (2024).en.srt
    Dune Part Two (2024).en.forced.srt

For TV, the same rule with the episode name:

The Last of Us - S02E04.mkv
The Last of Us - S02E04.en.srt

5. The setting people miss

If the names are right and nothing appears, check that the library has local media assets enabled.

  • Plex: Settings, Library, tick "Use local assets" on the library, or per-library Advanced, "Use local assets". With this off Plex never looks at sidecar files at all.
  • Jellyfin: the library's "Enable external subtitles" and the metadata savers section. Also check that the subtitle language is in your user profile's preferred languages, or the track exists but is never auto-selected.
  • Emby: Library, Advanced, subtitle downloads and local subtitle options are separate switches. Turning off automatic downloading does not turn off local pickup, but people often turn off both.

After changing any of those, run a full library scan with metadata refresh. A normal scan looks for new video files and will happily skip a folder where only the subtitle changed.

6. What renaming does to all of this

This is the part that bites after you finally get the names right.

The pairing between a video and its subtitles is nothing but the shared base name. There is no link, no database entry, no reference inside either file. So the moment you rename the video and not the subtitle, the pairing is gone, and the subtitle becomes an orphan sitting in the folder doing nothing.

Before:  Dune.Part.Two.2024.mkv  +  Dune.Part.Two.2024.en.srt
Rename the video only:
After:   Dune Part Two (2024).mkv  +  Dune.Part.Two.2024.en.srt  <- orphaned

Most bulk renaming tools rename what you selected and nothing else, which is technically correct and practically wrong. Two ways out:

  • Select the subtitles too and apply the same rule. Works if your rule is deterministic enough that the video and the subtitle land on the same base name, which is often not the case when the rule uses metadata read out of the video.
  • Use a tool that carries companion files. The renamer detects the sidecars that share the old base name, rewrites them to the new base name, and preserves the language and forced parts. Media Renamer Pro does this for srt, sub, idx, vtt, ass, ssa, sup, smi, ttml and dfxp once you switch on "Carry subtitle files with renamed media" in Settings under Exclusions. It is off by default, deliberately, because carrying files is the kind of thing you should opt into.

Why artwork and .nfo are treated differently: Media servers look up poster.jpg, fanart.jpg and movie.nfo by exact fixed name, not by matching the video's base name. Renaming those to match the video actively breaks them. A renamer that carries subtitles should leave those alone, and it is worth checking that yours does.

Quick checklist

  • Base name identical to the video, including the year and brackets
  • Two-letter language code as its own part: .en.srt
  • .forced or .sdh after the language code if applicable
  • File sits beside the video, not in a Subs folder
  • Local assets or external subtitles enabled on the library
  • Full scan with metadata refresh after any of the above
  • When you rename the video, rename or carry the subtitle in the same pass

I write media tooling. Media Renamer Pro is my Mac, iPad and iPhone app that does the renaming described here, with a full preview before anything moves and undo for the last saved rename session.

None of the above requires it. The rules are the rules whatever you use.

Media Renamer Pro app icon

Rename it all, see it first

Media Renamer Pro for Mac, iPad and iPhone. $4.99 once. No subscription, no account.

Get it on the App Store