Inference APIs
Speech-to-Text API/Accuracy by language

Speech-to-text accuracy by language

Whisper Large v3 lists 100 languages. Listing is not the same as working, so we sent 30 public test clips per language through this API and scored every transcript. 83 languages could be measured. 34 came out good or better, 22 are usable only with correction, and 27 are not usable, including 3 that return empty transcripts.

Excellent / Good
34
languages
Fair
16
languages
Poor
6
languages
Not usable / Returns nothing
27
languages
LanguageCodeWhisper Large v3RatingParakeet TDTAuto-detectedVoices
Spanishes 2.7% WERExcellent 3.5% 10 of 10 voices
Italianit 2.7% WERExcellent 2.4% 10 of 10 voices
Germande 3.4% WERExcellent 6.3% 8 of 10 (1 as English, 1 as Romanian) —
Portuguesept 3.4% WERExcellent 4.4% 10 of 10 voices
Japaneseja 4.2% CERExcellent — 10 of 10 voices
Cantoneseyue 5.1% CERExcellent — 0 of 10 (4 as Thai, 3 as Chinese, 2 as Vietnamese, 1 as English) —
Englishen 5.2% WERExcellent 5.8% 10 of 10 voices
Indonesianid 5.5% WERExcellent — 5 of 10 (5 as Javanese) —
Polishpl 5.6% WERExcellent 7.6% 9 of 10 (1 as English) —
Russianru 5.8% WERExcellent 7.2% 5 of 10 (4 as Belarusian, 1 as English) —
Ukrainianuk 6.4% WERExcellent 6.6% 10 of 10 —
Finnishfi 6.6% WERExcellent 15% 10 of 10 —
Frenchfr 6.6% WERExcellent 5.2% 10 of 10 voices
Catalanca 6.8% WERExcellent — 10 of 10 —
Dutchnl 7.1% WERExcellent 7.8% 10 of 10 —
Turkishtr 7.3% WERExcellent — 10 of 10 —
Vietnamesevi 7.9% WERExcellent — 10 of 10 —
Bulgarianbg 8.4% WERGood 11% 10 of 10 —
Malayms 8.6% WERGood — 7 of 10 (3 as Indonesian) —
Swedishsv 8.8% WERGood 18% 8 of 10 (2 as Nynorsk) —
Chinesezh 9.5% CERGood — 10 of 10 voices
Norwegianno 9.7% WERGood — 9 of 10 (1 as English) —
Romanianro 10% WERGood 13% 10 of 10 —
Slovaksk 11% WERGood 10% 9 of 10 (1 as English) —
Greekel 11% WERGood 35% 10 of 10 —
Croatianhr 11% WERGood 10% 8 of 10 (2 as English) —
Czechcs 12% WERGood 14% 8 of 10 (1 as Slovak, 1 as English) —
Thaith 12% CERGood — 10 of 10 —
Galiciangl 12% WERGood — 9 of 10 (1 as Spanish) —
Tagalogtl 13% WERGood — 10 of 10 —
Koreanko 13% WERGood — 10 of 10 —
Bosnianbs 13% WERGood — 9 of 10 (1 as Croatian) —
Arabicar 13% WERGood — 10 of 10 —
Danishda 15% WERGood 20% 10 of 10 —
Macedonianmk 16% WERFair — 10 of 10 —
Hungarianhu 17% WERFair 16% 10 of 10 —
Estonianet 17% WERFair 17% 10 of 10 —
Latvianlv 20% WERFair 26% 10 of 10 —
Azerbaijaniaz 20% WERFair — 10 of 10 —
Urduur 21% WERFair — 5 of 10 (5 as Hindi) —
Serbiansr 21% WERFair — 5 of 10 (3 as Bosnian, 2 as English) —
Sloveniansl 24% WERFair 27% 10 of 10 —
Lithuanianlt 28% WERFair 23% 10 of 10 —
Hebrewhe 28% WERFair — 10 of 10 —
Persianfa 28% WERFair — 10 of 10 —
Afrikaansaf 30% WERFair — 10 of 10 —
Kazakhkk 31% WERFair — 10 of 10 —
Welshcy 32% WERFair — 10 of 10 —
Icelandicis 33% WERFair — 10 of 10 —
Swahilisw 34% WERFair — 10 of 10 —
Maorimi 36% WERPoor — 10 of 10 —
Hindihi 43% WERPoor — 10 of 10 voices
Belarusianbe 47% WERPoor — 10 of 10 —
Armenianhy 50% WERPoor — 10 of 10 —
Lingalaln 66% WERPoor — 8 of 10 (1 as English, 1 as Hausa) —
Kannadakn 70% WERPoor — 10 of 10 —
Telugute 70% WERNot usable — 9 of 10 (1 as Malayalam) —
Gujaratigu 70% WERNot usable — 10 of 10 —
Javanesejw 71% WERNot usable — 7 of 10 (3 as Indonesian) —
Occitanoc 71% WERNot usable — 0 of 10 (3 as French, 3 as Lingala, 2 as Haitian Creole, 2 as English) —
Maltesemt 72% WERNot usable 22% 10 of 10 —
Bengalibn 73% WERNot usable — 10 of 10 —
Tamilta 73% WERNot usable — 9 of 10 (1 as Telugu) —
Georgianka 76% WERNot usable — 10 of 10 —
Marathimr 80% WERNot usable — 8 of 10 (1 as English, 1 as Hindi) —
Luxembourgishlb 82% WERNot usable — 10 of 10 —
Punjabipa 82% WERNot usable — 10 of 10 —
Hausaha 83% WERNot usable — 10 of 10 —
Mongolianmn 85% WERNot usable — 10 of 10 —
Tajiktg 86% WERNot usable — 10 of 10 —
Uzbekuz 89% WERNot usable — 10 of 10 —
Pashtops 92% WERNot usable — 10 of 10 —
Nepaline 92% WERNot usable — 10 of 10 —
Somaliso 93% WERNot usable — 10 of 10 —
Laolo over 100% CERNot usable — 6 of 10 (4 as Thai) —
Yorubayo over 100% WERNot usable — 10 of 10 —
Sindhisd over 100% WERNot usable — 10 of 10 —
Malayalamml over 100% WERNot usable — 10 of 10 —
Assameseas over 100% WERNot usable — 10 of 10 —
Shonasn over 100% WERNot usable — 9 of 10 (1 as Swahili) —
Khmerkm 100% CERReturns nothing — 10 of 10 —
Burmesemy 100% CERReturns nothing — 10 of 10 —
Amharicam over 100% WERReturns nothing — 10 of 10 —

Reading the table

WER is word error rate: substitutions, deletions and insertions divided by the number of words in the reference. 5% means about one word in twenty is wrong. It can exceed 100% when the model inserts words. Languages written without spaces (Chinese, Japanese, Thai and others) are scored on characters instead, shown as CER. Auto-detected is how many of ten clips Whisper labelled with the right language when no language was sent; where it is not ten of ten, send the code.

Method

  • Audio: the first 30 clips, 2 to 30 seconds each, of the test split of FLEURS, a public read-speech dataset recorded by native speakers. Clean audio, one speaker, no background noise: treat the numbers as a best case for your own recordings.
  • Requests: POST /v1/audio/transcriptions on the public endpoint with language set, default settings, on September 17, 2026. Parakeet was run on the same clips for its 25 languages.
  • Scoring: both reference and transcript were Unicode-normalised, lower-cased and stripped of punctuation. Numbers were not converted, so "100" against "one hundred" counts as an error; this inflates the rate slightly for every language.
  • Thirty clips is a small sample. Differences of a point or two between languages are noise; differences between 5% and 50% are not.
  • Ratings: up to 8% WER (6% CER) excellent, up to 15% (12%) good, up to 35% (25%) fair, up to 70% (50%) poor, above that not usable. "Returns nothing" means at least half the clips came back empty.

Languages we could not measure

FLEURS has no test set for Bashkir, Tibetan, Breton, Basque, Faroese, Hawaiian, Haitian Creole, Latin, Malagasy, Nynorsk, Sanskrit, Sinhala, Albanian, Sundanese, Turkmen, Tatar, Yiddish. Whisper accepts their codes, but we have no evidence either way, and most are low-resource languages, which is where the measured results above are weakest. Test on your own audio before relying on them; new accounts include free credit for exactly that.

Found a result that does not match your experience? Tell us what audio you used and we will re-run it.