A CLI and web tool that translates SRT subtitle files line by line using ChatGPT or any OpenAI-compatible API, including local Ollama models.
gnehs/subtitle-translator-electron
Desktop app that translates subtitle files (SRT, VTT, ASS, SSA) into other languages using ChatGPT-style LLMs.
- Stars
- 1,687
- Forks
- 97
- Open issues
- 6
- Last commit
- 22 days ago
What is it?
Subtitle Translator is an Electron desktop app that sends subtitle cues to an LLM such as ChatGPT and returns them in a target language. It accepts .ass, .srt, .ssa and .vtt files, and saves progress as JSON checkpoints so an interrupted job can be resumed by dragging the file back into the app.
Translation takes neighboring sentences into account so that each line reads in context. The app offers two modes: Strict, which keeps every source cue one-to-one and supports all listed formats, and Adaptive, which accepts SRT and VTT input and can merge or split cues and output translated SRT or bilingual ASS.
Installs are available from the releases page or via Homebrew cask.
Key features
- 01Translates subtitles with ChatGPT-compatible LLMs.
- 02Supports ASS, SRT, SSA and WebVTT subtitle files.
- 03Uses neighboring sentences as context for each translation.
- 04Saves JSON checkpoints so interrupted jobs can resume.
- 05Adaptive mode can merge or split cues and output bilingual ASS.
Use cases
- Translating foreign-language movie or TV subtitles into another language.
- Producing bilingual subtitle files for language learning.
- Resuming a long subtitle translation job after it was interrupted.
Quick start
- 1
Install the app with Homebrew
brew install --cask gnehs/tap/subtitle-translator-electron - 2
Or download the latest stable version from the Releases page
Things to know
- Requires an API key for an LLM service such as ChatGPT to perform translations.
- Adaptive mode accepts only SRT and VTT input, and ASS/SSA input is unsupported there.
Topics
FAQ
- What is subtitle-translator-electron?
- Desktop app that translates subtitle files (SRT, VTT, ASS, SSA) into other languages using ChatGPT-style LLMs. Subtitle Translator is an Electron desktop app that sends subtitle cues to an LLM such as ChatGPT and returns them in a target language. It accepts .ass, .srt, .ssa and .vtt files, and saves progress as JSON checkpoints so an interrupted job can be resumed by dragging the file back into the app.
- Is subtitle-translator-electron free to use? What license does it have?
- subtitle-translator-electron is open source under the MIT license. Check the license terms before using it in commercial products.
- Is subtitle-translator-electron still maintained?
- Actively maintained. The last commit to subtitle-translator-electron was on Oct 17, 2026.
- What can I use subtitle-translator-electron for?
- Translating foreign-language movie or TV subtitles into another language. Producing bilingual subtitle files for language learning. Resuming a long subtitle translation job after it was interrupted.
- How do I install subtitle-translator-electron?
- Install the app with Homebrew: brew install --cask gnehs/tap/subtitle-translator-electron Or download the latest stable version from the Releases page
- Where can I get subtitle-translator-electron?
- The source code and installation instructions are on GitHub: https://github.com/gnehs/subtitle-translator-electron
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A terminal CLI for chatting with OpenAI's GPT-3.5 and GPT-4 models, with interactive chat mode and pipeline support.
A VS Code extension that lets you send code questions, explanations, tests and fixes to OpenAI models from inside the editor.
Open-source, cloud-native LLMOps platform for managing prompts, observing LLM calls, caching, and delivering prompt changes.
An LLM-powered desktop and CLI tool for video subtitles: speech recognition, sentence segmentation, correction, translation and burning subtitles into video.
An AI skill that turns SRT subtitles into hand-drawn whiteboard animation videos on a warm beige paper background, exported as MP4.