Generate SRT subtitles from a video — free and offline

Short answer: pip install babelscribe, then babelscribe video.mp4 -f srt. You get video.srt next to the video, made on your own computer.

Steps

pip install babelscribe              # Python 3.9+, Windows / Linux / macOS
babelscribe lecture.mp4 -f srt       # -> lecture.srt (language auto-detected)
babelscribe lecture.mp4 -f srt,vtt   # also WebVTT for web players
babelscribe lecture.mp4 --accurate   # fewer errors, slower

Any format ffmpeg reads works as input: mp4, mkv, mov, webm, mp3, wav, m4a and more (ffmpeg is bundled). Long recordings are safe: babelscribe disables Whisper's context carry-over, which prevents the classic “same sentence repeated forever” bug on long files.

Why offline

Online subtitle generators upload your video, often limit length, and charge per minute. babelscribe runs OpenAI's Whisper model on your own GPU — AMD Radeon and Intel Arc via Vulkan, NVIDIA via Vulkan or CUDA, Apple Silicon via Metal — so private recordings never leave your machine and there are no limits.

Accuracy

On Google FLEURS, error rates with --accurate include English 5.7%, Spanish 4.2%, German 4.0%, Japanese 5.7% (CER) and Korean 3.9% (CER). The full 16-language table is in the README.

FAQ

How do I make subtitles for a video for free?

Install babelscribe with pip and run babelscribe video.mp4 -f srt. It creates video.srt using Whisper on your own computer, free and without uploading the video.

Can I generate subtitles without uploading my video?

Yes. babelscribe runs entirely offline after downloading the model once.

Which subtitle formats are supported?

SRT, WebVTT, plain text and JSON with word timings.

Which languages can it subtitle?

All 99 languages Whisper supports, with automatic language detection.

babelscribe is free and open source (MIT) · Privacy