Words to Tokens: How Many Tokens Is 1,000 Words? I Measured It
1,000 words of English came out at about 1,300 tokens in OpenAI's tokenizer on this site's own articles. Other languages cost 22 to 45 percent more.
AI models do not read words. They read tokens, they bill in tokens, and their limits are written in tokens. So the question that keeps coming up is a conversion one: how many tokens is 1,000 words?
The usual answer is a rule of thumb from OpenAI's help centre: a token is about four characters of English, or roughly three quarters of a word. I wanted to know how well that holds on real text, so I ran OpenAI's open-source tokenizer over this site's own writing.
The short answer: 1,000 words of English prose is about 1,300 tokens. The rule of thumb holds up. It stops holding up as soon as you leave English.
What I measured
Two sets of text, both from this site, both counted on 12 October 2026:
- The blog. Ten English articles, 10,966 words after removing tables, code and formatting.
- The interface. The 1,038 text strings behind the tools, which exist as translations of each other in English, Simplified Chinese, Traditional Chinese, Russian and Arabic. The same content in five languages is a tidy way to compare them.
Words were counted with this site's own Word Counter logic. Tokens were counted with js-tiktoken 1.0.21 using o200k_base, the encoding OpenAI's tokenizer library uses for its GPT-4o family of models.
English: 1.3 tokens per word
| Measure | Blog articles |
|---|---|
| Words | 10,966 |
| Tokens | 14,300 |
| Tokens per word | 1.30 |
| Words per token | 0.77 |
| Characters per token | 4.7 |
The rule of thumb says 0.75 words per token and I got 0.77. It says four characters per token and I got 4.7, so plain prose is a little cheaper than the rule suggests. The interface strings came out slightly higher, at 1.36 tokens per word, which makes sense: they are full of short labels, numbers and punctuation.
For everyday estimates, then:
| Words | Tokens, roughly |
|---|---|
| 100 | 130 |
| 500 | 650 |
| 1,000 | 1,300 |
| 2,000 | 2,600 |
| 5,000 | 6,500 |
| 50,000 | 65,000 |
And going the other way:
| Tokens | English words, roughly |
|---|---|
| 1,000 | 770 |
| 4,000 | 3,100 |
| 8,000 | 6,100 |
| 100,000 | 77,000 |
| 1,000,000 | 770,000 |
The same text in five languages
This is the result I did not expect to be so large. Identical content, translated:
| Language | Tokens | Compared with English |
|---|---|---|
| English | 12,677 | baseline |
| Simplified Chinese | 15,512 | +22% |
| Arabic | 17,542 | +38% |
| Traditional Chinese | 18,254 | +44% |
| Russian | 18,407 | +45% |
Saying the same thing in Russian cost 45 percent more tokens than saying it in English. Per word it is starker: Russian and Arabic both came to about two tokens per word (2.04 and 1.94), against 1.36 for the English strings.
Chinese needs its own note, because "word" means something different there. Our counter treats each Chinese character as a word, as most counters do. On that basis Simplified Chinese ran at about 1.5 characters per token, and Traditional at 1.3. So a 1,000-character Chinese text is roughly 650 to 750 tokens, not the 250 you would get by applying the English four-characters rule.
Traditional Chinese costing almost a fifth more than Simplified for the same sentences surprised me. My guess is that the tokenizer has simply seen more Simplified text, but that is a guess.
Older models count differently
"Tokens" is not one unit. I ran the same strings through cl100k_base, the encoding used by the GPT-4 and GPT-3.5 generation:
| Language | Newer encoding | Older encoding | Older ÷ newer |
|---|---|---|---|
| English | 12,677 | 12,763 | 1.01 |
| Simplified Chinese | 15,512 | 20,558 | 1.33 |
| Traditional Chinese | 18,254 | 26,589 | 1.46 |
| Russian | 18,407 | 28,023 | 1.52 |
| Arabic | 17,542 | 37,104 | 2.12 |
English barely moved. Arabic needed more than twice as many tokens under the older scheme. If you have an old estimate for a non-English workload in your head, it may be badly out of date, in your favour.
This is also why I am only reporting OpenAI's numbers. Anthropic and Google use their own tokenizers. I did not test those, so I will not guess at their ratios. Both provide a way to count tokens exactly before you send anything: see the Claude and Gemini documentation.
Where one word stops being one token
Common English words are a single token, usually with the space in front of them included. "The quick brown fox jumps over the lazy dog." is nine words and ten tokens, the tenth being the full stop.
The ratio falls apart on anything unusual. Our counter sees every row here as a single word, except the emoji, which it does not count as a word at all:
| Text | Tokens |
|---|---|
tokenization |
2 |
50,000 |
3 |
e.g. |
3 |
count-words.com |
4 |
2026-11-03 |
6 |
antidisestablishmentarianism |
6 |
3.14159265358979 |
7 |
https://count-words.com/blog/words-to-tokens |
12 |
| 👨👩👧👦 | 11 |
Numbers, dates, links and emoji are expensive. A paragraph of prose and a paragraph of the same length stuffed with URLs and figures can differ by a wide margin. That family emoji is one character on screen and eleven tokens.
So if your text is a spreadsheet export, a list of links or source code, do not use 1.3. Count it properly.
Using this in practice
Estimating cost or fit for English text. Take the word count and multiply by 1.3. Add a tenth as margin if the text has many numbers or links. To get the word count, paste the text into the Word Counter; nothing leaves your browser.
Other languages. For Russian or Arabic, use two tokens per word. For Chinese, use two tokens for every three characters, and a little more for Traditional. These come from one tokenizer and one set of interface strings, so treat them as starting points.
Reading an output limit. If a model is capped at 4,000 output tokens, that is around 3,000 English words. Ask for 4,000 words and it will stop early.
When it has to be exact. Use the provider's own token counter. An estimate is for planning. It is no good for a hard limit or an invoice.
For OpenAI models you can skip the estimate: the Token Counter runs the same js-tiktoken encodings used for this test in your browser and shows where each token starts and ends. For Claude, Gemini and other models it is still an estimate, because they use their own tokenizers.
Limits of this test
I would sooner over-explain this than have someone build on a shaky number.
- One tokenizer family. The results apply to OpenAI's encodings. Other providers will differ.
- A small, particular sample. About 11,000 words of explanatory articles and about 9,300 words of interface text. Fiction, legal writing or chat logs may behave differently.
- Interface strings are not prose. They contain placeholders and short labels, which pushes token counts up a little in every language.
- The translations are ours. A different translator would produce different lengths, though probably not a different ranking.
Sources
- OpenAI Help Center, What are tokens and how to count them?: the four-characters and three-quarters-of-a-word rules of thumb
- Anthropic, Token counting, and Google, Understand and count tokens: exact counting for those models
- Every figure in the tables is my own measurement of this site's text, taken on 12 October 2026 with
js-tiktoken1.0.21.
Связанный инструмент
Word Counter
Get the word count of your text, then multiply by 1.3 for a rough English token estimate.
Открыть инструмент →