Subtitles for everything in your library.Found, timed and translated, automatically.

Bazarr+ watches every show and film Sonarr and Radarr know about, fetches subtitles in the languages you asked for, lines them up with your files, and does it again for every new episode. Self-hosted. No account, no telemetry.

docker pull ghcr.io/lavx/bazarr:latest
Stars
Forks
Providers
Latest
00:00:02,400

A demonstration, not a capture. Drag it to scrub.

What it does

If you have never automated subtitles before, this is the whole job. Bazarr+ does each of these on a schedule, for everything in your library, and tells you when it could not.

Find

Search every source you trust, in order

A provider is a place subtitles come from, like OpenSubtitles or Podnapisi. Bazarr+ ships a catalog of them you can install, enable and put in priority order, and it stops as soon as a good enough match is found rather than hammering every site.

Time

Line the text up with your actual file

A subtitle written for a different release drifts, so the words land seconds off. Bazarr+ compares the subtitle against your file’s audio and shifts it into place, with several sync engines available and a side-by-side compare when you want to check the work yourself.

Translate

Make the language you wanted, when nobody made it

Some languages simply do not exist for some titles. Bazarr+ can translate an existing subtitle, or a track already embedded in the file, using any model on OpenRouter including free tiers. It can also compose a bilingual subtitle with two languages stacked, which is the one in the frame above. How subtitle processing works.

Keep

Do it again for every new episode, without being asked

You describe what you want once, as a language profile: which languages, whether forced or hearing-impaired tracks count, how good is good enough. After that Bazarr+ applies it to everything, including whatever downloads at 3am tonight.

The interface

Screenshots from the running application. Nothing here is a mockup.

Fix a line, nudge its timing against the waveform, or translate it, without leaving the app.
Select a season, or ten thousand items, and run the same action across all of them. Bulk operations guide
Providers are installable plugins, so a broken source can be fixed without waiting for a release. Provider Hub guide
Hand other apps a key and your instance becomes their subtitle source, metered per key. Distribution Hub guide

What this fork adds

Bazarr+ is a hard fork of Bazarr by morpheus65535, and it keeps everything that already worked. This is what it puts on top. If you are new here, you can skip this table entirely.

Finding subtitles at all

FeatureUpstream BazarrBazarr+
Provider Hub v2.4 Not available Marketplace of subtitle provider plugins that replace the shipped providers, with startup auto-install of your enabled built-ins, local package installs, trust labels and an activity log
OpenSubtitles.org Not available Native plugin, scrapes in-process with a FlareSolverr fallback, so no API key or VIP account is needed
Provider priority Requested, 72 votes Priority order with early stop

Making them right

FeatureUpstream BazarrBazarr+
Combined subtitles v2.4 Not available Bilingual and trilingual SRT or ASS composed from subtitles already on disk, per profile or on demand
Embedded tracks and multi-engine sync v2.4 Not available Score and translate directly from embedded tracks, plus multi-engine sync with side-by-side compare
AI translation Not available Any OpenRouter model, free tiers included
Subtitle editor Not available Full editor with video preview, waveform and AI assistance

At library scale

FeatureUpstream BazarrBazarr+
First-run setup wizard v2.5 Not available A guided, skippable wizard walks a fresh install through Sonarr, Radarr, optional Plex or Jellyfin, a language profile and installing providers, handling the restart and resuming afterwards
Bulk operations One at a time 12 batch actions on any selection, up to 10,000 items per run
Mass sync Requested, 260 votes Select any number of shows or films and sync them all in one run

Yours, and private

FeatureUpstream BazarrBazarr+
Telemetry GA4 and UA to Google Removed entirely
Password security MD5 PBKDF2, 600,000 iterations
API key encryption v2.2 Not available AES encrypted at rest, with auto-migration and key rotation
Distribution Hub v2.4 Not available Multi-tenant OpenSubtitles-compatible API with named keys, tiers, per-window metering and per-key provider scoping, plus a first-party Jellyfin plugin and VLSub Bazarr+
Jellyfin library refresh v2.2 Development branch only Cherry-picked and hardened, with HTTPS and self-signed support and a Refresh now control

Install

Bazarr+ is a drop-in replacement for the upstream container. If you already run Bazarr, point it at your existing /config and everything carries over. Back that directory up first.

Compose
services:
  bazarr:
    image: ghcr.io/lavx/bazarr:latest
    container_name: bazarr
    restart: unless-stopped
    ports:
      - 6767:6767
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
    volumes:
      - ./config:/config
      - /path/to/movies:/movies
      - /path/to/tv:/tv

That is enough to start. Two optional companions are worth knowing about: FlareSolverr, which lets the OpenSubtitles.org plugin get past Cloudflare challenges, and the AI translator sidecar, if you want translation. Both are covered in the getting started guide, which also walks through your first login.

There is also a one-line installer that writes the compose file for you and asks where your media lives. It runs a script from this site, so read it first if that matters to you, and it does for a lot of people: the exact file it fetches is here.

One-line install
curl -fsSL https://lavx.github.io/bazarr/install.sh | bash

Questions

Yes. Bazarr+ uses the same database with a few added columns created on first run. Your database, settings, download history and subtitle files are all preserved. Back up your config directory first, swap the container image, and start.

Yes. Restore your config backup, change the image back, and start. The only manual step is clearing the password field in config.yaml, since upstream cannot read the PBKDF2 hash. The migration guide has the details.

That is how Bazarr+ learns what is in your library and where the files are, so it is the normal setup and the one the guides assume. Sonarr tracks TV, Radarr tracks films, and you can connect any number of either.

Free and open source under the same GPL licence as upstream Bazarr. AI translation runs through OpenRouter, which has free model tiers with generous limits. Paid models are available if you want higher quality, and they are entirely optional.

It is a native Provider Hub plugin that fetches publicly available subtitle pages in-process, the way a browser would, so no OpenSubtitles account or API key is needed. FlareSolverr is strongly recommended as a fallback for Cloudflare browser challenges: run the container and set its URL in the plugin settings.

The Discord server for questions and discussion, or GitHub issues for bugs. The guides cover installation, migration, AI translation and the hubs in detail.

Roadmap

Where Bazarr+ is going, nearest first. There are no dates here, because a self-hosted project ships when the work is right rather than when a quarter ends. Plans shift; the direction has not.

  1. Shipped

    The v2 line so far

    v2.6.2 “Clockwork” keeps subtitle history and sync outputs with the right media, saves useful partial OpenRouter translations with an incomplete status, lists uploads before background sync finishes, and adds explicit OpenRouter routing choices. Searches continue past unusable archives from catalog providers. The v2.6 line also brought whole-season subtitle downloads, stricter sync validation, and adoption of upstream Bazarr databases. Before it, v2.5 “Murmuration” brought many Sonarr and Radarr instances managed as one, per-instance subtitle settings and archive uploads.

    Every release, with full notes

  2. Next

    Coming on the v2 line
    • Discover. Search and pull subtitles for any title, whether or not it is in your library.
    • A rebuilt translator. Translation moves in-process, with a catalog of models, configuration per engine, and a choice of engine per language profile, instead of a separate sidecar container.
    • Search inside your subtitles. Find the episode from a line of dialogue you half remember, across everything you have.
    • Run without Sonarr and Radarr. A standalone mode, packaged for the desktop, for people who have a folder of films rather than a media stack.
  3. v3.0.0

    Several v2 releases away

    Bazarr+ instances sharing subtitles directly with each other, peer to peer, with no central server in the middle and nothing shared that you did not choose to share. It is the largest thing on this list by a distance, which is why it carries the major version and why a good deal of the v2 line comes first.

Point it at your library.

It takes one compose file. Everything else it works out on its own, and if you change your mind, your backup puts you back exactly where you were.