Stop going episode by episode to set subtitles in Plex! PlexSubSetter lets you search, download, and manage subtitles for entire seasons, shows, or your whole movie library at once. This will allow you to set the subtitles easily.
I got tired of going through TV shows episode by episode in Plex, manually setting subtitles for each one that was missing. PlexSubSetter makes it easy to:
- Find missing subtitles across entire seasons or libraries
- Batch download for multiple episodes/movies at once
- Set subtitles automatically without clicking through every item
- Manage subtitles easily - see what's there, delete what you don't want
Whether you're missing subtitles on a few episodes or want to add them to your entire library, this tool does it all in a few clicks instead of hours of manual work.
- Batch Subtitle Downloads - Select multiple episodes, seasons, or movies and download subtitles for all of them at once
- Smart Filtering - Quickly see which items are missing subtitles vs. which already have them
- Multiple Providers - Searches OpenSubtitles, Podnapisi, and other subtitle sources automatically
- Preview Before Download - See what subtitles are available before downloading
- Manage Existing Subtitles - View, activate, or delete subtitle streams
- Multi-Language Support - Download subtitles in any language
- Web-Based UI - Runs in your browser with a dark-themed modern interface
- Python 3.8 or higher
- Plex Media Server
- Plex account
pip install -r requirements.txtRequired packages:
plexapi>=4.15.0- Plex API clientflask>=3.0- Web frameworksubliminal>=2.1.0- Subtitle search and downloadbabelfish>=0.6.0- Language handling
Windows:
run.bator
python app.pyLinux/Mac:
./run.shor
python3 app.pyThe app starts a local web server on http://localhost:5000 and opens your browser automatically.
- Run
python app.py- your browser opens automatically - Click "Sign in with Plex" - a new tab opens for Plex authentication
- Authorize the app on Plex.tv
- Choose your Plex server from the list (it picks the best connection automatically)
- Select a library (Movies, TV Shows, etc.)
For entire seasons or shows:
- Click the arrow to expand a show
- Check the box next to season(s) or individual episodes
- Click "Search Available" to see what subtitles are available
- Click "Download Selected Subtitles" to download them all at once
For movies:
- Use the Missing button to see only movies without subtitles
- Click "Select All" to select everything, or check individual movies
- Click "Search Available" then "Download Selected Subtitles"
Quick search: Type in the search box at the top to filter by title
You can choose how PlexSubSetter saves downloaded subtitles:
-
plex (default): Subtitles are stored in Plex's database. Requires Plex Pass and subtitle agents to be enabled in Plex settings. This keeps subtitles attached to the media item in Plex.
-
file: Subtitles are saved as separate .srt files next to your video files (e.g.,
Movie.mkv+Movie.en.srt). Works without Plex Pass but requires the app to have access to your media file locations.
- List Current - See what subtitle streams are already on selected items
- Dry Run - Preview which items have subtitles available without downloading
- Delete - Remove subtitle streams you don't want
- Settings - Change language, providers, and other options
- All/Missing/Has Subs buttons - Quickly filter your library by subtitle status
- Reload Library - Refresh the view after making changes in Plex
- Ensure Python 3.8+ is installed:
python --version - Install dependencies:
pip install -r requirements.txt - Check logs in
logs/directory - Make sure port 5000 is available
- Verify internet connection
- Check that subtitle providers are accessible
- Try increasing
search_timeoutin settings - Ensure correct language code is selected
- Try different server connections (local vs remote)
- Check firewall settings
- Verify Plex server is running
- Check Plex token validity
- Click "Reload Library" to refresh
- Check that items have been reloaded from server
- Verify subtitle streams are actually present in Plex