Tokens to words table
| Tokens | Words | Characters | Pages |
|---|---|---|---|
| 100 | 75 | 400 | 0.2 |
| 500 | 375 | 2,000 | 1 |
| 1,000 | 750 | 4,000 | 2 |
| 2,000 | 1,500 | 8,000 | 4 |
| 4,000 | 3,000 | 16,000 | 8 |
| 8,000 | 6,000 | 32,000 | 16 |
| 32,000 | 24,000 | 128,000 | 64 |
| 128,000 | 96,000 | 512,000 | 256 |
| 200,000 | 150,000 | 800,000 | 400 |
| 1,000,000 | 750,000 | 4,000,000 | 2,000 |
| 2,000,000 | 1,500,000 | 8,000,000 | 4,000 |
128,000 and 200,000 are common context window sizes. A 128K window holds roughly 96,000 words of English, less if you fill it with JSON, code or another language.
Words to tokens
| Words | Tokens (approx.) |
|---|---|
| 100 | 133 |
| 250 | 333 |
| 500 | 667 |
| 1,000 | 1,333 |
| 2,000 | 2,667 |
| 5,000 | 6,667 |
| 10,000 | 13,333 |
| 50,000 | 66,667 |
| 100,000 | 133,333 |
How many tokens is a page, a PDF or a book
A single-spaced page of English runs around 500 tokens. That gives these rough sizes:
| Pages | Tokens (approx.) |
|---|---|
| 1 | 500 |
| 10 | 5,000 |
| 50 | 25,000 |
| 100 | 50,000 |
| 200 | 100,000 |
| 300 | 150,000 |
| 400 | 200,000 |
| 500 | 250,000 |
PDFs vary more than plain text. A text PDF converts at about the page rate above. A scanned PDF is a set of images, so what you pay depends on how the model reads images, not on the word count. Tables, footnotes and small print add tokens.
Measured on real text
The rule of thumb is close for plain English. We count this paragraph with the real tokenizers every time the site builds:
A token is the unit a language model reads and bills by. It is usually a word, part of a word, or a punctuation mark. Common English words tend to be one token each, while rare words, names and numbers split into several. That is why a rule of thumb works well for plain prose and drifts for code, tables and other languages.
- 63 words, 325 characters
- o200k_base (GPT-4o and later): 73 tokens, so 0.86 words per token
- cl100k_base (GPT-4 era): 73 tokens, so 0.86 words per token
Short, common words pack better than 0.75. Long or rare words, names and numbers pack worse. Over a long document the two roughly even out.
Tokens in lines of code
Code does not follow the word rule. Indentation, brackets and split identifiers all cost tokens. One sample, a 8-line TypeScript function, comes to 123 tokens in o200k_base, about 15.4 tokens per line. At that rate 1 million tokens is around 65,041 lines. Your code will differ: long lines, comments and minified files change it a lot, so count a real file before you size a context window.
When the estimate is off
- Non-English text, especially non-Latin scripts, can take 1.5x to 3x the tokens of the same English.
- JSON, CSV and logs are full of punctuation and numbers, which tokenize heavily.
- Chat APIs add a few tokens per message for roles and formatting, on top of your text.
- Reasoning models bill hidden thinking tokens as output, so the words you see understate the bill.
For an exact number, paste the text into the token counter. It runs the tokenizers in your browser, so the text stays on your machine. To turn tokens into money, see how many tokens a dollar buys or the cost calculator. The background is in what are tokens.