Open-source, local-first AI meeting notepad that captures device audio without a bot joining the call, as an alternative to Granola.
- Stars
- 115
- Forks
- 8
- Open issues
- 0
- Last commit
- 4 days ago
What is it?
OpenSubs generates subtitles for a video by transcribing its speech, translating the text, applying a style and burning the result into the picture. The video is decoded on the user's machine and is never uploaded, since the product has no upload endpoint. Only the speech model is downloaded and cached locally, and subtitle text leaves the machine only if a cloud translator is chosen instead of the on-device one.
The same engine is available as a web app that runs in a browser tab, a Chrome, Edge and Firefox extension that shows live subtitles over playing video, a desktop app for long files and batches on macOS, Windows and Linux, and a command-line binary. Line breaking, reading-speed limits, style presets and the ASS writer are a shared Rust crate compiled to WebAssembly and to a native binary, so every front end produces identical output.
The repository is a monorepo with Rust crates for media probing, speech recognition, SRT/VTT/ASS handling and translation providers, plus front ends built with Svelte, Tauri, Capacitor and the extension APIs. The desktop app and CLI call ffmpeg for burning and need a build that includes the ass and whisper filters.
Key features
- 01Transcribes speech with Whisper, running locally in the browser or on desktop.
- 02Translates subtitles with an on-device translator or an optional cloud provider.
- 03Burns styled subtitles into the video using ASS style presets.
- 04Exports SRT, VTT and ASS subtitle files.
- 05Shows live subtitles over video playing in Chrome, Edge or Firefox tabs.
- 06Provides a CLI for scripting and CI pipelines.
Use cases
- Subtitling private or confidential footage that should not be uploaded to a third-party service.
- Batch-processing long video files on a desktop machine.
- Adding live subtitles to videos watched in the browser.
- Automating subtitle generation in a CI or scripting workflow.
Quick start
- 1
Open the web app in a browser, nothing to install
- 2
Build the CLI from source with Cargo
cargo build --release -p opensubs
Things to know
- Licensed AGPL-3.0-or-later, a strong copyleft license that applies to derivative work.
- Desktop app and CLI need an ffmpeg build with the ass and whisper filters; Homebrew's standard ffmpeg lacks them.
- Building from source requires Rust 1.97.1 and Node 22.
Topics
FAQ
- What is opensubs?
- Open-source local subtitling for any video: Whisper transcription, translation, styling and burn-in, in the browser, desktop app or CLI, without uploading the video. OpenSubs generates subtitles for a video by transcribing its speech, translating the text, applying a style and burning the result into the picture. The video is decoded on the user's machine and is never uploaded, since the product has no upload endpoint. Only the speech model is downloaded and cached locally, and subtitle text leaves the machine only if a cloud translator is chosen instead of the on-device one.
- Is opensubs free to use? What license does it have?
- opensubs is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is opensubs still maintained?
- Actively maintained. The last commit to opensubs was on Oct 16, 2026.
- What can I use opensubs for?
- Subtitling private or confidential footage that should not be uploaded to a third-party service. Batch-processing long video files on a desktop machine. Adding live subtitles to videos watched in the browser. Automating subtitle generation in a CI or scripting workflow.
- How do I install opensubs?
- Open the web app in a browser, nothing to install Build the CLI from source with Cargo: cargo build --release -p opensubs
- Where can I get opensubs?
- The source code and installation instructions are on GitHub: https://github.com/open-subs/opensubs
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A browser-based video subtitle workstation that edits, styles and burns subtitles into local MP4 files, with optional on-device Whisper transcription.
Open-source speech-to-text built on Whisper that adds word-level timestamps via forced alignment and optional speaker diarization.
Desktop app that transcribes and translates audio and video offline on your computer, built on OpenAI's Whisper.
A Next.js web app that generates timed subtitles from uploaded videos or media links using Together AI's Whisper model.
Privacy-first AI meeting assistant that records, transcribes and summarizes meetings locally on macOS and Windows, with optional Ollama or cloud LLM summaries.