Plex external subtitle guide

How to Convert PGS to SRT for Plex and Add External Subtitles

PGS subtitles are image based and may need to be burned into the video when a Plex client cannot render them in the current playback path. Converting an extracted SUP/PGS track to external SRT gives Plex a text subtitle option that many clients can render more easily. Place the reviewed SRT beside the matching movie or episode, use Plex filename patterns, and rescan or refresh the item so Plex can detect it.

PGS to SRT Workflow for Plex

Important: SRT can remove subtitle burn-in as one possible reason for transcoding, but it does not guarantee Direct Play. The video, audio, container, client, quality settings and network can still require Direct Stream or transcoding.

  1. Extract the PGS subtitle as SUP if it is still inside MKV.
  2. Convert the SUP/PGS images into SRT text with OCR and review the result.
  3. Rename the SRT to match the movie or episode and add its language code.
  4. Put it beside the media file, scan or refresh Plex, select the SRT track and inspect playback status.

Use the online SUP to SRT converter

Why PGS Subtitles Can Trigger Burn-In or Transcoding in Plex

PGS stores rendered subtitle images. When a Plex client cannot render an image subtitle in the current playback path, the server may need to burn the subtitle into the video frames. Burning subtitles means creating new video frames, which requires video transcoding.

Plex clients and settings differ, so the same file can behave differently on two devices. Text SRT can often be drawn by the app without changing video frames, but this still depends on the app, the player settings and the media. For the format background, read what PGS subtitles are.

Plex documents local external subtitle naming and says PGS and VOBSUB may work on some apps but not all; for many apps, image subtitles may require burn-in. Plex Web App settings also describe automatic burn behavior for image based formats such as PGS.

FactorPGS/SUPSRT
DataSubtitle images and timing.Subtitle text and timing.
Blu-ray stylingPreserved in images.Not preserved exactly.
Text editabilityRequires OCR first.Easily editable.
Client renderingVaries and may require burn-in.Broadly supported, but still client-dependent.
File placementOften embedded in MKV or stored as SUP.Commonly used as an external sidecar file.
Direct Play impactCan trigger burn-in on some clients or settings.May remove that trigger but cannot guarantee Direct Play.

Direct Play, Direct Stream and Transcode. What the Subtitle Changes

Direct Play

The client receives compatible media without server conversion. Subtitle compatibility is only one part of this decision.

Direct Stream

The server can repackage compatible streams into a different container without fully converting the video. Exact behavior depends on the source and client.

Transcode

The server converts video, audio or both to something the client can play. Burning subtitles into video requires video processing.

Even after selecting SRT, playback may still convert because of unsupported video or audio codecs, channel layout, container, bitrate, resolution, quality settings, bandwidth, disabled Direct Play, client limitations or other server settings.

Do not use SRT selection alone as proof of Direct Play. Check the current playback details or server activity to see which stream is being converted and why.

Step 1. Extract the PGS Track When It Is Inside MKV

If the selected PGS track is embedded in an MKV, extract it as a standalone SUP file before conversion. Identify the correct language and full or forced track rather than assuming the first subtitle stream is correct.

Step 2. Convert the Extracted SUP Subtitle to SRT

  1. Open the homepage converter.
  2. Select the SUP file containing the desired PGS track.
  3. Choose the language shown in the subtitle images.
  4. Run OCR.
  5. Review names, punctuation, accents, line breaks and uncertain recognition.
  6. Download the SRT.
  7. Keep the original SUP until the SRT has been tested.

OCR can make recognition errors. SRT keeps recognized text and cue timings, but not exact PGS graphics. Plex or the playback app controls how text subtitles look.

Step 3. Name External SRT Files for Plex Movies

Put the external subtitle in the same folder as the movie, match the base movie filename, and add a period plus a valid language code before .srt. Plex documents ISO 639-1 two-letter or ISO 639-2/B three-letter language codes for this purpose.

/Movies/Avatar (2009)/
  Avatar (2009).mkv
  Avatar (2009).en.srt

Alternative valid examples:

Avatar (2009).eng.srt
Avatar (2009).es.srt
Avatar (2009).de.srt

Multiple languages

Movie Name (2026).mkv
Movie Name (2026).en.srt
Movie Name (2026).es.srt
Movie Name (2026).fr.srt

Each language needs a unique filename. Also confirm the operating system has not hidden extensions and accidentally created a file such as Avatar (2009).en.srt.txt.

Step 4. Name External SRT Files for Plex TV Episodes

Place the SRT beside the matching episode file, match the episode base filename exactly, preserve the SxxEyy episode identifier, and add the language code before .srt.

/TV Shows/Example Show/Season 01/
  Example Show S01E03.mkv
  Example Show S01E03.en.srt

Multiple-language example:

Example Show S01E03.mkv
Example Show S01E03.en.srt
Example Show S01E03.es.srt

Do not create one season-level SRT for multiple episodes. Apply forced, SDH or CC tags only when the subtitle content genuinely matches that type.

Use Forced, SDH and CC Tags Correctly

Forced subtitles

Movie Name (2026).en.forced.srt
Example Show S01E03.en.forced.srt

Forced subtitles normally contain selected dialogue or signs meant to appear even when the primary audio matches the viewer's preferred language. Do not mark a complete dialogue subtitle as forced merely to make it turn on automatically.

SDH subtitles

Movie Name (2026).en.sdh.srt

SDH commonly includes dialogue plus information such as speaker identification, music or sound cues for deaf and hard-of-hearing viewers.

Closed captions

Movie Name (2026).en.cc.srt

Plex documentation recognizes sdh or cc filename flags in supported server and metadata-agent contexts. Do not promise identical labeling in all older installations.

Use the documented order: BaseName.LanguageCode.Flag.Extension.

Step 5. Scan or Refresh Plex After Adding the Subtitle

  1. Confirm the SRT and media file are in the correct library directory.
  2. Confirm the names match before the language and optional flag suffixes.
  3. Confirm Plex Media Server can read the file.
  4. Run the relevant library scan or item/library refresh available in the current Plex interface.
  5. Reopen the media detail page if necessary.
  6. Check the subtitle selector for the new language track.
  7. Test playback on the actual client.

Plex Media Server needs read access to the subtitle file and its parent directories. Permission repair depends on the operating system, NAS and container setup, so do not weaken permissions globally as a shortcut.

Plex's official guidance says modern Plex Movie and Plex TV Series agents detect correctly named local subtitles without legacy agent changes. Older legacy-agent setups may require Local Media Assets and metadata refresh behavior.

Language Preferences and Automatic Selection

Plex automatic subtitle behavior depends on preferred audio language, preferred subtitle language, subtitle mode, track language, forced flags and available metadata. External subtitle files should include the correct language code so Plex can identify the track.

Use .forced only for genuinely forced content. If a subtitle should not be automatically selected, choose it manually in the Plex client instead of mislabeling the file.

Check Playback Status After Selecting SRT

  1. Start playback with the original PGS track and inspect playback details or server activity.
  2. Switch to the external SRT track.
  3. Inspect playback status again.
  4. If playback still converts, test with subtitles off.

If playback still converts with subtitles off, subtitles are not the only cause. Check codec, container, bitrate, quality and client settings before blaming the SRT file.

Troubleshooting Plex External SRT Subtitles

Plex does not show the SRT track

Check the folder, base filename, language suffix, extension, file permissions and whether the library has been scanned or refreshed. Confirm the file is not accidentally named .srt.txt.

The SRT appears as unknown language

Use a valid ISO 639-1 or ISO 639-2/B language code in the filename. For embedded tracks, use a tool such as MKVToolNix to inspect language metadata.

The forced subtitle does not auto-select

Confirm the subtitle really contains forced material, the filename has .language.forced.srt, and Plex language preferences are configured. Select it manually if necessary.

SRT timing is wrong

Confirm the subtitle and video are from the same release, edition and cut. Determine whether the offset is constant or grows over time, then correct timing in a subtitle editor.

SRT text contains OCR errors

Re-run OCR with the correct subtitle language, review names and punctuation, and correct the SRT in Subtitle Edit or another editor.

SRT shows boxes or incorrect characters

Save as UTF-8 and confirm the playback device font supports the script. Distinguish file encoding problems from missing font glyphs.

SRT is selected but Plex still transcodes

Check video codec, audio codec, channel layout, container, resolution, bitrate, quality settings, remote bandwidth, Direct Play settings and client limitations. Repeat the test with subtitles off.

PGS plays directly on one device but not another

This is plausible because Plex apps and hardware capabilities differ. Do not treat one client's result as a universal server property.

Subtitle styling looks different

SRT is rendered by the player and does not contain the original PGS graphics. Adjust supported client subtitle appearance settings where available, or retain PGS when exact design matters.

Plex displays duplicate subtitle tracks

Check whether one track is embedded and another external. Use language and forced/SDH tags to distinguish purpose. Do not delete the source PGS until the SRT has been verified.

Official Plex References Used

Related SUP and PGS Guides

Using Jellyfin instead? Read the Jellyfin PGS to SRT guide.

Browse all subtitle conversion guides.

Frequently Asked Questions

Does PGS always cause Plex to transcode?

No. Behavior depends on the Plex client, subtitle settings and playback path. Image based PGS may need server-side burn-in on some clients or configurations, which requires video transcoding, while other setups can behave differently.

Does SRT guarantee Direct Play in Plex?

No. SRT can remove subtitle burn-in as one possible transcoding trigger, but video, audio, container, bitrate, quality settings, network conditions and client compatibility can still require Direct Stream or transcoding.

How should I name an English SRT file for a Plex movie?

Match the movie base filename and add the language code before .srt, such as Avatar (2009).en.srt, placed beside Avatar (2009).mkv.

How should I name SRT files for Plex TV episodes?

Match the episode base filename and add the language code, such as Example Show S01E03.en.srt, in the same season folder as the episode.

How do I mark a Plex subtitle as forced?

Add the documented forced flag after the language code: Movie Name (2026).en.forced.srt. Use it only for genuinely forced material.

What is the Plex filename for SDH subtitles?

Use the language code followed by sdh, such as Movie Name (2026).en.sdh.srt. Plex also documents cc for closed-caption variants in supported configurations.

Why is Plex not detecting my external SRT?

Common causes are a mismatched base filename, wrong folder, hidden .txt extension, missing language or incorrect suffix order, unreadable permissions, or a library that has not been scanned or refreshed.

Can Plex convert PGS or SUP into SRT automatically?

Do not rely on Plex to perform the OCR workflow described here. Extract the PGS track as SUP when needed, convert its images to SRT with an OCR tool and review the result before adding it to the Plex library.

Does Plex Pass include PGS to SRT OCR conversion?

This guide does not claim that Plex Pass includes PGS to SRT OCR conversion. The dependable workflow is to convert the subtitle separately and add the reviewed SRT to the library.

Should I delete the original PGS track after conversion?

Not immediately. Keep the original until the SRT has been checked for OCR accuracy, timing and missing styled or positioned content. You may want both formats for different clients.

Why does the SRT look different from PGS?

PGS contains rendered subtitle graphics. SRT contains text and timing, so the Plex client controls appearance and cannot reproduce every original color, font or position.

Can I add several subtitle languages to one Plex movie?

Yes. Give each external subtitle the same movie base name and a different valid language code, such as .en.srt, .es.srt and .fr.srt.

Ready to create an external SRT for Plex?

Convert the extracted SUP/PGS subtitle with OCR, review the text, then add the SRT beside the matching Plex movie or episode.

Convert SUP to SRT