Subtitle guide Conversion guides

How to convert subtitles for Plex


TL;DR — Convert subtitles to SRT for Plex media libraries. Free tool ensures compatibility across all devices. Works with VTT and ASS formats, no upload needed.

Related tool

Plex Subtitle Converter

Open Plex converter

For Plex libraries, a simple SRT file is often the most portable subtitle delivery copy. Plex supports multiple subtitle formats, but SRT offers the widest compatibility across different devices, clients, and playback scenarios.

Quick answer

Use the Plex Subtitle Converter when your source file is VTT or ASS but you want an SRT copy for a Plex media library. The converter keeps timing and readable text, then exports a clean SRT file.

When to use this workflow

Use this workflow when:

  • Subtitles came from a browser workflow as VTT: Downloaded from YouTube, Vimeo, or web video players
  • Subtitles came from an editor as ASS: Aegisub exports with advanced styling that Plex clients may not support
  • The library needs broad device compatibility: SRT works reliably across all Plex clients (TV apps, mobile, web, desktop)
  • You want a simple subtitle file stored next to the video: SRT is easy to inspect, edit, and replace

Do not convert just to standardize if the current file already works for the target Plex client. Conversion is most useful when the source format creates compatibility risk or you want a simple long-term archive copy.

Why SRT works well for Plex

SRT is the safest choice for Plex libraries. For a detailed format comparison, see best subtitle format for Plex. SRT works well because:

  • Universal compatibility: Works on all Plex clients (Smart TVs, streaming boxes, mobile apps, web browsers, desktop apps)
  • Simple format: Plain text with numbered cues, timestamps, and text - easy to inspect and edit
  • Reliable playback: No dependency on advanced styling or positioning that may not render on all clients
  • Easy to manage: External SRT files are easier to edit or replace than embedded subtitles
  • Smaller file size: Text-based format is much smaller than image-based subtitles (SUB/IDX, PGS)

Step-by-step workflow

1. Keep the original subtitle file as the editable source

Before converting, save a copy of the original file. You’ll need it if you want to restore styling (for ASS files) or make edits later.

2. Convert to SRT

  1. Open the Plex Subtitle Converter
  2. Upload or paste VTT, ASS, or SRT subtitle content
  3. Click Convert to SRT
  4. The tool automatically:
    • Converts timestamp format to SRT style (commas instead of dots)
    • Adds sequential cue numbers
    • Removes VTT header and cue settings
    • Strips ASS styling and override tags
    • Preserves subtitle text and timing

3. Review the SRT output

Check the converted SRT file:

  • Cue numbers: Sequential numbers (1, 2, 3, etc.)
  • Timestamps: Use commas (00:00:01,000), not dots
  • Text: Subtitle text is intact and readable
  • Encoding: Non-English characters display correctly

4. Download the SRT file

Click Download SRT to save the converted file. The file is ready to add to your Plex library.

5. Store the SRT copy with the media file

Place the SRT file in the same directory as the video file, using the correct naming convention. See how to name subtitle files for Plex for the complete naming guide.

Single subtitle track:

Movie.mkv
Movie.srt

Multiple subtitle languages:

Movie.mkv
Movie.en.srt          (English)
Movie.es.srt          (Spanish)
Movie.fr.srt          (French)
Movie.ja.srt          (Japanese)

Plex automatically detects subtitle files that match the video file name.

6. Refresh the Plex library

After adding the SRT file:

  1. Go to your Plex library
  2. Right-click the video → “Scan Library Files”
  3. Plex detects the new subtitle track

7. Test playback in the Plex client

Play the video on your primary Plex client (TV, mobile, web) and verify:

  • Subtitles appear in the subtitle menu
  • Captions display at the correct times
  • Text is readable and properly formatted
  • No timing drift or sync issues

What changes during conversion

From VTT to SRT:

  • Header removed: WEBVTT line is removed
  • Timestamps converted: Dots → commas (00:00:01.00000:00:01,000)
  • Cue numbers added: Sequential numbers (1, 2, 3) are added
  • Text preserved: Subtitle text and timing stay the same
  • Cue settings removed: VTT alignment, position, and size settings are stripped

From ASS to SRT:

  • Timestamps converted: ASS format → SRT comma-based format
  • Cue numbers added: Sequential numbers are added
  • Text preserved: Subtitle text stays the same
  • Line breaks preserved: ASS \N → actual line breaks
  • Styling removed: Colors, fonts, borders, shadows are stripped
  • Positioning lost: All subtitles appear in the default position
  • Override tags removed: {\an8}, {\c&HFF0000&}, {\pos(x,y)}, etc. are deleted

The output is easier to inspect and archive.

Common mistakes

Expecting ASS styling to survive

SRT output keeps timing and text, not ASS colors, positions, or effects. If styling is essential for the viewing experience, keep the ASS file or burn subtitles into the video.

Fix: Use SRT for broad compatibility, or keep ASS for clients that support it (desktop players like VLC, MPC-HC, mpv).

Replacing the editable source

Keep the original ASS or VTT file if future edits may be needed. Treat SRT as the library delivery copy, not the only master file.

Fix: Use a clear naming convention (e.g., movie-subtitles-source.ass and movie-subtitles-plex.srt).

Forgetting file naming

Plex library workflows often depend on consistent media and subtitle file names. Conversion is only one part of the handoff.

Fix: Use the naming convention VideoFileName.LanguageCode.srt (e.g., Movie.en.srt, Movie.es.srt).

Using the wrong encoding

If names, accents, or non-English captions look wrong after conversion, fix the text encoding before adding to Plex. UTF-8 is the safest target.

Fix: Re-save the source file as UTF-8 before converting, or use the Subtitle Encoding Fixer after conversion.

Not testing on the target client

A subtitle file that works on desktop may fail on TV apps or mobile clients due to encoding issues or unsupported formatting.

Fix: Test the SRT file on your primary Plex client (TV, mobile, web) before considering the conversion complete.

Embedding subtitles without keeping external files

If you embed subtitles in MKV, you can’t easily edit or replace them later without remuxing the entire file.

Fix: Keep external SRT files alongside the MKV for easier editing and replacement. Embed only when you’re confident the subtitles are final.

Troubleshooting scenarios

Scenario 1: Subtitles don’t appear in Plex

Possible causes:

  • File naming doesn’t match the video file
  • Plex hasn’t refreshed the library
  • File encoding is not UTF-8
  • Subtitle file is in the wrong directory

Fix:

  1. Rename the subtitle file to match the video file exactly (except for the extension)
  2. Refresh the Plex library (right-click the video → “Scan Library Files”)
  3. Check the subtitle menu in the Plex player
  4. Verify the file is in the same directory as the video
  5. Validate the SRT file. See how to validate SRT files for a detailed walkthrough.

Scenario 2: Subtitles appear but text is garbled

Cause: Wrong text encoding (e.g., Windows-1252 instead of UTF-8).

Fix: Use the Subtitle Encoding Fixer to convert to UTF-8, then re-add to Plex.

Scenario 3: Subtitles work on desktop but not on TV

Cause: The TV client doesn’t support the subtitle format or has encoding issues.

Fix: Convert to SRT for universal compatibility, and ensure UTF-8 encoding.

Scenario 4: Subtitles are out of sync

Cause: The subtitle file was created for a different video cut (e.g., theatrical vs. extended edition).

Fix: Use the Subtitle Time Shifter to adjust timing, or find a subtitle file that matches your video cut.

Scenario 5: Multiple subtitle tracks appear but they’re duplicates

Cause: Both embedded and external subtitles exist for the same language.

Fix: Remove the external SRT file if the embedded track is sufficient, or extract and replace the embedded track with the external one.

Frequently asked questions

Does Plex support VTT subtitles?

Partially. VTT works on web players and some apps, but many TV clients don’t support it. Convert to SRT for universal compatibility.

Does Plex support ASS subtitles?

Yes, but support varies by client. Desktop apps and some mobile apps render ASS styling, but many TV apps and streaming boxes fall back to plain text or fail to render ASS at all. For broad compatibility, convert to SRT.

Can I embed subtitles in MP4 files?

MP4 supports embedded subtitles (usually in MOV_TEXT format), but editing or replacing them requires remuxing the entire file. External SRT files are easier to manage.

What’s the best subtitle format for 4K HDR content on Plex?

SRT works fine for 4K HDR. If you need image-based subtitles (SUB/IDX or PGS), keep them as-is - they’re already compatible with Plex.

How do I add forced subtitles (for foreign language parts)?

Use the naming convention VideoFileName.LanguageCode.forced.srt (e.g., Movie.en.forced.srt). Plex detects the “forced” flag and displays the track accordingly.

Can I use multiple subtitle files for the same video?

Yes. Use language codes in file names (e.g., Movie.en.srt, Movie.es.srt, Movie.fr.srt). Plex detects all tracks and lets users switch between them.

What if my subtitles are embedded in MKV?

Plex reads embedded subtitles directly. If you want to edit or replace them, extract the subtitle track using mkvextract (from MKVToolNix), edit the extracted file, then remux the MKV with the updated subtitle track.

How do I extract subtitles from MKV?

Use MKVToolNix:

mkvextract tracks video.mkv 2:subtitles.srt

(Replace 2 with the actual track number from mkvinfo video.mkv)

Use the Plex Subtitle Converter

Convert VTT or ASS subtitles to SRT for Plex libraries, media folders, and broad playback compatibility. No signup, no upload, and everything runs locally in the browser.

Open Plex converter