Back to Blog

By the independent developer behind Bunny Ears TV

Plex Subtitles on Apple TV: Formats and Settings

Set Plex subtitles on Apple TV in Bunny Ears TV, choose global or per-title languages, and add SRT, ASS, WebVTT, PGS, and other tracks to Plex.

Plex subtitles Apple TVPlex subtitle language preferencesPlex external subtitlesPlex SRT subtitlesPlex subtitles not showingPlex music video channelBunny Ears TV
Plex Subtitles on Apple TV: Formats and Settings

If every trip through your Plex library begins with choosing a show, choosing an episode, and choosing a subtitle track, television starts to feel like library administration. Bunny Ears TV takes a different approach: tune a channel, let something start, and keep the subtitle behavior you already prefer.

The useful answer is in Settings > Playback > Audio & Subtitles. Set a global Subtitle Mode, preferred language, and subtitle size once. During full-screen playback, use the Subtitle button when one particular movie, episode, or music video needs a different track. Bunny Ears TV remembers that choice for the Plex item, even if it later appears on another channel.

That is how Plex subtitles on Apple TV fit the larger promise of my app: channel surf your own library without giving up control when a title needs translation, captions, or its own exception.

Set a Global Subtitle Preference in Bunny Ears TV

Open Settings > Playback > Audio & Subtitles. The subtitle controls have three jobs:

  • Subtitle Mode decides when Bunny Ears TV should select a track automatically.
  • Subtitle Language tells it which language to prefer.
  • Subtitle Size offers Small, Medium, or Large text sizing and bitmap scaling, subject to the selected track and playback route.

These preferences sync through iCloud across supported Apple TV, iPhone, and iPad devices. They are the default for any Plex item that does not already have an individual choice saved in Bunny Ears TV.

Choose Off, Auto, or Always

Subtitle Mode What Bunny Ears TV does
Off Starts with subtitles hidden unless an individual choice was already saved for that Plex item.
Auto Shows the preferred subtitle language when the active audio is in a different language. If the audio already matches, it still honors an eligible forced subtitle track.
Always Keeps subtitles on when a usable track is available, preferring the selected language before falling back to another non-forced track.

Auto is a practical starting point for a mixed-language Plex library. If English is preferred, an English soundtrack normally plays without full subtitles. A Japanese soundtrack can select an English text track. An English movie can still show a properly identified forced English track for brief untranslated dialogue.

That behavior depends on the metadata Plex exposes. An audio stream marked as “unknown” cannot be compared reliably with a preferred subtitle language. A forced track that is not flagged or named as forced looks like an ordinary track. Plex explains the same underlying need for accurate language metadata in its subtitle configuration guide.

Pick a Preferred Subtitle Language

Bunny Ears TV currently offers these global language choices:

  • English
  • Spanish
  • French
  • German
  • Italian
  • Portuguese
  • Japanese
  • Korean
  • Chinese
  • Russian
  • Hindi
  • Arabic

The setting is a preference, not a translation service. Bunny Ears TV does not translate dialogue, generate captions, or search the internet for a missing track. NewPlayer selects from the embedded and external subtitles Plex makes available for the item.

Set Subtitle Size Once

Small, Medium, and Large are configured as presentation preferences for both text and bitmap tracks, but they do not work identically. The policy changes font size for text and image scale for bitmap subtitles such as PGS or VobSub. That is intended routing behavior, not a guarantee that every subtitle payload and device route will respond identically.

That distinction matters. A well-authored SRT track can resize cleanly. A low-resolution VobSub track enlarged on a 4K television may look soft. A PGS track designed for a different frame can sit or scale differently than expected. The size control is useful, but it cannot repair the source artwork.

Change Subtitles for One Movie, Episode, or Music Video

Global settings handle the ordinary case. The full-screen subtitle picker handles the exception.

While a video is playing full screen, show the now-playing controls and open the Subtitle picker. It combines the embedded subtitle streams in the media file with external sidecar tracks discovered through Plex. Choose the track you want, or choose Off for that title.

Bunny Ears TV saves the decision against two pieces of Plex identity:

  1. The selected Plex server.
  2. The Plex item itself.

That scope prevents two unrelated servers from colliding just because they assigned the same internal item number. It also means the preference follows the title rather than the channel. If the same episode appears tonight on a built-in comedy channel and next week on one of your custom virtual channels, the saved choice still belongs to that episode. The preference survives later sessions and syncs to your other supported devices through iCloud for the same authenticated Plex account.

An explicit per-title choice takes priority over the global rule. If Subtitle Mode is Auto but you select Spanish for one movie, Bunny Ears TV restores that track when it can identify it again. If you explicitly choose Off, that choice is also remembered. If the saved track disappears or Plex reports it differently after the file changes, Bunny Ears TV falls back to the current global behavior rather than selecting an unrelated track by guesswork.

Subtitle Formats NewPlayer Knows How to Route

“Supported format” is easy to overstate. A codec name tells NewPlayer which subtitle lane to try. It does not certify every file bearing that label on every physical Apple device. The container, stream metadata, actual payload, timing, fonts, Plex response, and playback route still matter.

Here is the current NewPlayer subtitle policy in plain language:

Subtitle family Formats recognized by policy How they are handled
Embedded text SubRip/SRT, WebVTT/VTT, ASS, SSA, MOV text/TX3G Used through the system route when Apple exposes the track, or through NewPlayer's embedded subtitle lane.
External text sidecars SRT/SubRip, WebVTT/VTT, ASS, SSA Downloaded from the selected Plex server and rendered by NewPlayer's external parser and overlay.
Embedded bitmap PGS, DVB subtitles, DVD/VobSub, XSub Sent through a bitmap subtitle lane, or a system route when the track is exposed there.
Broadcast captions CEA-608, CEA-708, DVB Teletext Available when the caption data is represented or exposed in a form NewPlayer can identify and route.

MOV text and TX3G are embedded-track formats in this policy. They are not accepted as external sidecar files by NewPlayer's external parser. The same is true for PGS, DVB, DVD/VobSub, XSub, CEA captions, and DVB Teletext. They generally need to arrive as embedded or system-exposed tracks.

What to Expect From ASS and SSA Styling

ASS and SSA can describe much more than dialogue at the bottom of the screen. A track may specify fonts, screen positions, colors, animation, karaoke timing, or vector drawings. NewPlayer's policy routes those tracks through a dedicated composition path intended to preserve the authored layout.

“Tries” is important. Missing fonts, unusual scripts, malformed events, and assumptions tied to one video resolution can change the result. A simple ASS dialogue track is a different test from an elaborately typeset anime release. Bunny Ears TV does not promise pixel-for-pixel reproduction of every ASS script.

What a Subtitle Failure Should Affect

NewPlayer treats subtitles as a separate playback lane. A malformed sidecar, an unavailable decoder, or a track that Plex did not expose can fail that subtitle selection without automatically making valid audio and video unusable. Turn the track off or choose another available option and the program can continue where the route permits.

This is also why the format table is a routing policy, not a blanket claim of physical-device certification. I would rather state that boundary than call every arbitrary PGS, Teletext, or ASS file guaranteed because its codec appears in a row.

If selecting a track changes Plex from Direct Play to Direct Stream or Transcode, the Plex delivery-mode guide for Bunny Ears TV explains why.

Add External Subtitles to Existing Plex Media

If a title has no useful track, add a sidecar file on the Plex Media Server. A sidecar sits beside the video instead of being embedded inside it. Bunny Ears TV does not modify the media or upload the subtitle elsewhere. It asks Plex for the tracks associated with the title and uses the authenticated subtitle URL Plex provides.

Plex's current local subtitle guide supports SRT, SMI, SSA/ASS, and WebVTT as broadly compatible local formats. NewPlayer's external overlay specifically handles SRT, WebVTT, ASS, and SSA. SRT is usually the simplest choice when advanced styling is not required.

1. Match the subtitle to the exact video cut

A subtitle for a theatrical release may drift against a director's cut. A music video can have a clean edit, an album version, and a remaster with different opening frames. Start with a subtitle timed for the exact file you own.

2. Put the subtitle beside the video and match its base name

For a movie, Plex documents this pattern:

/Movies/Arrival (2016)/
  Arrival (2016).mkv
  Arrival (2016).eng.srt
  Arrival (2016).spa.srt
  Arrival (2016).eng.forced.srt
  Arrival (2016).eng.sdh.srt

For a television episode, keep the episode base name:

/TV Shows/Example Show/Season 01/
  Example Show - s01e03.mkv
  Example Show - s01e03.eng.srt

Plex accepts two-letter or three-letter language codes in the filename. The optional forced flag identifies brief foreign-language passages. sdh or cc identifies captions that also describe sounds or speakers. Save text subtitles as UTF-8 to reduce character-display problems.

Recent Plex Movie and Plex TV Series agents can also use a Subs or Subtitles folder inside the same parent directory as the video files. Legacy agents may require Local Media Assets to be enabled. The official guide covers both cases.

3. Scan or refresh the item in Plex

After copying the file, scan the library and refresh the item's metadata if Plex does not notice it. Check the title in Plex before troubleshooting Bunny Ears TV. If Plex does not associate the sidecar with that exact item, Bunny Ears TV has no track to discover.

4. Open the Bunny Ears TV subtitle picker

Tune the channel carrying that item, enter full screen, and open the Subtitle picker. External discovery happens separately from video startup, so a newly reported sidecar can appear after the video has already begun. Select it once and Bunny Ears TV saves the per-title preference.

Plex also offers on-demand subtitle search in supported Plex clients. That is a Plex client feature, not a Bunny Ears TV search screen. If you want a sidecar under your own control, add and name the local file on your server.

A Plex Music Video Subtitle Example on Channel 19

Music Video Mixtapes on channel 19 is included in Bunny Ears TV's 26 always-free channels. It can build a Plex music video channel from video playlists, collections, or libraries, then put something on without making you browse artists and folders first.

Suppose a Japanese music video in that rotation has an English translation:

/Music Videos/
  Hikaru Example - Midnight Signal.mp4
  Hikaru Example - Midnight Signal.eng.ass

If Plex associates and exposes that sidecar for the video, it can appear beside the embedded tracks in Bunny Ears TV. With English as the preferred language and Subtitle Mode set to Auto, NewPlayer can choose the English track when the active audio is Japanese. If the ASS layout is too busy for the television, add a simpler English SRT version and choose it from the full-screen picker.

That one choice stays attached to the Plex music video. It can return when the clip comes around again on Music Video Mixtapes or appears through another Bunny Ears TV channel using the same Plex item. The station keeps moving, but the title remembers what you asked for.

For the rest of the setup, including source mixing, artist spacing, Song IDs, and programmed sets, see How to Create a Plex Music Video Channel.

Why Plex Subtitles Are Not Showing in Bunny Ears TV

Work from the server outward instead of changing several player settings at once.

Symptom Check first
A sidecar is absent from the picker Confirm Plex associates it with the exact item. Check the folder, matching base name, extension, and language code, then scan and refresh.
Auto does not select the expected language Inspect the audio and subtitle language metadata. “Unknown” cannot reliably match a preferred language.
Forced dialogue does not appear Confirm the embedded track is flagged forced or the sidecar filename contains .forced. and uses the preferred language code.
Characters are broken Save the text file as UTF-8 and test a plain SRT track to separate encoding trouble from advanced styling.
ASS positioning or fonts look different Check for missing fonts and resolution-specific styling. Test a simpler ASS or SRT version.
PGS or VobSub is too large or small Try Settings > Playback > Audio & Subtitles > Subtitle Size. Bitmap scaling cannot redraw low-resolution source art.
Subtitles drift over time Find a sidecar matched to the exact release or edit. A global size or language setting cannot repair timing for a different cut.
One track fails but the video keeps playing Choose another track or Off. Subtitle-lane failure does not prove that the audio or video route is broken.

For a stubborn file, Plex Media Info can reveal whether the track is embedded, what codec and language it reports, and whether the expected stream exists at all. The Plex playback problems guide explains how to collect that information without guessing from a filename.

If the subtitle appears but playback starts pausing, compare the same scene with the track off and follow the Plex buffering checks for Apple TV.

Subtitles Without Another Server Project

Bunny Ears TV currently defines 427 built-in channels, including 68 Radio stations. The 26-channel Basic package is always free, and channel 19 is part of it. The app runs on tvOS 26, iOS 26, and iPadOS 26.

None of the subtitle controls require Docker, an IPTV stack, an M3U playlist, or separate Bunny Ears TV server software. Your media and sidecar files remain on the Plex server you select. Bunny Ears TV does not insert third-party ads, and it does not pretend a format label can guarantee every file. It gives NewPlayer the tracks Plex exposes, remembers your choices, and lets the program remain the point.

Channel surf your own library

Stop Scrolling. See What's On.

Turn selected Plex libraries into more than 400 built-in channels, including 68 Radio stations. Try all 26 Basic channels free on Apple TV, iPhone, and iPad.

Download on the App Store