Skip to content
Transcribe & subtitle

whisper.cpp: free offline subtitles on your own computer

A free, MIT-licensed C/C++ port of OpenAI's Whisper that writes SRT and VTT subtitles on your own computer [1][3][4].

Does
Speech-to-text and subtitles without uploading footage
Best for
Travel and field vloggers who want captions without the cloud
Cost
Free (MIT licence) [1]; models download separately [2]
Runs
Locally, on CPU or GPU
Updated 2 Nov 2026

Runs in a terminal (a text window for typing commands): point it at an audio file and it writes a transcript or subtitle file. The model is a file on your disk, so nothing is uploaded [3]. Buzz offers it as an engine [6].

What it does

Licence
MIT [1]
Output formats
TXT, SRT, VTT, LRC, CSV, JSON, each via a flag such as -osrt or -ovtt [4]
Input
README: the CLI example only runs on 16-bit WAV [3]. Help text: flac, mp3, ogg and wav [4]
Platforms
macOS (Intel and Arm), Linux, Windows, iOS, Android, WebAssembly, Raspberry Pi, Docker [3]
Hardware acceleration
Metal (Apple Silicon), Core ML (Apple Neural Engine), NVIDIA CUDA, Vulkan, AMD ROCm, OpenVINO, or CPU only [3]
Model sizes
tiny: 75 MiB on disk, about 273 MB memory. large: 2.9 GiB on disk, about 3.9 GB memory [3]
Homebrew
whisper.cpp formula, stable 1.9.5, installs whisper-cli; no models included [2]

Integrations

InterfaceStatusDetail
MCP serverMCP · CommunityCommunity wrappers
Command lineCLI · Built inProject CLI
API / libraryAPI · Built inC/C++ library

Requirements and setup

  • A ggml model, from download-ggml-model.sh or the links Homebrew prints [3][2].
  • Building from source: git and CMake [3].
  • FFmpeg, to convert video or MP3 to 16-bit WAV [3].
  • Optional Core ML on Apple Silicon (over 3x faster than CPU only, per the README): Python packages, Xcode command-line tools, -DWHISPER_COREML=1 [3].

Licence, cost and privacy

  • Runs locally against a model file [3]. Internet is only needed to download the code and model.

Limitations

  • Audio that is mostly music or silence can produce phantom text. Suggested fixes: -l to set the language, -sns, -nf and --vad [4].
  • Defaults to English (-l en); use -l auto or name the language [4].
  • Limited speaker labels: -di for stereo audio; -tdrz needs a separate model [4].
  • The first Core ML run on a device is slow while the model compiles [3].
  • VloggingPro has not tested its accuracy or speed.
Quick start

Quick start

On a Mac, Homebrew installs whisper-cli [2]; otherwise build from source [3]. Then get a model and a WAV file.

Copied from the documentation · macOS · source [2]
brew install whisper.cpp
Copied from the documentation · macOS, Linux · source [3]
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh base.en
cmake -B build
cmake --build build -j --config Release
./build/bin/whisper-cli -f samples/jfk.wav
Copied from the documentation · Windows · source [3]
.\models\download-ggml-model.cmd base
Copied from the documentation · source [3]
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
Assembled from documented options, not printed in the docs · source [4]
./build/bin/whisper-cli -m models/ggml-base.en.bin -f output.wav -osrt -ovtt -of output

The last command writes output.srt and output.vtt; -of sets the name without extension [4]. For a video, swap input.mp3 for the video file; ffmpeg reads most formats [5].

Uses for vloggers

  • Offline captions for travel footage, once the model is downloaded.
  • Subtitles for client or sponsor footage you cannot upload.
  • A searchable transcript for finding quotes before cutting.
  • The speech step in a local agent workflow, via Remotion's @remotion/install-whisper-cpp package [7].

Workflows that use it

Some setupClaude Code + Remotion explainer

Have Claude Code build an animated explainer as editable Remotion code, preview it in Remotion Studio, render it and check every claim before publishing.

RemotionRemotion official agent skillswhisper.cpp
Some setupAI travel vlog edit

Detect shots in raw GoPro or phone clips, choose the story order, join the clips with FFmpeg, and keep GPS and faces under your control.

PySceneDetectFFmpeg / ffprobeAI video editing skill (znyupup)whisper.cpp
Some setupLocal AI subtitles

Turn vlog speech into SRT and VTT subtitle files on your own computer, with an app or the command line, then check every name.

Buzz transcriptionAuto Subs (tmoroney)whisper.cppFFmpeg / ffprobe

Alternatives

Transcribe & subtitleBuzz transcription

Desktop transcription / speech-to-text workflow

Free codeDesktop app · On your computerNo codingMIT licence
MCP · None foundCLI · Built inAPI · None found
Transcribe & subtitlefaster-whisper

Faster Whisper-based transcription with CTranslate2

Free codeOn your computerDeveloperMIT licence
MCP · CommunityCLI · CommunityAPI · Built in
Transcribe & subtitleWhisper (OpenAI)

Speech recognition and subtitles for local post-production

Free codeOn your computerDeveloperMIT licence
MCP · CommunityCLI · Built inAPI · Built in
Transcribe & subtitleAuto Subs (tmoroney)

Generate speech subtitles inside Resolve, Premiere or After Effects workflows

Free codeOn your computerSome setupMIT licence
MCP · None foundCLI · Built inAPI · None found

Sources

  1. raw.githubusercontent.com/ggml-org/whisper.cpp/master/LICENSE fetched 2 Nov 2026
  2. Homebrew Formulae: whisper.cpp fetched 2 Nov 2026
  3. raw.githubusercontent.com/ggml-org/whisper.cpp/master/README.md fetched 2 Nov 2026
  4. raw.githubusercontent.com/ggml-org/whisper.cpp/master/examples/cli/README.md fetched 2 Nov 2026
  5. ffmpeg Documentation fetched 2 Nov 2026
  6. Introduction | Buzz fetched 2 Nov 2026
  7. @remotion/install-whisper-cpp | Remotion fetched 2 Nov 2026