What 200+ languages cost on AI tokenizers

We sent the same 1,012 sentences, in 221 languages and English, through eight tokenizers, including Claude and Gemini. Saying the same thing costs anywhere from about the same as English to more than seventeen times as many tokens, depending on the language and the model.

Languages measured
221
in 34 writing systems, plus English
Highest premium
17.52×
Chakma, on OpenAI’s o200k
Cheapest most often
GPT o200k
for 98 of 221 languages, among Claude, Gemini and GPT

What we found

No tokenizer is cheapest everywhere

Among the three big commercial tokenizers, OpenAI’s o200k is the cheapest for 98 of the 221 languages, Claude’s for 62 and Gemini’s for 61. Gemini 3 has the lowest average premium, 2.11×, while o200k has the lowest median, 1.77×: it is the best choice for a typical language and weaker on rare scripts. Which model is cheapest depends on your language, so the table below shows it for each one.

The highest costs fall on languages with their own scripts

The most expensive languages are written in scripts that few tokenizers have learned: Chakma (up to 17.52×), Mongolian script (up to 16.20×), Santali in Ol Chiki, Manipuri in Meitei Mayek, N’Ko and Tifinagh. Several are languages of India: Santali and Manipuri are both among India’s scheduled languages, and Chakma is spoken in India’s north-east and in Bangladesh.

The script matters more than the language

Some languages appear twice in the corpus, written in two scripts. On every commercial tokenizer, Manipuri costs about 3× English in Bengali script but 9 to 12.5× in Meitei Mayek; Mongolian about 2× in Cyrillic but 11 to 16× in Mongolian script; and Tamasheq about 2× in Latin but 5 to 10× in Tifinagh. Same language, same sentences: the difference is entirely the writing system.

Chinese, Japanese and Korean are close to English

Mandarin costs only 1.1 to 1.4× English on the three commercial tokenizers, Korean 1.4 to 1.6× and Japanese 1.2 to 1.7×. These scripts are well represented in the text tokenizers were built from, and each character carries a lot of meaning.

The Latin alphabet isn’t free either

The 134 languages written in Latin script average about 1.8× English on the commercial tokenizers. Most of them are smaller languages, such as Yoruba or Quechua, whose words the tokenizers rarely saw, so they are split into more pieces even though the letters are familiar.

Claude is strong on Latin, Cyrillic and Chinese, weakest on Indian scripts

Claude is competitive for Latin, Cyrillic and Chinese-family text. For Indian scripts it costs the most of the three: Punjabi averages 6.47× on Claude against 2.69× on Gemini and 2.62× on GPT. Our Indian languages study looks at this in detail.

By writing system

Each cell is the average premium for the languages written in that script: how many times more tokens they need than English for identical content. Writing systems are ordered from most to least expensive on average, and tokenizers from cheapest to most expensive.

Gemini 3via APIGemma 2openClaudevia APIGPT o200kopenQwen 2.5openLlama 3openMistralopenGPT cl100kopen
Chakma1 language17.377.9111.2417.5212.9716.5415.7317.33
Mongolian1 language11.356.3211.2816.207.8415.3615.0915.69
Meitei Mayek1 language9.354.929.0212.4912.1712.3611.8312.35
Ol Chiki1 language5.255.169.4113.708.9212.7412.3312.74
N’Ko1 language11.086.239.0111.327.5711.2010.1811.20
Myanmar2 languages3.775.385.615.559.6813.2110.2313.30
Odia1 language3.514.995.104.999.7012.1611.9712.40
Tifinagh2 languages4.825.167.9410.195.1610.076.9910.07
Tibetan2 languages3.943.855.028.547.6311.677.4611.66
Lao1 language2.624.594.048.235.698.7910.699.54
Gurmukhi1 language2.693.236.472.627.287.8110.407.85
Malayalam1 language1.853.244.041.967.238.9410.828.94
Khmer1 language2.735.354.043.346.478.726.138.71
Kannada1 language1.923.315.821.976.928.866.278.86
Sinhala1 language2.294.083.032.696.888.637.408.68
Ge’ez (Ethiopic)2 languages2.213.262.905.874.107.686.607.69
Telugu1 language1.782.872.831.936.998.297.188.29
Gujarati1 language1.863.022.771.796.747.678.637.66
Georgian1 language2.293.682.431.785.199.764.849.75
Armenian1 language2.843.042.271.795.278.655.309.88
Tamil1 language1.472.603.071.986.117.655.847.64
Bengali–Assamese3 languages1.913.202.992.255.346.185.316.22
Greek1 language2.182.292.482.134.902.235.245.12
Devanagari10 languages1.562.162.321.804.372.594.504.78
Hebrew2 languages2.192.121.981.752.114.594.074.59
Thai1 language1.601.842.681.962.542.194.224.34
Arabic23 languages1.801.962.121.852.372.303.883.52
Cyrillic17 languages2.042.181.751.922.692.662.503.36
Latin134 languages1.811.811.811.752.002.042.032.09
Hangul1 language1.371.641.631.471.631.492.452.37
Japanese1 language1.211.181.271.661.401.512.142.27
Chinese, traditional2 languages1.141.141.191.481.211.411.862.21
Chinese, simplified1 language1.081.081.141.251.001.281.611.87
Average221 languages2.112.172.302.342.853.153.243.52

The legend runs to 12×; a few cells are higher. Script averages hide differences between languages, so use the table below for any one language.

Every language

Search by language, script or code, and click a column heading to sort. The lowest premium in each row is highlighted, and the last column shows which of the three big commercial tokenizers is cheapest for that language.

Premium = tokens for the language ÷ tokens for the same sentences in English, so English is 1.00 on every tokenizer. “Big three” means Claude, Gemini 3 and GPT o200k.

Method

The corpus is the devtest split of FLORES+: 1,012 sentences professionally translated into each language and aligned line by line, so every language expresses identical content. We used every FLORES+ variety whose file had exactly as many sentences as English: 221 varieties plus English. Where FLORES+ gives two varieties the same name, such as Valencian and standard Catalan, we label them separately. For each tokenizer we counted the tokens needed for the whole set in each language and divided by the count for English.

Open tokenizers were run locally, sentence by sentence. Claude and Gemini publish no tokenizer, so we measured them through each provider’s free token-counting endpoint. To keep the run practical at this scale, each language’s sentences were sent as one request with a line break between sentences. For every language we also counted five sentences one by one to measure what a line break costs; in all 444 measurements it was exactly one token, so we subtracted one token per line break, which gives the same totals as counting each sentence separately. The fixed overhead each endpoint adds to every request was measured and subtracted too. As a check, the Indian languages in this study match our Indian languages study exactly.

Measured on 31 October and 1 November 2026.

TokenizerHow measuredExact source
Gemini 3Provider counting APIgemini-3.8-flash (countTokens)
Gemma 2Open tokenizer, run locallymlx-community/gemma-2-2b
ClaudeProvider counting APIclaude-sonnet-5-5 (count_tokens)
GPT o200kOpen tokenizer, run locallytiktoken 0.14.0, o200k_base
Qwen 2.5Open tokenizer, run locallyQwen/Qwen2.5-0.5B
Llama 3Open tokenizer, run locallyXenova/llama3-tokenizer
MistralOpen tokenizer, run locallyXenova/mistral-tokenizer-v1
GPT cl100kOpen tokenizer, run locallytiktoken 0.14.0, cl100k_base

Limitations

  • Gemini was measured on gemini-3.8-flash, which gave counts identical to gemini-3.6-flash on every Indian language, and Claude on claude-sonnet-5-5, which counts identically to claude-sonnet-5. Gemini 4 Argon uses a different tokenizer and isn’t in this study yet; see the Indian languages study for how it differs.
  • FLORES+ is formal, news-domain text. Everyday writing, transliterated text and code-mixed text may give different premiums.
  • Language and script names follow FLORES+ and ISO 15924. The Mongolian-script row is labelled Halh Mongolian, as in FLORES+.
  • Community copies of open tokenizers may differ marginally from the versions vendors run in production.

Data

world-languages-premiums.csv has every premium on this page, with total token counts for every language and tokenizer: 1,776 rows. It’s released under CC BY-SA 4.0, matching the corpus it was measured on. It contains measurements only. The FLORES+ sentences themselves aren’t included: the dataset’s terms ask that they not be re-hosted where web crawlers can reach them.

Every number on this page came from counting real text. You can do the same with yours, across every major model.

Measure your own prompt