Word Error Rate (WER) Explained for Speech to Text
Word error rate (WER) measures speech to text accuracy as errors divided by reference words. See the formula, a worked example, benchmarks and pitfalls.
Word error rate (WER) is the de facto standard metric for speech to text accuracy. It adds up the words a system got wrong, counting substitutions, deletions and insertions, and divides by the number of words in the reference transcript. A WER of 5 percent means about 5 errors per 100 reference words. WER can also exceed 100 percent.
What is word error rate and how is it calculated?
The formula is short:
WER = (S + D + I) / N
Each letter stands for one part of the comparison:
| Symbol | Meaning | |---|---| | S | Substitutions: a reference word replaced by a different word | | D | Deletions: a reference word the system missed | | I | Insertions: an extra word the system added | | N | Words in the reference transcript, equal to S + D + C, where C is correct words |
Word accuracy is defined as 1 minus WER, which equals (C minus I) divided by N. WER is derived from word-level Levenshtein distance, so the two texts are first aligned, and then the errors are counted. The Wikipedia article on word error rate gives the full definition.
A worked example, step by step
Take a reference transcript of "the cat sat on the mat" and a system output of "the cat sit on the". Align the two word by word:
| Reference word | System output | Result | |---|---|---| | the | the | Correct | | cat | cat | Correct | | sat | sit | Substitution | | on | on | Correct | | the | the | Correct | | mat | (nothing) | Deletion |
There is one substitution, one deletion and no insertions, over six reference words. WER is (1 + 1 + 0) / 6, which is 2/6, or 33.3 percent. The word "sit" has only one wrong letter, but the whole word counts as wrong. The Hugging Face audio course uses this same example.
What is a good word error rate?
There is no universal threshold. The number depends heavily on the audio. Clean read speech scores far lower than meetings or earnings calls, as the model cards below show. All figures are vendor-stated, as read on 17 October 2026.
| Model (vendor card) | Dataset | WER | |---|---|---| | Cohere Transcribe | LibriSpeech clean | 1.25 | | Qwen3-ASR-1.7B | LibriSpeech clean | 1.63 | | Cohere Transcribe | AMI (meetings) | 8.15 | | Qwen3-ASR-1.7B | GigaSpeech | 8.45 | | IBM Granite Speech 3.3 8B | AMI (meetings) | 8.98 | | Cohere Transcribe | Earnings-22 | 10.84 |
The Cohere Transcribe card also lists 2.37 on LibriSpeech other and an average of 5.42 across the leaderboard. Wikipedia notes that for text dictation, accuracy below 95 percent is generally considered unacceptable, though that depends on the domain. Set your own target from tests on your own audio.
Why normalization changes the number
Scores change a lot depending on how both texts are cleaned before comparison. The Whisper paper's English normalizer, in its Appendix C, does several things:
- Removes text in square brackets and parentheses.
- Removes filler words such as "hmm", "mm", "uh" and "um".
- Expands contractions and removes whitespace before apostrophes.
- Removes commas between digits and periods that are not followed by numbers.
- Removes symbols and diacritics.
The Whisper paper reports that normalization dropped WER by up to 50 percent on several datasets, usually because a reference separates contractions with whitespace. It also warns that the normalizer could overfit to Whisper's own style. The Hugging Face course recommends training on orthographic text but evaluating on normalized text. Always report which normalizer you used.
WER above 100 percent and other quirks
- WER can exceed 100 percent. Insertions count against you, so a system that adds many extra words can score above 1. The Hugging Face course gives an example of 10 wrong predictions against a 2-word target, which is 500 percent. A value above 100 percent usually signals a problem.
- One substitution can be a large share. "Hello world" against "hello duck" has one substitution across two words, so WER is 50 percent.
- Empty references need special handling. In the jiwer library, comparing an empty reference with an empty hypothesis returns 0, and an empty reference with a one-word hypothesis returns 1.
- Every error counts the same. A wrong "not" and a wrong "the" each add one error, even though they change meaning very differently.
WER vs CER, MER and WIL
Character error rate (CER) counts errors at the character level instead of the word level. It is useful when spelling matters or when word boundaries are unclear, as in some writing systems. The jiwer library, which is Apache 2.0 licensed, computes WER, CER, MER and WIL, and cites Morris and colleagues (2004) for comparing WER, MER and WIL. Pick one metric before you test, and report the others only as extra detail.
What WER does not tell you
- Meaning. A lower WER does not always mean the transcript is more useful. Wikipedia cites a 2003 study by Wang, Acero and Chelba, which found a system with higher WER gave better language understanding.
- Names and proper nouns. A misspelled name costs the same as a misspelled common word, even though it matters more to readers.
- Hallucinations. WER counts inserted words, but it does not measure hallucination as its own category.
- Cause of errors. It is hard to tell a speaker's mispronunciation from a recognizer error.
How to calculate WER yourself
The jiwer library makes a basic calculation short. Install it first:
pip install jiwer
Then compare a reference with a hypothesis:
from jiwer import wer
reference = "the cat sat on the mat"
hypothesis = "the cat sit on the"
print(wer(reference, hypothesis)) # about 0.333, which is 33.3 percent
jiwer returns a fraction, not a percentage. Apply the same normalization to both texts before you score them.
How to compare transcription tools fairly
- Use the same audio and the same reference transcript for every tool.
- Apply one normalization to both texts, and publish the rules.
- Test on audio that matches your use, such as meetings, phone calls or lectures.
- Report results per dataset rather than as one average, and date them.
- Treat vendor WER claims as unverified until you can reproduce them.
For a list of open and hosted options to test, read Whisper alternatives.
Where OndaLabs fits
The practical takeaway is to measure WER on your own audio. OndaLabs has a speech to text tool on the Free plan, which includes 2,000 credits a month. At 50 credits per minute, that is about 40 minutes if every credit goes to transcription. Try a short clip, write the reference transcript by hand, and score the output. This article does not publish an OndaLabs WER figure, so do not read one into it. Start with the speech to text tool, or compare plans and credits.
Frequently asked questions
What is word error rate (WER) in speech recognition?
WER is the share of words a speech to text system gets wrong. It counts substitutions, deletions and insertions, then divides by the number of words in the reference transcript. Lower is better, and zero means a perfect match. It is the de facto metric for speech recognition.
How do you calculate WER, with an example?
Add the substitutions, deletions and insertions, then divide by the reference word count. For "the cat sat on the mat" against "the cat sit on the", there is one substitution and one deletion over six words. That gives 2 divided by 6, or 33.3 percent.
What is a good WER for speech to text?
There is no universal threshold. Published model cards show values near 1 to 2 percent on clean read speech, and around 8 to 11 percent on meeting and earnings-call datasets. The audio decides the number, so measure on your own recordings before you set a target.
Can WER be higher than 100 percent?
Yes. Because the total errors are divided by the reference word count, a system that inserts many extra words can score above 100 percent. The Hugging Face audio course gives an example of 10 wrong predictions against a 2-word target, which works out to 500 percent.
Is WER the same as accuracy?
Not exactly. Word accuracy is defined as 1 minus WER, so 5 percent WER corresponds to 95 percent word accuracy. Insertions count against accuracy as well, so accuracy can fall below zero, which WER alone does not show.
What is the difference between WER and CER?
WER counts errors at the word level, while character error rate (CER) counts them at the character level. CER gives a finer signal when a word is only slightly misspelled, and it helps for languages where word boundaries are unclear. Use both if you need detail.