Skip to content

Token cost by language and script

Why the same sentence costs a different number of tokens in different languages, derived per script from how the tokenizer was built rather than asserted from a table.

A tokenizer is a lookup table built once, before training, from a corpus somebody chose. Modern ones are byte-level BPE: the text is encoded to UTF-8, every one of the 256 possible bytes is already a token, and on top of that sits a merge table — a learned list of byte pairs that get collapsed into single tokens, ordered by how often the pair appeared in that corpus. English is cheap not because English is simple but because the merge table is mostly English, so whole common words survive as one token. Everything below that is a fallback, and the last fallback is one token per byte. That floor is the single most useful fact in this cluster, because it means a script whose characters take three UTF-8 bytes cannot cost less than three tokens per character unless the merge table happens to contain that character.

So “language X costs more tokens” is never one reason. It is some combination of how wide the characters are in UTF-8, whether the orthography inserts combining marks and joiners that break merges apart, how much of the vocabulary budget the language was given, and how much meaning the language packs into a character in the first place. These pages take one language each and work out which of those is doing the damage, because the fixes differ: a vocabulary problem is solved by changing model, a byte-width problem is not solved at all, and a normalisation problem is solved before the text ever reaches the API. Published cross-language measurements exist — Petrov et al., “Language Model Tokenizers Introduce Unfairness Between Languages” (NeurIPS 2023) compares tokenised lengths of parallel text and reports ratios exceeding an order of magnitude between the best- and worst-served languages — and every page here tells you how to reproduce the number for your own corpus rather than quoting one.

Why Chinese Text Costs More Tokens Than English

Chinese costs roughly three to four times as many tokens per character as English, and close to parity per sentence — the two numbers point in opposite directions and only one of them is on your invoice.

9 min read

Why Japanese Text Costs More Tokens Than English

Japanese is three writing systems with three different token costs, and the expensive one is katakana — the script used for exactly the loanwords that are cheap in English.

9 min read

Why Korean Text Costs More Tokens Than English

Hangul is phonetic, so a Korean word needs several three-byte syllable blocks where Chinese needs one character — which is why Korean does not get the density discount that makes CJK sound like one problem.

9 min read

Why Arabic Text Costs More Tokens Than English

Arabic letters are two bytes, but the expensive parts are the optional ones: tashkeel adds a separate combining code point per consonant, and presentation forms from PDF extraction can double the count invisibly.

9 min read

Why Russian Text Costs More Tokens Than English

Cyrillic is two bytes per letter, but the real cost is six-case inflection: every noun exists in a dozen surface forms and the merge table can only afford the frequent ones.

9 min read

Why Hindi Text Costs More Tokens Than English

Devanagari costs three bytes per code point and spends several code points on a single visible letter, because vowel signs and conjunct-forming viramas are stored separately from the consonants they attach to.

9 min read

Why Thai Text Costs More Tokens Than English

Thai writes without spaces, which removes the whitespace anchor that byte-level BPE relies on to learn whole words — so the tokenizer falls back to short, numerous subword pieces.

9 min read

Why Greek Text Costs More Tokens Than English

Greek is alphabetic, two bytes a letter and structurally similar to Latin-script languages, so almost all of its extra token cost is vocabulary share rather than anything about the script.

8 min read

Why Hebrew Text Costs More Tokens Than English

Unvocalised Hebrew is unusually compact — an abjad that omits most vowels — so its penalty is mild until niqqud or final-form letters get involved, and then it is not.

8 min read

Why Vietnamese Text Costs More Tokens Than English

Vietnamese is written in the Latin alphabet and almost none of it is ASCII — the tone-bearing vowels live in three-byte Unicode ranges that the English merge table has never seen.

9 min read

Why Turkish Text Costs More Tokens Than English

Turkish barely costs more bytes than English and still costs more tokens, because agglutination and vowel harmony generate more distinct word forms than any merge table can afford to store.

9 min read

Why Persian Text Costs More Tokens Than English

Persian uses the Arabic script but four of its most common letters are different code points from their Arabic lookalikes, so merges learned on Arabic text do not fire on Persian at all.

9 min read

Why Bengali Text Costs More Tokens Than English

Bengali costs three UTF-8 bytes per code point and spends several code points on a single visible cluster, which is where the multiplier comes from.

9 min read

Why Tamil Text Costs More Tokens Than English

Tamil pays three bytes per code point and then packs a whole English clause into one agglutinated verb, so the penalty is multiplicative rather than additive.

9 min read

Why Urdu Text Costs More Tokens Than English

Urdu and Hindi can be the same spoken sentence and still differ by a third in token cost, because the Arabic script is two UTF-8 bytes per letter and Devanagari is three.

9 min read

Why Ukrainian Text Costs More Tokens Than English

Ukrainian and Russian cost almost exactly the same number of UTF-8 bytes, which proves the difference between their token counts is vocabulary coverage and not the alphabet.

9 min read

Why Polish Text Costs More Tokens Than English

Polish is Latin script and never falls back to bytes, yet still costs two to three times English, because eight diacritics per sentence split otherwise-common subwords.

9 min read

Why Amharic Text Costs More Tokens Than English

The Ge'ez syllabary encodes a whole consonant-vowel syllable in one three-byte code point, which halves the character count and triples the byte cost.

9 min read

Why Swahili Text Costs Fewer Tokens Than Most African Languages

Swahili is written in plain ASCII with no diacritics, so it skips the byte-width penalty entirely and pays only for its verb morphology.

9 min read

Why Georgian Text Costs More Tokens Than English

Mkhedruli is a three-byte alphabet with no relatives, so a vocabulary that has never seen enough Georgian has nothing to fall back on but raw bytes.

9 min read

Why Armenian Text Costs More Tokens Than English

Armenian sits in the two-byte region of UTF-8 while Georgian sits in the three-byte region, which shows that script rarity alone does not predict the multiplier.

9 min read

Why Khmer Text Costs More Tokens Than English

Khmer spends three bytes on a character that renders as nothing at all, and writes without spaces between words, so a tokenizer gets neither cheap code points nor boundary hints.

9 min read

Why Burmese Text Costs More Tokens Than English

Burmese stacks medials, vowels and the asat onto a single consonant, so one round glyph cluster can cost twelve UTF-8 bytes before the corpus problem is even considered.

9 min read

Why Mongolian Text Costs More Tokens Than English

Mongolian Cyrillic costs the same two bytes per letter as Russian and gets almost none of Russian's token efficiency, because merges are learned from words rather than alphabets.

9 min read

Why Punjabi Text Costs More Tokens Than English

Gurmukhi costs three UTF-8 bytes per codepoint before any merge helps, and Punjabi's split between two writing systems halves the corpus each script's merges are learned from.

9 min read

Why Malayalam Text Costs More Tokens Than English

Malayalam joins words with sandhi and carries two live orthographies, so the whitespace boundaries that BPE anchors its merges to are both rarer and split two ways.

9 min read

Why Telugu Text Costs More Tokens Than English

Telugu sits on the same three-byte floor as every other Indic script, so the interesting question is why its per-word ratio and its per-character ratio give different answers.

9 min read

Why Indonesian Tokenizes Almost as Efficiently as English

Indonesian scores well on both of the two independent axes that set token cost — one-byte characters and low inflection — which is exactly what a ratio near 1.0 requires.

9 min read

Why Compound Words Make German Text Cost More Tokens

German uses the same alphabet as English, so its token penalty comes entirely from morphology: closed compounds, linking morphemes, and a capitalisation rule that doubles vocabulary demand.

9 min read

Why Finnish Text Costs More Tokens Than English

Finnish suffix chains would be survivable if the stem stayed constant, but consonant gradation mutates the stem itself, so the merge learned for the base word does not fire on its inflected forms.

9 min read

Why Hungarian Text Costs More Tokens Than English

Vowel harmony gives every Hungarian suffix two or three written forms, assimilation dissolves the suffix boundary entirely, and two of its vowels sit outside the block where accented Latin is common.

9 min read

Why Icelandic Text Costs More Tokens Than English

Icelandic is Latin script with a normal alphabet and still tokenizes poorly, because BPE allocates merges by corpus frequency and Icelandic contributes a vanishing share of any web corpus.

9 min read

Why Nepali Text Costs More Tokens Than English

Nepali shares Devanagari with Hindi and free-rides on Hindi's merges wherever the two languages share vocabulary, so its multiplier is Hindi's plus a penalty on the fraction that is not shared.

9 min read

Why Sinhala Text Costs More Tokens Than English

Several Sinhala vowel signs have canonical decompositions, so the same word has two legitimate byte representations with different token counts, on top of a script the vocabulary barely covers.

9 min read

Why Lao Text Costs More Tokens Than English

Lao writes without spaces between words and spells many vowels as circumfixes around the consonant, so a single syllable can be five codepoints and there is no whitespace for BPE to anchor merges to.

9 min read

Why Tigrinya Text Costs More Tokens Than English

A derived token multiplier for Tigrinya, and why sharing the Ge'ez script with Amharic does not mean sharing Amharic's token efficiency.

9 min read

Why Kazakh Text Costs More Tokens Than English

A derived token multiplier for Kazakh, and why an agglutinative Turkic language in Cyrillic pays two penalties that compound rather than overlap.

9 min read

Why Azerbaijani Text Costs More Tokens Than English

A derived token multiplier for Latin-script Azerbaijani, used as the controlled comparison that separates script cost from morphology cost in Turkic languages.

9 min read

Why Serbian Text Costs More Tokens When Written in Cyrillic

Two derived multipliers for the same Serbian sentence in its two official orthographies, and what the choice actually costs.

9 min read

Why Bulgarian Text Costs More Tokens Than English

A derived token multiplier for Bulgarian, and why near-identical byte counts to Russian do not produce near-identical token counts.

9 min read

Why Macedonian Text Costs More Tokens Than English

A derived token multiplier for Macedonian, and why the shortfall begins during corpus construction rather than during tokenizer training.

9 min read

Why Kannada Text Costs More Tokens Than English

A derived token multiplier for Kannada, built from the fact that its code-point count is far higher than the number of shapes on the page.

10 min read

Why Gujarati Text Costs More Tokens Than English

A derived token multiplier for Gujarati, and why a language whose vocabulary largely overlaps with Hindi shares none of Hindi's tokenizer merges.

9 min read

Why Odia Text Costs More Tokens Than English

A derived token multiplier for Odia, including a Unicode normalisation rule that makes two of its everyday consonants cost six bytes instead of three.

9 min read

Why Yoruba Text Costs More Tokens Because of Tone Marks

A derived token multiplier for Yoruba, and the Unicode reason its accented vowels cost more bytes than Vietnamese ones carrying the same information.

9 min read

Why Zulu Text Costs More Tokens Than English

A derived token multiplier for Zulu, the case in this cluster where the script costs nothing at all and the multiplier comes entirely from word structure.

9 min read

Other topics