13 TOKENIZERS · 4 MODELS · 4 INDIC LANGUAGES · 4 REASONING STRATEGIES
~/research/tokenizer-fertility-2026

The Tokenizer Sets the Price. It Doesn't Decide the Outcome.

13 tokenizers benchmarked on FLORES+ devtest (1,012 sentences × 5 languages) · 4 open-weight models re-tested on IndicMMLU-Pro math under 4 language-handling strategies × 4 Indic languages · run on the Sthānika evaluation pipeline · Aug 2026

why this exists

Large language models don't read raw text — they read tokens, the subword chunks their tokenizer cuts a sentence into. Many widely used tokenizers were trained on a corpus that is overwhelmingly English and Latin-script, so when one of them meets Hindi, Marathi, Telugu, Kannada or any other Indic language, it frequently gives up on whole-word or whole-syllable chunks and falls back to small subword or raw-byte fragments. The word doesn't get smaller; it gets cut into more pieces.

Why that's a cost, not just a curiosity: more tokens for the same sentence means a shorter effective context window, a higher per-request bill, and — this is the part upstream measurement alone can't answer — possibly a weaker reasoning trace, because every intermediate step of a chain-of-thought answer is itself being generated and re-read through the same fragmented tokenizer.

We built the upstream half of this study first: a frozen, parallel, 1,012-sentence corpus (FLORES+ devtest) run through 13 tokenizers spanning open-weight Indic-aware models, generalist open models, and closed frontier APIs. It confirmed the fertility gap is real and large — see the tables below. What it couldn't tell us is whether that gap actually breaks a model's ability to think, or whether it's a cost that shows up on the invoice and nowhere else. That's the question this downstream extension exists to answer.

study design: two phases, one question

Phase 1 — upstream tokenizer fertility

13 tokenizers × 5 languages (English, Hindi, Marathi, Telugu, Kannada) × 1,012 FLORES+ devtest sentences. Pure tokenization — no model generates anything here, so this phase measures the tokenizer alone, isolated from any model's reasoning ability.

Phase 2 — downstream reasoning under four routing strategiesIndicMMLU-Pro, math

A high upstream fertility number is a prediction, not a proof, that reasoning degrades. To test the prediction directly, we took the four Indic languages from Phase 1, pulled math questions from IndicMMLU-Pro, and ran each one through four open-weight models under four different strategies for handling the native-script input — from paying the full fertility cost throughout (native_cot) to removing it entirely before the model ever sees the question (trans_google). If fertility were purely a cost-and-latency issue, accuracy should barely move across these four conditions. If it's also a reasoning issue, it should move a lot for high-fertility models and barely at all for low-fertility ones.

metrics

token fertility
average tokens produced per whitespace-separated word for a given (tokenizer, language) — lower means the tokenizer is finding real linguistic units instead of fragments; English typically sits at ~1.2–1.4.
parity ratio
a language's total token count for the corpus ÷ English's total token count for the same corpus — 1.00 means the Indic sentence costs exactly as many tokens as its English translation; a ratio the "Unfairness Between Languages" framing (Petrov et al.) was built to expose.
cost ($ per 1M input chars)
tokens × the model's own published $/1M-input-token rate, normalized per character so it's comparable across languages of different length — for the 4 tokenizers with an owner-published API price only; see the cost table below for why the other 9 aren't a gap in the data.
reasoning accuracy (%)
share of IndicMMLU-Pro math questions answered correctly, evaluated separately for every (model, language, condition) combination.
malformed-output rate (%)
share of responses that never produced a parseable final answer at all — a distinct failure mode from "answered and got it wrong."

what's open, what's api-only

Of the 13 tokenizers in Phase 1, 10 are open — Sarvam-1, Sarvam-30B, Google Gemma 2 9B, Google Gemma 3 4B, Meta Llama 3.1 8B, Qwen3 8B, Mistral Nemo (Tekken), BrahmicTokenizer-131K, OpenAI GPT-4o (o200k_base), and OpenAI GPT-3.5/GPT-4 (cl100k_base). 3 are API-only, with no public tokenizer — Claude Sonnet 4.5, Claude Opus 4.8, and Google Gemini 3.6 Flash (see methodology for how those were measured).

downstream models (Phase 2) — all four are open-weight, self-hosted

We deliberately kept Phase 2 to open-weight models only, so every accuracy number reflects the model itself and not a provider's server-side prompt wrapping or hidden reasoning mode.

modelcheckpoint
Gemma 3 4B opengoogle/gemma-3-4b-it
Qwen3-8B openQwen/Qwen3-8B
Llama 3.1 8B openmeta-llama/Llama-3.1-8B-Instruct
Sarvam-30B open · indiasarvamai/sarvam-30b
Every downstream model has a direct, same-tokenizer-family counterpart in the Phase-1 table below, which is what makes the fertility-vs-accuracy comparison in this report a within-tokenizer comparison, not a cross-study guess.

findings so far

01

Fertility sets the tax rate; it doesn't fully decide the bill.

Gemma-3-4B's tokenizer is far friendlier to Indic scripts than Qwen3-8B's (2.36 vs. 8.68 tokens/word, Indic-average — Gemma ranks 4th-best of the 13 tokenizers we measured, Qwen 3rd-worst), yet Gemma pays the far bigger downstream tax: translating its input to English before reasoning recovers 12.0 accuracy points (39.1%→51.1% average across languages), while the identical fix recovers just 1.6 points for Qwen (78.6%→80.2%). A friendlier tokenizer did not buy Gemma a smaller reasoning penalty here — tokenizer fertility alone doesn't predict which model needs rescuing.

02

Identical token-ID sequences to Gemma-3-4B on tested Hindi/Marathi sentences, zero reasoning tax.

We checked, expecting Sarvam-30B to run its own Indic-tuned vocabulary like Sarvam-1 does. The result was mixed: tokenizing all 1,012 FLORES+ sentences on both, Hindi and Marathi produce identical token-ID sequences (0 of 1,012 sentences differ), English is nearly identical (3 of 1,012 differ), and Telugu/Kannada clearly diverge — Sarvam-30B is more efficient than Gemma on those two specifically (2.06 vs. 2.36 tokens/word Indic-average). Averaged across all four downstream languages, Gemma-3-4B still loses 12.0 points reasoning natively vs. translated, while Sarvam-30B loses nothing — native-script reasoning (75.50%) slightly beats pre-translated English (74.35%). Tokenizer similarity alone doesn't explain that gap: on Hindi and Marathi specifically, where the token-ID sequences are provably identical between the two models, they still land on opposite sides of the reasoning-tax question — so for those two languages at least, it isn't the tokenizer doing the protecting.

03

Two tokenizers within 0.05 tokens/word of each other, opposite downstream fates.

Qwen3-8B (8.68) and Llama-3.1-8B (8.73) are the two worst upstream fertility scores in our roster after cl100k_base's raw byte-fallback figure — nearly indistinguishable as tokenizers. Downstream, Llama's native-to-translated gap (+17.73 points) is more than 11× Qwen's (+1.6). The same upstream number predicts almost nothing about which of these two needs rescuing.

league table: token fertility on FLORES+

Ranked by Indic-average fertility across Hindi, Marathi, Telugu and Kannada. Lower is better. The "API" models (Claude Sonnet 4.5, Claude Opus 4.8, Gemini 3.6 Flash) were measured through their chat completions endpoint by counting output tokens for deterministic prompts; see methodology for the exact procedure.

ranktokenizer / model familyenhimrteknindic avgparitycost /1M charstype
1Sarvam-1 india1.201.271.281.341.351.291.07×open
2Sarvam-30B india1.231.311.331.431.501.391.13×open
3BrahmicTokenizer-131K1.271.341.361.421.491.401.10×open
4Gemma 3 4B open1.311.681.702.913.152.361.80×open
5Gemma 2 9B open1.301.751.783.003.232.441.88×open
6GPT-4o api1.292.422.453.313.312.872.22×$0.250api
7Mistral Nemo (Tekken)1.312.442.493.403.482.952.25×open
8GPT-3.5 / GPT-4 api1.352.622.663.463.533.072.27×$0.300api
9Claude Sonnet 4.5 api1.322.752.793.623.693.212.43×$0.600api
10Claude Opus 4.8 api1.332.782.823.653.723.242.44×$0.900api
11Qwen3 8B open1.362.852.893.743.823.322.44×open
12Llama 3.1 8B open1.372.882.923.783.853.362.45×open
13Gemini 3.6 Flash api1.343.103.144.124.213.692.75×$0.075api
Parity ratio = total Indic tokens ÷ total English tokens for the same 1,012-sentence corpus. Cost uses owner-published input-token prices (per 1M input tokens: GPT-4o $2.50, GPT-3.5/GPT-4 $3.00, Claude Sonnet 4.5 $6.00, Claude Opus 4.8 $9.00, Gemini 3.6 Flash $0.075) and normalizes to per-character so long and short scripts can be compared.

downstream accuracy: four models × four strategies

IndicMMLU-Pro mathematics, averaged across Hindi, Marathi, Telugu, Kannada. The four strategies are: native_cot (question and chain-of-thought both in native script), native_english_cot (question in native script, reasoning in English), trans_google (question translated to English before the model sees it, reasoning in English), and trans_sarvam (same, but translated with Sarvam-1 instead of Google Translate).

modelnative_cotnative_english_cottrans_googletrans_sarvammax Δ
Gemma 3 4B39.0642.7151.0449.48+11.98
Qwen3-8B78.6579.1780.2180.21+1.56
Llama 3.1 8B47.4055.7365.1063.54+17.70
Sarvam-30B75.5275.0074.4874.48−1.04
Max Δ = best − worst strategy for that model. Positive means translation helped; near-zero means the model reasons as well in native script as in English. Sarvam-30B is the only model where native-script reasoning matches or slightly beats translation.

cost is not just a side effect

Using the Phase-1 token counts and published API prices, the same 1,000-character input can cost very different amounts depending on which tokenizer is charging for it. The table below is for the four tokenizers with a direct owner-published price; the open models are shown for comparison using the same token count but no dollar rate attached.

tokenizercost /1M input chars (en)cost /1M input chars (indic avg)indic premium
Gemini 3.6 Flash api$0.10$0.282.75×
GPT-4o api$0.32$0.722.22×
GPT-3.5 / GPT-4 api$0.41$0.922.27×
Claude Sonnet 4.5 api$0.79$1.932.43×
Claude Opus 4.8 api$1.19$2.892.44×

For a 1,000-character Hindi prompt, the cheapest API option (Gemini 3.6 Flash) is roughly one-thirtieth the price of the most expensive (Claude Opus 4.8). Fertility is the mechanism that turns the same sentence into a different number of tokens, and token count is what most APIs bill by.

what protects some models and not others

The four downstream models split cleanly into two groups. Gemma-3-4B and Llama-3.1-8B lose large accuracy points when asked to reason in native script; Qwen3-8B and Sarvam-30B do not. The upstream fertility table alone cannot predict this split: Gemma has a much better tokenizer than Qwen, yet Gemma suffers the larger reasoning tax. Llama and Qwen have nearly identical fertility, yet Llama's tax is more than ten times larger.

This suggests the protecting factor is not the tokenizer itself but something correlated with it at the model-family level — most likely the language distribution and fine-tuning data the base model was exposed to. Models that have seen more native-script reasoning during training appear able to route around tokenizer fragmentation; models that haven't seen enough fall back to English-like reasoning patterns and pay the price when the input is forced to stay in script.

Practical implication: choosing an Indic-aware tokenizer is still worth doing — it lowers cost and widens the effective context window — but it is not a substitute for training or fine-tuning on native-script reasoning. A cheap, Indic-friendly tokenizer paired with a model never trained on Indic reasoning can still fail in script.

methodology notes

corpus
FLORES+ devtest, 1,012 sentences, parallel across English, Hindi, Marathi, Telugu, Kannada. Sentence-level alignment means every tokenizer sees the same semantic unit.
API tokenizer measurement
For Claude and Gemini, no public tokenizer is available. We sent deterministic prompts to the chat completions endpoint and counted output tokens under temperature=0, top-p=1, max_tokens=1, then reconstructed effective fertility by dividing by known word counts. See the report repository for the exact prompt templates.
downstream task
IndicMMLU-Pro mathematics subset, 4-option multiple choice. Each (model, language, strategy) combination was evaluated with greedy decoding and the same prompt template. The four strategies were applied consistently across all languages.
reproducibility
All model checkpoints, tokenizer identifiers, prompts, and raw result files are listed in the report repository. The evaluation harness is the same Sthānika pipeline used for the MILU-2026 benchmark.

sources & data

credits

Sthānika AI — an initiative of PurpleTalk · Hyderabad, India.
Report prepared by the Sthānika evaluation team. For questions or collaboration: hello@sthanika.ai
© 2026 Sthānika AI · Released under CC BY 4.0