---
title: "6 open-source tools that subtitle your video with Whisper"
slug: "whisper-subtitle-tools"
description: "Six open-source Whisper tools that transcribe video to SRT/VTT offline, fix the timing, style the captions and burn them in — free."
published: "2026-11-11"
verifiedAt: "2026-11-11"
picks: 6
canonical: "https://aifree.dev/best/whisper-subtitle-tools"
---

# 6 open-source tools that subtitle your video with Whisper

> Six open-source Whisper tools that transcribe video to SRT/VTT offline, fix the timing, style the captions and burn them in — free.

Published 2026-11-11. Last checked 2026-11-11.

Speech-to-text APIs bill by the minute, and web subtitle tools upload your footage to someone else's server. These six open-source Whisper tools transcribe on your own machine and hand you SRT files (the standard subtitle format) any editor can load, for nothing.

Every pick is open source, pushed a commit in the last 90 days (checked 2026-11-11), does what its docs claim, and runs offline once its model has downloaded. Ordered as the actual subtitle workflow: transcribe, fix, style, burn.

## The 6 tools at a glance

| Tool | What it does | Price | Install |
| --- | --- | --- | --- |
| Vibe | Drop a video, get SRT — offline GUI | Free · OSS (MIT) | Download page |
| WhisperX | Word-level timing + diarization from the CLI | Free · OSS (BSD-2) | `pip install whisperx` |
| whisper.cpp | The engine, runs anywhere, no Python | Free · OSS (MIT) | clone + `cmake` |
| Subtitle Edit | Fix timings, convert SRT/VTT/ASS | Free · OSS (MIT) | Releases page |
| Aegisub | Style captions like a typesetter | Free · OSS (BSD-3) | aegisub.org |
| ffmpeg | Burn the captions into the pixels | Free · OSS (LGPL/GPL) | Full build from ffmpeg.org |

## 1. Vibe: transcribe a video in one drag

[Vibe](https://github.com/thewh1teagle/vibe) is a desktop app (macOS, Windows, Linux) that transcribes audio and video entirely offline — drop a file, a folder, or a YouTube URL, and export SRT, VTT, TXT, HTML, PDF or DOCX.

![Vibe app with a drop zone reading "Drop audio, video or a folder here" and recent transcriptions in the sidebar](https://f.aifree.dev/media/best/whisper-subtitle-tools/e0e0deb0e56540a3.webp#w=1280&h=800)

**What:** Local Whisper-based transcription with batch files, speaker diarization (who spoke when) and a stable-timestamps mode tuned for subtitle-grade timing.

**Why:** No upload, no per-minute meter — the model downloads once and every transcript after that is free and private.

**Use when:** You want subtitle files without touching a terminal.

**Install:** Download the installer for your OS from [thewh1teagle.github.io/vibe](https://thewh1teagle.github.io/vibe/).

**Catch:** The stable-timestamps mode trades speed for accuracy and runs slower than normal transcription.

## 2. WhisperX: word-accurate timing from the terminal

[WhisperX](https://github.com/m-bain/whisperX) transcribes up to 70× realtime with batched inference, then aligns every word to the audio with wav2vec2 forced alignment — so the SRT it writes is timed per word, not per guessed segment. Speaker diarization labels who said what.

![WhisperX pipeline diagram: input audio, voice activity detection, Whisper plus phoneme model, forced alignment, transcript with word-level timestamps](https://f.aifree.dev/media/best/whisper-subtitle-tools/4f637b6615f7f441.webp#w=1280&h=263)

**What:** A Python CLI that outputs SRT/VTT with word-level timestamps and optional speaker labels.

**Why:** Whisper's native timestamps drift by seconds; forced alignment pulls them back to the word.

**Use when:** Long videos, multiple speakers, or a transcription step you want to script and re-run.

**Install:**

```bash
pip install whisperx
```

**Catch:** Speaker diarization needs a free Hugging Face token passed as `--hf_token` plus accepting the pyannote model's user agreement.

## 3. whisper.cpp: the engine, everywhere

[whisper.cpp](https://github.com/ggml-org/whisper.cpp) is Whisper ported to plain C/C++ — no Python, no CUDA required. Its `whisper-cli` tool transcribes on CPU, Apple Silicon, Windows, Docker, even a Raspberry Pi, and writes files with `-osrt`.

**What:** The engine behind many transcription apps, run straight from the command line.

**Why:** Runs where the Python stack can't — a NAS, a Pi, an old laptop — and starts in seconds.

**Use when:** You want transcription embedded in your own tool or on modest hardware.

**Install:**

```bash
git clone https://github.com/ggml-org/whisper.cpp && cd whisper.cpp && cmake -B build && cmake --build build -j --config Release
```

**Catch:** `whisper-cli` takes 16-bit WAV only — convert first with `ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav`.

## 4. Subtitle Edit: fix the timing Whisper got wrong

[Subtitle Edit](https://github.com/SubtitleEdit/subtitleedit) is a full subtitle editor with Whisper speech-to-text built in: Fix Common Errors, Visual Sync, duration limits, and batch conversion between SRT, VTT and ASS.

![Subtitle Edit dialog "Adjust all times (show earlier/later)" with keyboard shortcuts for shifting subtitles](https://f.aifree.dev/media/best/whisper-subtitle-tools/70897b1f018489ba.webp#w=492&h=388)

**What:** The cleanup pass: shift, split, merge, sync and convert subtitle files.

**Why:** Machine transcripts are rarely publish-ready; this is where they become it.

**Use when:** After any tool above, before the video ships.

**Install:** Download the signed installer from [Releases](https://github.com/SubtitleEdit/subtitleedit/releases) — the macOS `.dmg` is notarized, Linux ships as a Flatpak.

**Catch:** Windows needs Windows 10 22H2 or newer — older builds can fail to start with a .NET runtime error.

## 5. Aegisub: style captions like a typesetter

[Aegisub](https://github.com/TypesettingTools/Aegisub) is the classic subtitle editor for styling: colors, fonts, positioning, motion and karaoke effects through ASS override tags, drawn against the video frame.

**What:** An editor built around ASS, the subtitle format that can actually carry styling.

**Why:** SRT has no styles; when captions need brand colors and placement, ASS is the format and Aegisub is where it gets written.

**Use when:** Styled captions for YouTube or reels rather than plain white text.

**Install:** Get the stable build from [aegisub.org](https://aegisub.org) or the latest upstream build from its [nightly releases](https://nightly.link/TypesettingTools/Aegisub/workflows/ci/master).

**Catch:** No transcription inside — bring the SRT from steps 1–3, and expect a real learning curve.

## 6. ffmpeg: burn it in, one command

[ffmpeg](https://github.com/ffmpeg/ffmpeg) is the open-source media toolkit; its `subtitles` filter renders an SRT or ASS file onto the video with libass:

```bash
ffmpeg -i video.mp4 -vf "subtitles=captions.srt" out.mp4
```

**What:** Captions become pixels, for platforms that ignore subtitle files.

**Why:** For reels and shorts you need text on the frames; ffmpeg does it without opening an editor.

**Use when:** Exporting the finished file.

**Install:** Get a full build from the [ffmpeg.org download page](https://ffmpeg.org/download.html); run `ffmpeg -filters | grep subtitles` to confirm it can burn captions.

**Catch:** The `subtitles` filter needs libass. Homebrew's `ffmpeg` and other minimal builds ship without it, so the burn command fails there.

## Which one to try first

Never opened a terminal → #1. Long video, several speakers → #2. Already have a subtitle file → #4. Plain captions for a reel → #6. If you'd rather transcribe in the cloud on free API credits instead of locally, that's our [free AI subtitle generator guide](https://aifree.dev/learn/free-ai-subtitle-generator).

## Picks

1. [Vibe](https://github.com/thewh1teagle/vibe)
2. [WhisperX](https://github.com/m-bain/whisperX)
3. [whisper.cpp](https://github.com/ggml-org/whisper.cpp)
4. [Subtitle Edit](https://github.com/SubtitleEdit/subtitleedit)
5. [Aegisub](https://github.com/TypesettingTools/Aegisub)
6. [ffmpeg](https://github.com/ffmpeg/ffmpeg)

## Frequently asked questions

### Is Whisper free to use for subtitles?

Yes. The Whisper models are MIT-licensed and all six tools in this list are open source, so there is no per-minute billing — you run them on your own machine after the model downloads once.

### Can these tools transcribe offline?

Yes. Vibe and whisper.cpp run fully offline on your device once the model has been downloaded; WhisperX pulls model weights from Hugging Face on first use and then runs locally.

### How do I burn subtitles into a video for free?

With ffmpeg: ffmpeg -i video.mp4 -vf "subtitles=captions.srt" out.mp4. For styled captions, export ASS from Subtitle Edit or Aegisub first — ffmpeg renders it through libass.

## Sources

- https://github.com/thewh1teagle/vibe
- https://thewh1teagle.github.io/vibe/
- https://github.com/m-bain/whisperX
- https://github.com/ggml-org/whisper.cpp
- https://github.com/SubtitleEdit/subtitleedit
- https://subtitleedit.github.io/subtitleedit/
- https://github.com/TypesettingTools/Aegisub
- https://aegisub.org
- https://github.com/ffmpeg/ffmpeg
- https://ffmpeg.org/download.html

HTML page: https://aifree.dev/best/whisper-subtitle-tools
