Data · measured 2026-10-12

Tokens in Thai

How many tokens does Thai text use, compared with English? We measured the same copy in both languages with OpenAI's two main tokenizers.

Cost vs English, o200k_base1.50×GPT-4o and newer models
Cost vs English, cl100k_base3.55×GPT-4 and GPT-3.5 era
Characters per token2.57o200k_base (English: 4.51)
Rank of 29241 is the cheapest relative to English
Saved by o200k_base58%fewer tokens than cl100k_base

What the numbers say

The same website copy is 200 tokens in English and 301 tokens in Thai on the newer o200k_base encoding, a ratio of 1.50×. On the older cl100k_base encoding the Thai copy needs 710 tokens, which is 3.55× the English count of 200. At the same price per token, the same message costs about 1.50× as much in Thai on the newer encoding. Among the 29 non-English languages we measured, Thai ranks number 24 from the cheapest.

The newer encoding made a real difference: o200k_base used 58% fewer tokens than cl100k_base for Thai, compared with 34% across all the non-English languages in the data. That is more than average, so Thai gained more from the newer vocabulary than most.

Why Thai? Thai is written without spaces between words, and vowels and tone marks sit above and below the consonants as separate characters. A tokenizer cannot use spaces as a hint for where a word ends, and each Thai character is three bytes in UTF-8, so a sentence can need many tokens.

Thai has no spaces between words, so there is no obvious place for a tokenizer to split, and its vowel and tone marks are separate characters at three bytes each. The result is a high token count for text that looks short on screen, and a large improvement when moving to a vocabulary that includes more Thai.

Example

How a Thai sentence is split into tokens

This is the tagline of this site in Thai. Each shaded block is one token (or a few tokens that together make one character) on o200k_base.

คัดลอกข้อความในอุปกรณ์หนึ่งแล้ววางในอีกเครื่อง – ไม่ต้องติดตั้งแอป ไม่ต้องมีบัญชี

81 characters become 29 tokens on o200k_base and 75 tokens on cl100k_base. The English tagline, "Copy text on one device and paste it on another — no app, no account.", is 69 characters and 17 tokens on o200k_base and 17 on cl100k_base.

Want to see your own text? Paste it into the token calculator and compare the two tokenizers.

Comparison

Thai next to English and the closest languages

LanguageCharactersTokens
o200k_base
Tokens
cl100k_base
× English
o200k_base
× English
cl100k_base
EnglishEnglish 9022002001.00×1.00×
FinnishSuomi 9542953611.48×1.80×
Hindiहिन्दी 9102988781.49×4.39×
Thaiไทย 7733017101.50×3.55×
UkrainianУкраїнська 9673045141.52×2.57×
Bengaliবাংলা 8493099981.54×4.99×

See all 30 languages, with a chart and CSV and JSON downloads, on token cost by language.

What it means for your bill

API prices are per token, so the ratio is also a price ratio. If a prompt costs $1.00 in English on o200k_base, the equivalent Thai prompt costs about $1.50, and about $3.55 on cl100k_base. A document of 1,000 Thai characters is roughly 389 tokens on o200k_base. These are estimates from one sample: translated text is never exactly the same length as the original, and your text may be formal, technical or full of names, which changes the ratio.

To turn tokens into money, enter your provider's input and output prices per million tokens in the token calculator. For how pricing works, see how LLM API pricing works.

How to use fewer tokens with Thai text

  1. Use a model with the newer tokenizer. For Thai, o200k_base used 58% fewer tokens than cl100k_base in this sample, so a GPT-4o-class model needs fewer tokens than an older one for the same text.
  2. Count before you send. Paste a typical message into the token calculator to see the real count, then multiply by the number of requests.
  3. Keep fixed instructions short. A system prompt that is sent with every request is paid for every time. Writing the standing instructions in English is often cheaper per token than in Thai; test that answers stay as good as you need.
  4. Cut what is not needed. Remove greetings, repeated context and long examples. The guide to reducing token usage has more.
  5. Be careful with emoji, rare characters and unusual formatting. They are often split into several byte-level tokens each.
FAQ

Frequently asked questions

How many tokens is Thai text?

In our measurement, the same website copy that is 200 tokens in English (902 characters) is 301 tokens in Thai on o200k_base (773 characters) and 710 tokens on cl100k_base. As a rule of thumb, 1,000 characters of Thai come to about 389 tokens on o200k_base and about 918 on cl100k_base.

Is Thai more expensive than English in GPT-4o?

Slightly to noticeably, depending on the text. On o200k_base, the encoding used by GPT-4o and newer OpenAI models, the Thai copy needs 1.50× the English token count, so at the same price per token the same message costs about 1.50× as much. It was 3.55× on the older cl100k_base.

Which tokenizer is better for Thai?

o200k_base needed 58% fewer tokens than cl100k_base for Thai in this sample. Across all 29 non-English languages in the data, the average saving was 34%, so Thai improved more than average.

Why does Thai need more tokens than English?

Thai is written without spaces between words, and vowels and tone marks sit above and below the consonants as separate characters. A tokenizer cannot use spaces as a hint for where a word ends, and each Thai character is three bytes in UTF-8, so a sentence can need many tokens. Thai has no spaces between words, so there is no obvious place for a tokenizer to split, and its vowel and tone marks are separate characters at three bytes each. The result is a high token count for text that looks short on screen, and a large improvement when moving to a vocabulary that includes more Thai.

Does this apply to Claude, Gemini or Llama?

Not directly. Other providers train their own tokenizers, so counts and ratios differ. These figures describe two OpenAI encodings only. Use your provider's own token counter before relying on a number for billing.

How was this measured?

We counted the tokens of the site's own copy in each language (tagline, two about paragraphs and four how-to steps) with the o200k_base and cl100k_base encodings from gpt-tokenizer 4.0.0, on 2026-10-12, and divided by the English count. It is one sample of marketing-style text, so other kinds of text, such as code or legal prose, will give different ratios.

More

Other languages and guides

Other languages: Japanese · Korean · Chinese (Simplified) · Chinese (Traditional) · Hindi · Bengali · Russian · Vietnamese · Greek · Turkish · Indonesian · German · Spanish · Portuguese · French

Share this tool