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
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
- Open the Plex Subtitle Converter
- Upload or paste VTT, ASS, or SRT subtitle content
- Click Convert to SRT
- 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:
- Go to your Plex library
- Right-click the video → “Scan Library Files”
- 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:
WEBVTTline is removed - ✅ Timestamps converted: Dots → commas (
00:00:01.000→00: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:
- Rename the subtitle file to match the video file exactly (except for the extension)
- Refresh the Plex library (right-click the video → “Scan Library Files”)
- Check the subtitle menu in the Plex player
- Verify the file is in the same directory as the video
- 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)
Related guides
- Best subtitle format for Plex
- ASS vs SRT
- How to fix garbled subtitles
- How to convert ASS to SRT for YouTube uploads
- How to validate SRT files
Related tools
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