# Persian tokenizer efficiency across models

> Tokens spent on the same meaning in Persian versus English, per model tokenizer. This is a cost and context-window measurement. It is not a measure of model quality, Persian fluency, or reasoning.

**Measured 2026-08-19.** Considered stale after 120 days, at which
point models released since the run are missing from the table — the numbers
themselves stay true for the tokenizer commits they name.

## Headline

A Persian speaker pays between **1.14x** and **4.41x** more per
idea than an English speaker, depending only on which model they use.
Best: PersianMind (University of Tehran). Worst: Grok-1 (xAI).

## What this does not measure

Not model quality, Persian fluency, reasoning, or usefulness. A model can
tokenize Persian efficiently and still write it badly. This is one axis: cost
per unit of meaning, and how fast the context window fills.

## Results

| Rank | Model | Vendor | Persian tokens per English token | Persian tokens | English tokens | Vocabulary | Tokenizer file |
| ---: | --- | --- | ---: | ---: | ---: | ---: | --- |
| 1 | PersianMind (Persian-specific) | University of Tehran | 1.138 | 839 | 737 | 41510 | universitytehran/PersianMind-v1.0@af603eeb0741 |
| 2 (tied) | Gemma | Google | 1.312 | 908 | 692 | 256000 | Xenova/gemma-tokenizer@fbc8c39d1189 |
| 2 (tied) | Gemma 2 | Google | 1.312 | 908 | 692 | 256000 | Xenova/gemma2-tokenizer@550a07caea23 |
| 4 | Mistral Small 3 | Mistral AI | 1.368 | 955 | 698 | 131072 | mistralai/Mistral-Small-24B-Instruct-2501@9527884be6e5 |
| 5 (tied) | Llama 3 | Meta | 1.392 | 959 | 689 | 128256 | Xenova/llama-3-tokenizer@72bff9ee0989 |
| 5 (tied) | Llama 3.1 | Meta | 1.392 | 959 | 689 | 128256 | Xenova/Meta-Llama-3.1-Tokenizer@d49ea33e96b3 |
| 7 (tied) | GPT-4o | OpenAI | 1.406 | 969 | 689 | 200000 | Xenova/gpt-4o@7956d98f2a83 |
| 7 (tied) | gpt-oss 20B | OpenAI | 1.406 | 969 | 689 | 200019 | openai/gpt-oss-20b@6cee5e81ee83 |
| 9 | GLM-4.5 | Z.ai | 1.729 | 1191 | 689 | 151365 | zai-org/GLM-4.5@cbb2c7cfb52f |
| 10 | DeepSeek-V3 | DeepSeek | 1.736 | 1203 | 693 | 128815 | deepseek-ai/DeepSeek-V3@e815299b0bcb |
| 11 (tied) | Qwen2.5 | Alibaba | 2.579 | 1777 | 689 | 151665 | Qwen/Qwen2.5-7B-Instruct@a09a35458c70 |
| 11 (tied) | Qwen3 | Alibaba | 2.579 | 1777 | 689 | 151669 | Qwen/Qwen3-8B@b968826d9c46 |
| 13 (tied) | GPT-4 / GPT-3.5 Turbo | OpenAI | 3.216 | 2216 | 689 | 100263 | Xenova/gpt-4@1d9f1f1b1fae |
| 13 (tied) | Phi-4 | Microsoft | 3.216 | 2216 | 689 | 100352 | microsoft/phi-4@2db69c1c3e91 |
| 13 (tied) | OLMo 2 | Allen Institute for AI | 3.216 | 2216 | 689 | 100278 | allenai/OLMo-2-1124-7B@7df9a82518af |
| 16 (tied) | Mistral v3 | Mistral AI | 4.174 | 3018 | 723 | 32768 | Xenova/mistral-tokenizer-v3@b251f946a5b6 |
| 16 (tied) | Maral 7B (Persian-specific) | MaralGPT | 4.174 | 3018 | 723 | 32000 | MaralGPT/Maral-7B-alpha-1@2ab5ca2a0d1a |
| 18 | Claude | Anthropic | 4.374 | 3053 | 698 | 65000 | Xenova/claude-tokenizer@cae688821ea0 |
| 19 | Grok-1 | xAI | 4.413 | 3054 | 692 | 131072 | Xenova/grok-1-tokenizer@40ee9ae4aed4 |

## Models sharing one tokenizer

- Llama 3.1 ships the same merge table as Llama 3
- Qwen3 ships the same merge table as Qwen2.5

## Method

Every passage in the paired corpus is encoded with the model's own tokenizer file, read from HuggingFace at the recorded commit. Counts are exact, not estimated. A model whose encode/decode round-trip does not reproduce the input is dropped rather than reported.

Corpus: 28 passages (3065 Persian characters,
3592 English), each an original composition written for this
measurement with a faithful translation, so no model can have memorised it from
a public benchmark.

## Verification

- Round-trip: every published row reproduces all 56 passages exactly. A row that fails is dropped, not caveated.
- Independent cross-check: not run for this revision.

## Reproduce

    pnpm run bench:tokenizer

Harness: `scripts/tokenizer-bench.mjs`. Licence: CC-BY-4.0.

## Downloads

- https://veil.ir/leaderboard.json — full results, per-passage counts
- https://veil.ir/leaderboard.csv — the ranked table
- https://veil.ir/leaderboard.corpus.json — the paired corpus

## Canonical pages

- https://veil.ir/leaderboard (Persian)
- https://veil.ir/en/leaderboard (English)
