Your Bazarr, upgraded.

Stop waiting for features upstream will never ship. Bazarr+ is a drop-in replacement with the Provider Hub, a Distribution Hub for external clients, combined subtitles, AI translation, and zero telemetry. Same config, same database. Just swap the container image.

Zero data to Google
300+ AI translation models
10k items per batch

For Sonarr, Radarr, Plex, and Jellyfin users who run their own stack.

Bazarr+ vs Upstream Bazarr

Features requested for years, ignored or rejected upstream. Bazarr+ ships them all.

Feature Upstream Bazarr Bazarr+
Provider Hub v2.4 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
Distribution Hub v2.4 Multi-tenant OpenSubtitles-compatible API: named keys, tiers, per-window metering, and per-key provider scoping, with a first-party Jellyfin plugin and VLSub Bazarr+
Combined Subtitles v2.4 Bilingual and trilingual SRT or ASS composed from subtitles already on disk, per profile or on demand
Embedded & Multi-Engine v2.4 Score and translate directly from embedded tracks, plus multi-engine sync with side-by-side compare
Jellyfin Library Refresh v2.2 Upstream development only Cherry-picked and polished: HTTPS with self-signed support, hardening, "Refresh now" card
API Key Encryption v2.2 AES-encrypted at rest with auto-migration and key rotation
Provider Priority Requested (62 votes) Priority order with early stop
OpenSubtitles.org Native plugin, scrapes in-process with a FlareSolverr fallback (no API key or VIP)
AI Translation Any OpenRouter model (free tiers available)
Mass Sync Requested (249 votes) Bulk sync from Tasks page
Bulk Operations One at a time 11 batch actions (up to 10k items)
Subtitle Editor Full editor with video, waveform, AI
Telemetry GA4 + UA to Google Removed entirely
Password Security MD5 PBKDF2 (600k iterations)

See it in action

Distribution Hub overview tab with usage stat cards and a 30-day subtitle request chart
Provider Hub Marketplace grid of installable subtitle provider plugins with Trusted, Active, and Installed badges
Subtitle editor showing video preview, waveform timeline, and AI translation panel
Series page showing batch action toolbar with checkboxes for selecting episodes and bulk operation controls
Mass Translate dialog showing source and target language selection with 7 items queued for AI translation
AI Translator settings page showing model selection, temperature controls, and translation job queue with status indicators

Up and running in under a minute

One command to install everything, or copy the compose file below.

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

Want to inspect first? View the script source.

docker-compose.yml
services:
  bazarr:
    image: ghcr.io/lavx/bazarr:latest
    container_name: bazarr
    restart: unless-stopped
    depends_on:
      - flaresolverr
    ports:
      - 6767:6767
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=UTC
    volumes:
      - ./config:/config
      - /path/to/movies:/movies
      - /path/to/tv:/tv
    healthcheck:
      test: ["CMD-SHELL", "curl -sf http://localhost:6767/_supervisor/status | grep -q '\"running\"'"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 30s

  # FlareSolverr (recommended): solves Cloudflare challenges for the native
  # OpenSubtitles.org plugin. After installing the plugin from the Marketplace,
  # set its FlareSolverr URL to http://flaresolverr:8191/v1 in the provider settings
  # (or http://localhost:8191/v1 if you run Bazarr with host networking).
  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    restart: unless-stopped
    ports:
      - 8191:8191
    environment:
      - LOG_LEVEL=info
      - TZ=UTC

  # AI translation via OpenRouter (free tiers available)
  # Configure the API key in Settings > AI Translator
  ai-subtitle-translator:
    image: ghcr.io/lavx/ai-subtitle-translator:latest
    container_name: ai-subtitle-translator
    restart: unless-stopped
    ports:
      - 8765:8765
    healthcheck:
      test: ["CMD", "curl", "-sf", "http://localhost:8765/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s

For environment variables, volume mappings, and Sonarr/Radarr setup, see the Getting Started guide.

Switching from upstream? Same database, same config. Back up your config directory, swap the container image, and start. Settings, history, and provider accounts carry over.

Common questions

Yes. Bazarr+ uses the same database with a few added columns created on first run. Your SQLite 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. See the migration guide for details.
Completely free and open source under the same GPL license as upstream Bazarr. AI translation uses OpenRouter, which offers free model tiers with generous limits. Paid models are available if you want higher quality, but they are entirely optional.
No. Your Sonarr/Radarr connections, language profiles, provider accounts, and notification settings carry over as-is. New features like the Provider Hub, the Distribution Hub, combined subtitles, provider priority, bulk operations, and the subtitle editor are available immediately. Your existing OpenSubtitles-compatible token is seeded into the Distribution Hub as an unlimited default key, and installed Provider Hub plugins activate after the staged restart.
OpenSubtitles.org is a native Provider Hub plugin. It 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 FlareSolverr container and set its URL in the plugin settings.
Join our Discord server for help and discussion, or open an issue on GitHub. The guides section covers installation, AI translation setup, and migration in detail.

What's next

Where Bazarr+ is heading. Plans shift, but the direction is steady.

  • v2.4.0 “Prism” (prepared): the Distribution Hub multi-tenant subtitle API, Provider Hub built-in replacement with startup auto-install, combined bilingual and trilingual subtitles, embedded-track scoring, and host-side archive extraction.
  • v2.5.0: multiple Radarr and Sonarr instances.
  • v2.6.0: universal providers and federation. Point Bazarr+ at any OpenSubtitles.com-compatible endpoint, including another Bazarr+ instance, and daisy-chain instances together over a loop-safe federation protocol.
  • v3.0.0 “Subnet”: peer-to-peer subtitle federation, a self-organizing mesh of Bazarr+ instances.

Ready to switch?

Every day on upstream is another day of one-at-a-time downloads, no editor, and your usage data sent to Google. Swap the image and leave all of that behind.

Switch to Bazarr+
Open source. Fully reversible. No account required.