Decision guide · 2026

Which open-source Whisper should you use?

OpenAI's Whisper spawned a whole family of implementations, each tuned for a different job. Here's what each is genuinely best at — and a table to pick fast. No hype, no fabricated benchmarks.

Since OpenAI open-sourced Whisper, the community has built faster runtimes, on-device ports, and pipelines that add speaker labels and precise timestamps. They all use Whisper's models — the difference is how they run them and what they add. Pick the wrong one and you'll fight your hardware or miss a feature you needed; pick the right one and it just works.

The comparison, at a glance

ImplementationWhat it addsBest for
OpenAI WhisperThe reference multilingual model — the baseline everything else is measured against.Research, a known-good baseline, teams that want the canonical model.
faster-whisper~4× faster than reference Whisper using the CTranslate2 runtime; low memory.Production batch transcription on GPU where speed and $/hour matter.
WhisperXfaster-whisper + forced alignment (accurate word timestamps) + speaker diarization.Multi-speaker content — podcasts, interviews, meetings — where you need who-said-what.
whisper.cppA dependency-free C/C++ port; no Python, runs on CPU and Apple Silicon (Metal).Offline / on-device / edge — from a Raspberry Pi to a Mac, no GPU required.
WhisperKitSwift-native Whisper for Apple Silicon (CoreML, ANE, Metal).Shipping Whisper inside an iOS / macOS / visionOS app.
insanely-fast-whisperAggressive batching for maximum GPU throughput (e.g. ~150 min in ~98 s on an A100).Chewing through huge backlogs on rented high-end GPU time.
stable-tsStabilised, more accurate word-level timestamps than vanilla Whisper.Subtitle generation where timing drift and word boundaries matter.
distil-whisperA distilled model: ~6× faster, ~49% smaller, within ~1% WER of Whisper — English-only.English workloads where latency and cost matter more than the last point of accuracy.

On "fastest": speed depends entirely on hardware, batch size, model size, and precision — there is no single fastest implementation across all setups, and we don't publish head-to-head numbers we haven't measured ourselves; the only speed table below is faster-whisper's own, quoted with its source. Treat the "best for" column as a shortlist, then benchmark the finalists on your audio and hardware.

WhisperX vs Whisper: what actually changes

WhisperX is not a different model. It runs faster-whisper on Whisper's weights, then adds two steps plain Whisper does not have: wav2vec2 forced alignment, which pins each word to the audio, and pyannote speaker diarization, which labels who spoke. Its README claims 70x real time with batched large-v2 in under 8 GB of GPU memory.

The costs: diarization needs a Hugging Face read token and acceptance of the pyannote speaker-diarization-community-1 model terms, alignment needs a wav2vec2 model for the language, and the current release (3.8.6) wants Python 3.10 to 3.13. If you only need text with segment times, plain Whisper or faster-whisper is less to run. Sources: WhisperX README, PyPI, read 26 Oct 2026.

Whisper model comparison: size, VRAM and speed

Every implementation above runs these checkpoints. OpenAI's own figures, on English speech with an A100; speed is relative to large (openai/whisper README, read 26 Oct 2026):

ModelParametersEnglish-only versionVRAMRelative speed
tiny39 Mtiny.en~1 GB~10x
base74 Mbase.en~1 GB~7x
small244 Msmall.en~2 GB~4x
medium769 Mmedium.en~5 GB~2x
large1550 Mnone~10 GB1x
turbo809 Mnone~6 GB~8x

turbo is an optimised large-v3 and the default in the openai-whisper command line, but it is not trained for translation; use medium or large to translate into English. On whisper.cpp the same sizes take less memory: tiny about 273 MB, base about 388 MB, medium about 2.1 GB and large about 3.9 GB of RAM, per its README.

Versions, licences and GitHub stars, checked 26 Oct 2026

ImplementationLatest versionLicenceGitHub stars
OpenAI Whisperopenai-whisper 20250625 (PyPI)MIT111,351
faster-whisper1.2.1, 31 Oct 2025MIT26,191
WhisperX3.8.6, 25 May 2026BSD-2-Clause24,868
whisper.cppv1.9.5, 6 Oct 2026MIT54,694
WhisperKitv1.1.1, 8 Oct 2026MIT6,424
insanely-fast-whisper0.0.15, 27 May 2024 (PyPI)Apache-2.013,056
stable-ts2.19.1, 16 Aug 2025 (PyPI)MIT2,281
distil-whisperNo package release; last push 8 Jan 2025MIT4,120

Read from GitHub and PyPI on 26 Oct 2026. Stars measure attention, not quality: insanely-fast-whisper has had no release since May 2024, and nobody has pushed to distil-whisper since January 2025.

The one benchmark the projects publish side by side

The faster-whisper README times 13 minutes of audio with large-v2, beam size 5, on an RTX 3070 Ti 8 GB. These are its maintainers' numbers, not ours:

ImplementationPrecisionTimeVRAM
openai/whisperfp162m23s4,708 MB
whisper.cpp (Flash Attention)fp161m05s4,127 MB
faster-whisperfp161m03s4,525 MB
faster-whisper, batch_size=8fp1617s6,090 MB
faster-whisperint859s2,926 MB

Source: SYSTRAN/faster-whisper README, read 26 Oct 2026. On a CPU (Intel Core i7-12700K, 8 threads, small model) the same README has whisper.cpp at 2m05s and faster-whisper int8 at 1m42s.

If you would rather not run any of them

WhipScribe is a hosted service on our own servers. Over the 30 days to 2026-10-27, 407 recordings of one to two hours (median 83 minutes) finished in a median of 3 minutes (turnaround figures). Every recording starts with a free preview of its opening minutes; a file of 83 minutes then uses 83 of the 500 minutes in the $4 pack. Files run up to 10 hours or 5 GB.

How to choose in one minute

On a GPU, at scale

faster-whisper

The default for cost-efficient production transcription. Add WhisperX on top if you need diarization or word-level timing.

Pick if: you run batches on a GPU and care about $/hour.
No GPU / offline

whisper.cpp

Runs anywhere without Python or CUDA — CPU, Raspberry Pi, or Apple Silicon with Metal acceleration.

Pick if: you need on-device, edge, or air-gapped transcription.
Multi-speaker

WhisperX

The one that answers "who said what, and exactly when" — the right tool for podcasts, interviews, and meetings.

Pick if: you need speaker labels + precise word timestamps.
Inside an Apple app

WhisperKit

Swift-native, uses the Neural Engine — the way to embed Whisper in iOS/macOS software.

Pick if: you're building an Apple-platform app.
English, latency-critical

distil-whisper

Much faster and smaller with a tiny accuracy trade-off — for English-only, real-time-ish workloads.

Pick if: English audio and speed/cost beat the last accuracy point.
Clean subtitles

stable-ts

Fixes the timestamp drift that makes auto-generated subtitles feel off.

Pick if: your output is SRT/VTT and timing quality matters.

What they have in common

Every implementation here runs OpenAI's Whisper models, so baseline accuracy is broadly similar for a given model size — the differences are runtime speed, hardware fit, and added features (diarization, timestamp quality, packaging). They're all open source and self-hostable. The real cost is operational: GPUs, model management, scaling, and keeping it running.

Don't want to run any of this? Whipscribe is a hosted transcription service — nothing to run, via a simple API (or a no-code app), with URL ingestion, a timestamp on every line, and multi-format export. No hardware to manage. Every recording gets a free preview, and our tools directory has a full page on each implementation above.

Frequently asked

What is the fastest Whisper implementation? For raw GPU throughput, insanely-fast-whisper (batched, on an A100/H100) and faster-whisper (CTranslate2) lead. distil-whisper is ~6× faster than the reference model for English-only. On CPU or Apple Silicon, whisper.cpp is the practical fastest. There is no single winner — it depends on your hardware and whether you need diarization or word-level timing.

faster-whisper vs WhisperX — which should I use? faster-whisper is the fast transcription engine; WhisperX is built on top of it and adds forced alignment (accurate word timestamps) plus speaker diarization. Use faster-whisper for plain fast transcription, and WhisperX when you need who-said-what and precise word timings (podcasts, interviews, meetings).

Which Whisper runs offline or on a Raspberry Pi? whisper.cpp — a C/C++ port with no Python or GPU dependency — runs on almost anything, from a Raspberry Pi to Apple Silicon (Metal). WhisperKit is the Apple-native choice for shipping Whisper inside iOS/macOS apps.

Do I have to self-host these? Only if you want to. Each of these is open source and self-hostable. If you'd rather not manage GPUs, models, and scaling, a hosted transcription service (like Whipscribe) gives you transcripts via an API.

WhisperX vs Whisper: what is the difference? WhisperX runs faster-whisper underneath and adds wav2vec2 forced alignment for word timestamps and pyannote speaker labels. Plain Whisper (openai-whisper) gives segment timestamps and no speaker labels. WhisperX's README claims 70x real time with batched large-v2 in under 8 GB of GPU memory; diarization needs a Hugging Face token.

Which Whisper model should I use? turbo (809 M parameters, about 6 GB of VRAM, about 8x the speed of large) for transcription; medium or large to translate into English, since turbo is not trained for translation; tiny or base on small machines. The .en models do better on English at the tiny and base sizes.

Is Whisper open source? Yes. openai/whisper is MIT-licensed, code and model weights, and so are faster-whisper, whisper.cpp, WhisperKit, stable-ts and distil-whisper. WhisperX is BSD-2-Clause and insanely-fast-whisper Apache-2.0.

Related

Need recordings transcribed?

Upload a file or paste a link: see transcription services from $4 and an audio transcription service that takes links or files.