Skip to content

About

BringYourSub is a free and open-source project that allows you to generate AI subtitles for YouTube videos with your own OpenAI API key. It supports context-aware translations by sending full transcription, and provides a Whisper fallback if no YouTube transcription is available. Compatible with Chromium and Firefox browsers.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BringYourSub - AI YouTube Subtitle Generator

BringYourSub Logo

Generate high-quality, AI-powered translated subtitles for YouTube videos using your own API key.

License: MIT Version Chrome Firefox TypeScript

πŸ‡ΉπŸ‡· TΓΌrkΓ§e


πŸ“‘ Table of Contents


✨ Features

πŸ” Privacy-First (BYOK)

Your API key stays in your browser. No backend servers, no data collection, no tracking.

πŸ€– Multi-Provider Support (NEW in v2.0)

Choose from 7 AI providers:

  • Cloud: OpenAI, Anthropic (Claude), Google (Gemini), Groq, OpenRouter
  • Local: LM Studio, Ollama - Run models on your own hardware!

🧠 Context-Lock Translation

Unlike sentence-by-sentence translation, BringYourSub analyzes the entire video context first, ensuring:

  • Consistent terminology throughout
  • Natural-sounding translations
  • Proper handling of technical terms

πŸ“š Dual Subtitles (Language Learning)

Display both original and translated subtitles simultaneously - perfect for language learners!

πŸŽ™οΈ Whisper Fallback

No captions on the video? No problem. Automatically falls back to OpenAI's Whisper for audio transcription.

🎨 Draggable Subtitles

Customize subtitle position by dragging them anywhere on the video player.

🌍 48+ Languages Support

Turkish, English, German, Spanish, French, Italian, Portuguese, Russian, Japanese, Korean, Chinese, Arabic, and many more!

🎯 Extended Settings

  • Background opacity control
  • Sync offset adjustment
  • Font size options
  • Auto-apply on generation

πŸ€– Supported Providers

Provider Type Models Free Tier
OpenAI Cloud GPT-4o, GPT-4o-mini, o1 ❌
Anthropic Cloud Claude 3.5 Sonnet, Opus, Haiku ❌
Google Cloud Gemini 2.0, 1.5 Pro/Flash βœ…
Groq Cloud Llama 3.3, Mixtral, Gemma βœ…
OpenRouter Cloud 100+ models Varies
LM Studio Local Any GGUF model βœ… (Free)
Ollama Local Any Ollama model βœ… (Free)

πŸ“Έ Screenshots

Extension Popup

Extension Popup

Subtitle Generation

Subtitle Generation

YouTube Overlay

YouTube Overlay


πŸ“¦ Installation

Prerequisites

Before installing, make sure you have:

Method 1: Pre-built Extension (Recommended)

Google Chrome / Chromium-based Browsers (Edge, Brave, Opera, Vivaldi)

  1. Download the latest release from the Releases page
  2. Extract the ZIP file to a folder
  3. Open your browser and go to the extensions page:
    • Chrome: Type chrome://extensions/ in the address bar
    • Edge: Type edge://extensions/ in the address bar
    • Brave: Type brave://extensions/ in the address bar
  4. Enable Developer mode (toggle in the top-right corner)
  5. Click Load unpacked
  6. Select the bringyoursub-chrome/dist folder
  7. The extension icon will appear in your toolbar

Mozilla Firefox

  1. Download the latest release from the Releases page
  2. Extract the ZIP file to a folder
  3. Open Firefox and type about:debugging in the address bar
  4. Click This Firefox in the left sidebar
  5. Click Load Temporary Add-on
  6. Navigate to bringyoursub-firefox/dist folder and select manifest.json
  7. The extension icon will appear in your toolbar

Note: Firefox temporary add-ons are removed when the browser is closed. For permanent installation, the extension needs to be signed by Mozilla.

Method 2: Build from Source

Requirements

  • Node.js 18 or higher
  • npm (comes with Node.js)

Windows

  1. Open Command Prompt or PowerShell
  2. Clone the repository:
    git clone https://github.com/Vartmor/bringyoursub.git
    cd bringyoursub
  3. Install dependencies:
    npm install
  4. Build the extensions:
    npm run build
  5. Follow the browser-specific instructions above to load the extension from:
    • Chrome: bringyoursub-chrome/dist
    • Firefox: bringyoursub-firefox/dist/manifest.json

macOS

  1. Open Terminal
  2. Clone the repository:
    git clone https://github.com/Vartmor/bringyoursub.git
    cd bringyoursub
  3. Install dependencies:
    npm install
  4. Build the extensions:
    npm run build
  5. Follow the browser-specific instructions above to load the extension

Linux

  1. Open Terminal
  2. Clone the repository:
    git clone https://github.com/Vartmor/bringyoursub.git
    cd bringyoursub
  3. Install dependencies:
    npm install
  4. Build the extensions:
    npm run build
  5. Follow the browser-specific instructions above to load the extension

πŸš€ Usage

  1. Get an API Key (or use local models)

  2. Open a YouTube Video

    • Navigate to any YouTube video
  3. Click the Extension Icon

    • Select your AI provider
    • Enter your API key (if required)
    • Choose a model
    • Select target language
    • Enable "Dual Subtitles" for language learning (optional)
    • Click "Generate Subtitles"
  4. Customize & Export

    • Drag subtitles to reposition
    • Adjust opacity and sync offset in Settings
    • Copy to clipboard or download as .SRT file

πŸ› οΈ Development

Commands

# Install dependencies
npm install

# Build for production
npm run build

# Watch mode (development)
npm run watch

Project Structure

bringyoursub/
β”œβ”€β”€ bringyoursub-chrome/    # Chrome extension (MV3)
β”‚   β”œβ”€β”€ extension/
β”‚   β”‚   β”œβ”€β”€ background/     # Service worker
β”‚   β”‚   β”œβ”€β”€ content/        # Content scripts
β”‚   β”‚   └── popup/          # Popup UI
β”‚   β”œβ”€β”€ shared/
β”‚   β”‚   └── ai-core/        # AI pipeline modules
β”‚   └── manifest.json
β”œβ”€β”€ bringyoursub-firefox/   # Firefox extension (MV2)
β”œβ”€β”€ build.mjs               # esbuild configuration
β”œβ”€β”€ package.json
└── tsconfig.json

Feedback

Have a suggestion or found a bug? Please open an issue on GitHub.

See CONTRIBUTING.md for more details.


πŸ”’ Security

This extension uses a Bring Your Own Key (BYOK) architecture. Your API key is:

  • Stored locally in your browser
  • Never sent to any server except OpenAI's API
  • Never logged or tracked

See SECURITY.md for more details.


πŸ“œ License

MIT License - Muhammed Koseoglu

See LICENSE for more information.


Acknowledgments


Made with ❀️ for the community

About

BringYourSub is a free and open-source project that allows you to generate AI subtitles for YouTube videos with your own OpenAI API key. It supports context-aware translations by sending full transcription, and provides a Whisper fallback if no YouTube transcription is available. Compatible with Chromium and Firefox browsers.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages