Stop Hunting for Subtitles Manually
Running a personal media server gets complicated fast once subtitles enter the picture. Files arrive without them, language options are missing, or the sync is off by half a second and completely unwatchable. Bazarr solves this by sitting alongside Jellyfin and automatically fetching, syncing, and organizing subtitles for every item in your library – no manual searching required.

What You Need Before You Start
This guide assumes Jellyfin is already running on your machine, whether that is a home server, a NAS, or a spare PC running Linux. Bazarr is a companion application, not a plugin, so it runs as its own service and communicates with Jellyfin through the API. You will need both applications able to reach each other over your local network, and you will need at least one subtitle provider account to pull subtitles from.
OpenSubtitles is the most commonly used provider and offers a free tier. Create an account at opensubtitles.com before starting the Bazarr setup – you will need your username, password, and API key. The API key lives inside your OpenSubtitles account settings under the API section. Subscene and Addic7ed are viable alternatives if you want broader coverage, but OpenSubtitles alone handles the majority of popular content well enough to start.
On the Jellyfin side, generate an API key by navigating to the Jellyfin dashboard, then going to Administration > API Keys and clicking the plus icon. Name it something identifiable like “Bazarr” and copy the key somewhere safe. You will also need your Jellyfin server URL – typically http://localhost:8096 if Bazarr and Jellyfin are running on the same machine, or the local IP address of your server if they are on separate devices.
For the installation itself, Docker is the cleanest approach. If you are running Docker already, pull the Bazarr image using lscr.io/linuxserver/bazarr:latest. The LinuxServer.io build is well-maintained and includes sensible defaults. If Docker is not your preference, Bazarr also installs directly on Linux via Python, and Windows users can grab the installer from the official Bazarr GitHub releases page. Whichever method you choose, the configuration steps inside the application are identical.
Connecting Bazarr to Jellyfin and Configuring Providers
Once Bazarr is running, open the web interface at port 6767 – for example, http://localhost:6767. The setup wizard walks you through the initial configuration, but it is worth understanding what each section does rather than clicking through blindly. The first stop is Settings > Media Players, where you add Jellyfin as your media server. Enter your Jellyfin URL and the API key you generated earlier. Bazarr will attempt a test connection immediately, and a green checkmark confirms the link is working.
Next, go to Settings > Providers and add OpenSubtitles or whichever provider you signed up for. Each provider has its own credential fields – for OpenSubtitles, you enter your username, password, and paste in the API key. Bazarr supports multiple providers simultaneously, and when it searches for subtitles it queries all of them in order of priority. Setting provider priority matters: if OpenSubtitles returns a result first, Bazarr will not bother querying the others, so put your most reliable source at the top of the list.

The Settings > Languages section controls which subtitle languages Bazarr downloads. You can set a default profile that applies to all media, or create multiple profiles and assign them differently to movies versus series. If you watch content in more than one language or share the server with people who need different subtitle options, profiles are the right tool. A typical single-language setup just needs one profile with your preferred language set as the desired subtitle, and English as a fallback if no translation is available.
Under Settings > Subtitles, pay attention to the sync options. Bazarr integrates with FFsubsync and alass, two tools that automatically correct subtitle timing drift. Enabling automatic synchronization on download means that even if the subtitle file was encoded for a slightly different video release, Bazarr adjusts the timestamps to match the file in your library. This alone eliminates the single most common subtitle complaint. You can also configure whether Bazarr embeds subtitles directly into media files or saves them as external SRT files in the same directory – external files are easier to manage and replace, which is the better default unless you have a specific reason to embed.
After saving your settings, go to the Movies or Series tab in Bazarr. The library should populate automatically once the Jellyfin connection is active, pulling in all your existing content. Any item showing a missing subtitle will be highlighted. You can trigger a manual search for individual titles by clicking the magnifying glass icon, or run a bulk search across the entire library from the system menu. For large libraries, the bulk search runs as a background task and works through items progressively – do not expect it to finish in minutes if you have thousands of files.
Keeping It Running Automatically
Bazarr handles new content through a scheduled task that checks for missing subtitles at a regular interval. The default is every 24 hours, but you can tighten that to 6 or 12 hours under Settings > Scheduler if you add new content frequently. Radarr and Sonarr users get an additional option: Bazarr integrates directly with both applications through their own APIs, so when Radarr downloads a new movie, it signals Bazarr to immediately start a subtitle search for that specific file rather than waiting for the next scheduled scan. That integration is configured under Settings > Radarr and Settings > Sonarr, using the same API key method as Jellyfin.

One thing worth monitoring is your provider quota. OpenSubtitles free accounts have a daily download limit, and a large library scan can burn through that quickly. If Bazarr starts returning failed downloads, check the provider status page inside Bazarr’s dashboard – it shows remaining quota and any API errors. Upgrading to an OpenSubtitles VIP account removes the daily cap and is worth the cost if your library is actively growing. Bazarr also logs every subtitle search and download in System > Logs, which makes troubleshooting specific files straightforward when something does not download as expected.





