Skip to article
All field notes

How to Add External Subtitles to Jellyfin

Step-by-step guide to adding custom SRT and VTT subtitles to your Jellyfin media server, including naming conventions, troubleshooting, and format support.

Written by SubWiz TeamNovember 26, 2025

How to Add External Subtitles to Your Jellyfin Media Server

Jellyfin is a powerful open-source media server, and unlike Plex, it does not lock features behind a subscription. If you have used SubWiz to translate subtitles for your collection, adding them to Jellyfin is straightforward once you know the naming rules.

This guide covers the naming convention, step-by-step setup, troubleshooting, and format support so your translated subtitles show up and play correctly.

How Does Jellyfin Detect External Subtitle Files?

Jellyfin, like most media servers, relies on strict file naming to detect external subtitle files. It does not scan the content of your subtitle file to figure out what video it belongs to. It matches filenames.

The naming structure is:

Filename.LanguageCode.srt

If your video is BigBuckBunny.mp4, your subtitle file must start with BigBuckBunny. The language code goes between the filename and the extension.

Correct examples:

  • BigBuckBunny.en.srt for English
  • BigBuckBunny.pt-BR.srt for Brazilian Portuguese
  • BigBuckBunny.es.srt for Spanish
  • BigBuckBunny.fr.srt for French

Incorrect examples:

  • subs.srt (Jellyfin has no idea which video this belongs to)
  • BigBuckBunny.english.srt (full language name instead of code)
  • BigBuckBunny.srt (missing language code, Jellyfin may default to English or ignore it)

The subtitle file must be in the exact same folder as the video file. Jellyfin does not search subdirectories for external subtitles by default.

What Language Codes Does Jellyfin Support?

Jellyfin uses ISO 639-1 and ISO 639-2 language codes. The most common ones you will need:

  • en for English
  • es for Spanish
  • fr for French
  • de for German
  • pt for Portuguese
  • pt-BR for Brazilian Portuguese (includes region code)
  • ja for Japanese
  • ko for Korean
  • zh for Chinese
  • zh-CN for Simplified Chinese
  • zh-TW for Traditional Chinese
  • it for Italian
  • ru for Russian
  • ar for Arabic
  • hi for Hindi

For two-word language variants like Brazilian Portuguese or Simplified Chinese, include the region code separated by a hyphen. Jellyfin uses this to display the correct language label in the subtitle picker.

How Do I Add Subtitles to Jellyfin Step by Step?

Once your files are named correctly, here is the process to get them showing up in Jellyfin.

  1. Place the subtitle file in the same folder as the video file. Make sure the naming matches the convention above.

  2. Trigger a library scan. Open your Jellyfin Dashboard, go to Libraries, click the three dots on your media library, and select Scan Library. You can also use the option to Scan Library Files if you want a deeper scan.

  3. Wait for the scan to complete. For large libraries, this can take a few minutes. Jellyfin will index the new subtitle files during this pass.

  4. Open the movie or episode details page in Jellyfin. Click the More button (three dots) on the details page.

  5. Look for the Subtitles dropdown or the CC (Closed Caption) icon in the playback controls.

  6. Select your new external subtitle from the list. It should appear as the language name, for example "Spanish (External)".

  7. Start playback. The subtitle should appear at the bottom of the screen.

If you have multiple subtitle files for the same video, they will all show up in the list. This is useful if you have subtitles in several languages from different SubWiz translations.

What Subtitle Formats Does Jellyfin Support?

Jellyfin has strong support for subtitle formats, though some behave better than certain clients.

  • SRT: Maximum compatibility. Works on every Jellyfin client including web, mobile, and TV apps. This is the safest choice.
  • VTT: Fully supported. Works well on the web player and modern clients. Better for HTML5 playback scenarios.
  • SSA/ASS: Supported, and great for anime with complex styling and positioning. Some clients may require transcoding to display correctly.
  • SUB: Supported on some clients but less reliable than SRT or VTT.
  • SMI (SAMI): Supported but rarely used today.

For best results across all devices, use SRT. If you are building a web-based player or need richer styling, VTT is the next best option. SubWiz can generate both formats.

Why Are My Subtitles Not Showing Up in Jellyfin?

This is the most common question I see. Here are the usual causes and fixes.

The naming is wrong. Double-check that the subtitle filename matches the video filename exactly, including capitalization. BigBuckBunny.en.srt works for BigBuckBunny.mp4, but bigbuckbunny.en.srt might not on some systems.

The files are in different folders. Jellyfin only looks for external subtitles in the same directory as the video. A Subs folder will not work for external subtitle detection.

The library has not been rescanned. After adding new subtitle files, you need to trigger a scan. Go to Dashboard, Libraries, and click Scan Library. If the files were added during a previous scan, Jellyfin might not pick them up without a fresh scan.

The language code is wrong. If you used english instead of en, Jellyfin will not recognize it. Stick to ISO codes.

The subtitle file is corrupted. Open the SRT file in a text editor and verify the format is correct. It should have numbered entries, timestamp lines in the format 00:00:01,000 --> 00:00:04,000, and text lines. If you got the file from a bad download, try regenerating it.

Can I Set a Default Subtitle Language in Jellyfin?

Yes. Jellyfin lets you configure default subtitle behavior per user. Go to Dashboard, Users, select your user, and scroll to the Subtitles section.

You can set:

  • A preferred subtitle language that auto-selects when available
  • Whether to show subtitles by default or only when triggered
  • Whether to prefer embedded or external subtitles when both exist

This is useful if you always watch with subtitles in a specific language. Set it once and every video in your library will default to that language when a matching subtitle file exists.

How Do I Add Subtitles to a TV Show with Multiple Episodes?

TV shows work the same way as movies, but the naming matters even more because Jellyfin uses strict SXXEXX episode naming.

If your episode is Breaking Bad S01E01.mp4, your subtitle file should be Breaking Bad S01E01.en.srt. The episode identifier must match exactly.

For a season folder structure:

  • /Shows/Breaking Bad/Season 01/Breaking Bad S01E01.mp4
  • /Shows/Breaking Bad/Season 01/Breaking Bad S01E01.en.srt

Both files must be in the same Season 01 folder. Do not put subtitle files in a separate subs folder.

Related Articles

Summary

Jellyfin makes external subtitles easy once you get the naming right. Use the Filename.LanguageCode.srt pattern, keep files in the same folder, and scan your library after adding new files. SRT is the most compatible format across all Jellyfin clients.

SubWiz can generate both SRT and VTT files that work perfectly with Jellyfin. Start translating now.

NEXT ON THE REELAI vs. Traditional Translation: How Subtitles Have Changed Forever