The Best Open Source Speech-to-Text Models in 2026
Speech recognition quietly crossed a line this year. For most of Whisper's reign, "open source STT" basically meant "open source STT, if you're okay trailing the closed APIs a bit." That's no longer true. Several fully open-weight models now sit at or near the top of the Hugging Face Open ASR Leaderboard, beating proprietary systems on word error rate while running an order of magnitude faster.
The catch is that "best" now depends heavily on what you're optimizing for. A model tuned for rock-bottom WER on clean English audio is a bad choice for a real-time voice agent, and a model built for 1,600 languages isn't going to win a batch-transcription speed contest. So instead of a single ranked list, here's a breakdown by what you're actually trying to do — accuracy, throughput, streaming, language coverage, and edge deployment — with the open-weight models that lead each category as of mid-2026.
A quick note on scope: everything below ships with downloadable, self-hostable weights under a permissive license (Apache 2.0, MIT, or CC-BY-4.0). No API-only or weights-withheld models made the list, even when they're free to use.
How we compiled this: rankings and WER/RTFx figures come from the Hugging Face Open ASR Leaderboard; every model's parameter count, license, and language coverage was cross-checked against its official Hugging Face model card, GitHub repo, or vendor announcement (linked at first mention below) as of August 2026.
Key Takeaways
- Open-weight STT models now beat proprietary APIs on raw accuracy: Cohere Transcribe leads the leaderboard at 5.42% average WER, with IBM, NVIDIA, and Alibaba models within a fraction of a point.
- There's no single "best" model — the right pick depends on whether you're optimizing for accuracy, throughput, real-time latency, language coverage, or on-device footprint.
- Whisper large-v3 is no longer the accuracy leader, but it's still the safest default thanks to unmatched tooling and framework support.
- Licenses across this list (Apache 2.0, MIT, CC-BY-4.0) are all commercial-friendly, so the real tradeoff versus closed APIs is hosting and maintenance effort, not usage fees.
What the leaderboard actually measures
The Open ASR Leaderboard, maintained by Hugging Face, evaluates models on two axes: average WER (word error rate) across eight public test sets spanning clean and noisy audio, and RTFx, which measures throughput as a multiple of real-time — an RTFx of 1,000 means the model transcribes 1,000 seconds of audio in one second of compute. Lower WER is better; higher RTFx is better. The two numbers usually trade off against each other, which is why the "best" model splits into several answers rather than one.
Worth flagging up front: leaderboard WER is measured on specific public benchmark subsets, and some models are tuned closer to those splits than others. Private evaluation sets have reordered rankings before. And your own audio — accents, background noise, domain vocabulary — will move the numbers around regardless of what the chart says. Treat the rankings below as a strong starting point for a shortlist, not a guarantee of production performance.
If you're evaluating these models specifically to caption video rather than build a transcription pipeline from scratch, it's worth asking whether you need a self-hosted model at all — see our comparison of caption tools across Premiere Pro, TikTok, CapCut, and Capz for the tradeoffs.
Best for raw accuracy
If your job is offline batch transcription and you just want the lowest error rate money (well, compute) can buy, four models are within a fraction of a point of each other at the top of the leaderboard:
IBM Granite Speech 4.1 2B currently posts the best average WER on the leaderboard at around 5.33%, while also managing a respectable RTFx of roughly 231 — fast for a model this accurate. It's Apache 2.0 licensed, handles six languages for ASR plus bidirectional translation, and ships with useful production features like keyword biasing, punctuation, and truecasing baked in. A non-autoregressive -nar variant trades some language coverage for a big throughput jump (~1,820 RTFx).
NVIDIA Canary-Qwen-2.5B is close behind at roughly 5.63% WER, and it's the speed standout of the accuracy tier — RTFx of 418, meaning it eats through audio far faster than its WER-competitive rivals. It's English-only, licensed CC-BY-4.0, and pairs a FastConformer speech encoder with an unmodified Qwen3-1.7B decoder, so it can also do LLM-style summarization of what it transcribes.
Cohere Transcribe and Qwen3-ASR-1.7B round out the top tier at roughly 5.42% and 5.76% WER respectively, both Apache 2.0. Cohere's model covers 14 languages but currently skips language detection and timestamps; Qwen3-ASR covers a much wider 52 languages and dialects (including 22 Chinese dialect variants) and ships a companion forced-alignment model for word-level timestamps in 11 of them.
Where does Whisper fit? OpenAI's Whisper large-v3 (1.55B params, MIT license, 99 languages) has been overtaken on raw WER by something like ten newer models at this point. It's no longer the accuracy leader. It remains the ecosystem leader, though — the largest base of tooling, fine-tunes, quantized ports, and framework integrations of any STT model, open or closed. If broad language support and community tooling matter more to you than squeezing out the last percentage point of accuracy, it's still a completely reasonable default.
Best for throughput (batch processing at scale)
If you're transcribing a huge backlog of audio and latency per file doesn't matter — only total processing time — the calculus flips toward smaller, faster models:
NVIDIA Parakeet TDT 0.6B v3 is the throughput champion, hitting an RTFx north of 3,300 while still landing a respectable 6.32% WER. At just 0.6B parameters it can process 24 minutes of audio in a single pass on an A100, covers 25 European languages with automatic language ID, and is CC-BY-4.0 licensed.
Qwen3-ASR-0.6B claims roughly 2,000x throughput at high concurrency (128 parallel streams), making it a strong pick if your bottleneck is total GPU-hours across a large multilingual archive rather than single-stream speed.
For context, IBM's earlier Granite Speech 3.3 8B — which briefly led the leaderboard on accuracy — only manages an RTFx around 31, a reminder that bigger, more accurate models are not automatically the right choice once you're processing at scale.
Best for real-time and streaming
Batch WER numbers don't tell you much about how a model behaves in a live voice agent, where latency and streaming stability matter more than squeezing out a fraction of a point of accuracy:
Voxtral Mini 4B Realtime (Mistral AI) is purpose-built for this. It uses sliding-window attention for effectively unbounded streaming, exposes a configurable delay from 80ms up to 2400ms (480ms is the recommended default), supports 13 languages, runs on a single 16GB GPU, and is Apache 2.0 licensed. Mistral's broader Voxtral family (3B and 24B variants, released under Apache 2.0) has also shown it can beat Whisper large-v3 on English short-form and multilingual FLEURS benchmarks, at a fraction of the inference cost.
Kyutai STT is the other serious streaming option, available in 1B (English/French, ~0.5s delay) and 2.6B (English, ~2.5s delay) sizes under CC-BY-4.0. It includes a built-in semantic voice-activity detector and can handle around 400 concurrent real-time streams on a single H100 — a detail that matters a lot if you're building a multi-tenant voice product rather than a single always-on assistant.
Best for language coverage
Most of the models above cluster around English plus a handful of major languages. If your use case spans low-resource or minority languages, there's really one model built for that specifically:
Meta's Omnilingual ASR supports over 1,600 languages natively and can extend to roughly 5,400 more via zero-shot transfer, trained on 4.3 million hours of audio. It ships in encoder sizes from 300M to 7B parameters under Apache 2.0 (the training corpus is CC-BY licensed separately), and Meta reports character error rates under 10% on 78% of its supported languages. Nothing else in the open-source STT space comes close to this breadth. The tradeoff is that per-language accuracy on major languages like English won't beat the specialists above.
Best for edge and on-device deployment
When the constraint is a phone, a Raspberry Pi, or an offline embedded device rather than a GPU:
Moonshine (Useful Sensors) is built specifically for this niche, with variants as small as 27M parameters that reportedly outperform Whisper Tiny and Small despite being a fraction of the size. Its streaming-oriented "Ergodic Streaming Encoder" targets latency-critical, connectivity-free applications.
Distil-Whisper large-v3 is a knowledge-distilled version of Whisper that stays within about a point of WER of the full model while running 5-6x faster and needing roughly half the VRAM (~5GB vs ~10GB). MIT licensed, English-only.
Vosk trades accuracy for footprint. It's noticeably behind the models above on WER, but it's lightweight, works fully offline across 20+ languages, and has been a reliable choice for embedded and low-power deployments for years.
Comparison table
| Model | Org | Params | WER | RTFx | License | Languages | Best for |
|---|---|---|---|---|---|---|---|
| Granite Speech 4.1 2B | IBM | 2B | 5.33% | 231 | Apache 2.0 | 6 | Accuracy + solid speed |
| Canary-Qwen-2.5B | NVIDIA | 2.5B | 5.63% | 418 | CC-BY-4.0 | English | Accuracy + speed |
| Cohere Transcribe | Cohere | 2B | 5.42% | — | Apache 2.0 | 14 | Accuracy |
| Qwen3-ASR-1.7B | Alibaba | 1.7B | 5.76% | — | Apache 2.0 | 52 | Accuracy + multilingual |
| Parakeet TDT 0.6B v3 | NVIDIA | 0.6B | 6.32% | 3,333 | CC-BY-4.0 | 25 | Batch throughput |
| Qwen3-ASR-0.6B | Alibaba | 0.6B | — | ~2,000x | Apache 2.0 | 52 | Batch throughput |
| Voxtral Mini 4B Realtime | Mistral AI | ~4.4B | — | — | Apache 2.0 | 13 | Streaming / voice agents |
| Kyutai STT | Kyutai | 1B / 2.6B | — | — | CC-BY-4.0 | EN / FR | Streaming, low latency |
| Omnilingual ASR | Meta | 0.3B–7B | <10% CER (78% of langs) | — | Apache 2.0 | 1,600+ | Language coverage |
| Whisper large-v3 | OpenAI | 1.55B | 7.4% | Varies | MIT | 99 | Ecosystem / tooling |
| Distil-Whisper large-v3 | HF / OpenAI-derived | 756M | ~7.4% | 5-6x Whisper | MIT | English | Edge, decent accuracy |
| Moonshine | Useful Sensors | 27M–331M | Beats Whisper Tiny/Small | — | — | English | On-device / mobile |
| Vosk | Alpha Cephei | Varies | Lower accuracy | — | Apache 2.0 | 20+ | Fully offline, embedded |
WER and RTFx figures are drawn from the Hugging Face Open ASR Leaderboard and vendor-published benchmarks where the leaderboard doesn't cover a model; treat blanks as "not directly comparable" rather than "zero."
Licensing, in plain terms
Every model above is open-weight, but the licenses aren't identical:
MIT and Apache 2.0 (Whisper, Distil-Whisper, Granite Speech, Cohere Transcribe, Qwen3-ASR, Voxtral, Omnilingual ASR, Vosk) are about as unrestricted as it gets — commercial use, modification, and redistribution are all fine with just attribution.
CC-BY-4.0 (Parakeet, Canary-Qwen, Kyutai STT) is also commercial-friendly but is a content license rather than a software license, so if you're a stickler for license categories built for code, it's worth a quick look from your legal team before shipping — in practice it's been treated as unrestricted by the community.
None of the models here require you to share fine-tunes back or pay usage-based fees, which is the real distinction from closed APIs — you're trading a bit of operational overhead (hosting, GPU costs, maintenance) for zero per-minute transcription fees and full control over your data.
How to actually choose
If you only remember one thing from this post: benchmark WER is a leaderboard number, not a guarantee. It's measured on specific public test sets, and real-world audio — accented speech, cross-talk, domain jargon, bad microphones — behaves differently. The practical process is:
Start from the category above that matches your constraint (accuracy, throughput, latency, language coverage, or device footprint), shortlist two or three candidates, and run them against a sample of your actual audio before committing. A model that's 0.3 points better on LibriSpeech can easily lose to one that's worse on paper but was trained on data that looks more like yours.
For most teams starting from zero: Whisper large-v3 or Distil-Whisper remain the easiest on-ramps thanks to sheer ecosystem depth (every framework supports them). If you specifically need the best accuracy-per-dollar and can tolerate a narrower language set, Canary-Qwen-2.5B or Granite Speech 4.1 are the current leaders. If you're building a voice agent, skip the accuracy leaderboard entirely and go straight to Voxtral Mini Realtime or Kyutai STT, which were designed for streaming from the ground up.
Once you've got a transcript out of any of these, turning it into captions is a separate step: match it to the right subtitle format for where the video is going (see our subtitle file formats guide), or skip the pipeline entirely and generate synced captions directly from the source video.