Word error rate (WER) calculator, with Arabic normalisation
Paste what was really said and the transcript you want to score. The tool counts the substitutions, deletions and insertions between them and gives the word error rate and the character error rate. For English and Arabic it normalises the text exactly as our own benchmark does.
Loading the tool…
Processed in your browser. Your file is never uploaded.
How the score is computed
Both texts are split into words after normalisation. The tool then finds the cheapest way to turn the transcript into the reference, where a substitution, a deletion (a reference word missing from the transcript) and an insertion (an extra word) each cost one. The word error rate is that total divided by the number of reference words. The character error rate does the same over characters, counting the spaces between words, which makes it kinder to languages and spellings where one wrong letter would otherwise make a whole word wrong.
Reference: the cat sat on the mat
Transcript: the cat sit on mat
the cat sat->sit on the (deleted) mat
1 substitution + 1 deletion = 2 edits over 6 words = 33.3%
When several alignments cost the same, the tool prefers a match or substitution, then a deletion, then an insertion. The total number of edits never depends on that choice; only the split between substitutions, deletions and insertions can.
The normalisation options
- English lowercases, turns hyphens into spaces and keeps only letters a to z, digits and the apostrophe. Anything else, including accented letters, becomes a space.
- Arabic drops diacritics and the tatweel, unifies the alef, yeh and teh marbuta forms and removes punctuation. Digits and letters of any script are kept.
- Other languages lowercases and removes punctuation and symbols in any script. This option is a convenience and is not part of our benchmark.
- None splits on spaces only, so case and punctuation count as errors.
The English and Arabic options are ports of the normalise() function in the script that
produced the numbers on our measurements page, and our tests run the
two against each other on about a thousand strings and require identical results. The Arabic function is explained, with
its Python code, in normalizing Arabic text for WER.
What WER does not tell you
It treats every word equally, so a missed “not” costs the same as a missed “the”. It says nothing about punctuation, speaker labels or timestamps after normalisation. It is only as good as the reference: a reference typed by hand from a noisy recording has errors of its own. And a score on one clean clip does not predict the score on your phone call. For the plain-language version, read what word error rate is.
Subtitle files
If either box holds an SRT or VTT file, its cue numbers and timing lines are ignored and only the words are scored. To see the plain text yourself first, use SRT to text or remove timestamps.
Questions
What is word error rate?
The number of word substitutions, deletions and insertions needed to turn the transcript into the reference, divided by the number of words in the reference. A WER of 10% means about one word in ten needed a fix. Lower is better, and the rate can go above 100% when the transcript has many extra words.
What does the Arabic normalisation do?
It removes diacritics (harakat) and the tatweel, turns the alef forms with hamza or madda into a bare alef, alef maqsura into yeh and teh marbuta into heh, and replaces punctuation with spaces. It is the same function our benchmark script uses, so a number from this page is comparable with the Arabic figure on our measurements page. It is one reasonable choice, not the only one: a different normalisation gives a different WER.
Why does normalisation change the score?
Without it, “Hello,” and “hello” count as an error, and so does an Arabic word written with and without diacritics. Researchers normalise before scoring so that the number reflects wrong words rather than spelling and punctuation conventions. Pick “None” to see the strict score.
Are my texts uploaded?
No. Both texts are compared by JavaScript running in this tab, and nothing you paste or choose is sent anywhere. The page only reports that the tool was used, with no text.
Related tools
- Remove Arabic Diacritics Strip tashkeel and tidy Arabic text: diacritics, tatweel, letter forms, digits and punctuation.
- Transcript Word Counter Words, characters, reading time and speaking time for any text.
- Remove Timestamps Strip 0:05, [00:01:02] and speaker times from a pasted transcript.
- SRT to Text Strip numbers and timestamps from SRT or VTT to get plain text.
Want a transcript to score?
TryScriptorium transcribes an audio or video file you upload, with timestamps, and exports TXT, SRT, VTT, Markdown, JSON or CSV. You can try it free. Our own measured error rates, with the method, are on the measurements page.