How many tokens per page?
The short answer
A standard, single-spaced text page is ~250 to 500 tokens. Most documents land near 350 tokens per page.
The number swings wildly based on what's actually on the page:
| Page type | Tokens per page (approx) |
|---|---|
| Double-spaced manuscript (12pt) | 150 – 200 |
| Standard novel (11pt) | 300 – 400 |
| Single-spaced business doc (11pt) | 400 – 500 |
| Dense academic paper (10pt) | 500 – 700 |
| Two-column journal article | 700 – 1,000 |
| Code listing | 200 – 400 (less efficient per char) |
| Table-heavy report | 300 – 800 (varies wildly) |
These are for OpenAI's tokenizer (cl100k_base / o200k_base). Claude counts run roughly 30-35% higher since the Opus 4.8 tokenizer update.
Why the range is so wide
A "page" is a layout unit, not a content unit. The same word count can be displayed as half a manuscript page or a third of a dense academic page. Three factors drive the spread:
Density. Words per page varies from ~200 (double-spaced, large margins) to ~700+ (single-spaced, narrow margins, small font). Token count scales linearly with words.
Content type. Tables, code, and formulas don't tokenize as efficiently as prose. A 500-character line of natural English is ~85-100 tokens. The same 500 characters of code with lots of symbols, indentation, and identifiers can be 140-180 tokens.
Whitespace. Most tokenizers treat each significant whitespace run as a token boundary. Heavily formatted text (markdown tables, bullet lists with deep nesting) generates more tokens than the same content as flowing paragraphs.
Worked examples
For a standard letter-size page at 11pt Times New Roman, single-spaced, with 1" margins:
- ~500 words of body prose: ~650 tokens on OpenAI, ~875 on Claude
- ~350 words with 1 table (5 cols × 8 rows): ~550 tokens on OpenAI, ~745 on Claude
- A dense Python code block: 60-line file at ~80 chars/line ≈ 5,000 characters ≈ 1,400 tokens
For double-spaced manuscript pages (~250 words):
- ~325 tokens on OpenAI, ~440 on Claude
For a typical academic paper page (single-spaced, 10pt, with citations):
- 550-650 words → 720-850 tokens on OpenAI, 970-1,150 on Claude
How to estimate from page count
The fastest mental math for a typical document:
OpenAI / GPT models: pages × 350 for normal documents, pages × 550 for dense academic content.
Claude models: Multiply the GPT estimate by 1.33.
So a 50-page report ≈ 17,500 GPT tokens / 23,000 Claude tokens. A 200-page textbook chapter ≈ 110,000 GPT tokens, fits in Claude's 200k window, fits in GPT-5's 400k window with room.
When the math breaks
These heuristics fall apart for specific content types:
Scanned PDFs. A scan is *images*, not text. The page contains 0 text tokens but consumes hundreds of vision tokens depending on provider (see how many tokens in a PDF and how many tokens in an image).
Math and equations. LaTeX-formatted math is much denser per character than the visual equivalent. A page of equation-heavy physics can hit 800-1,200 tokens despite "only" 200-300 visible terms.
Non-English text. Languages with non-Latin scripts often tokenize less efficiently. Japanese and Chinese can run 2-3 tokens per character. Arabic and Hindi vary widely.
Markdown tables. A 10-row × 8-column markdown table eats roughly 250-400 tokens of just delimiter and alignment characters before the cell content. Tables in plain prose paragraphs are far more token-efficient.
Counting your specific page
The easiest path: paste a representative page into one of the model counters and read the exact number off:
- GPT-5, uses OpenAI's
o200k_basetokenizer - GPT-4o, same tokenizer as GPT-5
- Claude Sonnet, exact API count for Claude family
- Gemini 2.5 Flash. Gemini's tokenizer
Run two or three sample pages and average. That gives you a per-page rate you can multiply by the document's page count to estimate the whole document's tokens, usually within 5-10% of the truth.
Try this on every model
- Claude Opus 4.8 $5.00/$25.00
- Claude Opus 4.8 (Fast Mode) $10.00/$50.00
- Claude Sonnet 4.6 $3.00/$15.00
- Claude Haiku 4.5 $1.00/$5.00
- GPT-5.5 $5.00/$30.00
- GPT-5.5 Pro $30.00/$180.00
- GPT-5.4 $2.50/$15.00
- GPT-5.4 Mini $0.75/$4.50
- GPT-5.4 Nano $0.20/$1.25
- GPT-5.4 Pro $30.00/$180.00
- GPT-5.3 $1.75/$14.00
- GPT-5.2 $1.75/$14.00
- GPT-5.2 Pro $21.00/$168.00
- GPT-5.1 $1.25/$10.00
- GPT-5 $1.25/$10.00
- GPT-5 Mini $0.25/$2.00
- GPT-5 Nano $0.05/$0.40
- GPT-5 Pro $15.00/$120.00
- GPT-4.1 $2.00/$8.00
- GPT-4.1 Mini $0.40/$1.60
- GPT-4.1 Nano $0.10/$0.40
- o3 $2.00/$8.00
- o3-mini $1.10/$4.40
- o3-pro $20.00/$80.00
- o4-mini $1.10/$4.40
- GPT-4o $2.50/$10.00
- GPT-4o mini $0.15/$0.60
- GPT-4 Turbo $10.00/$30.00
- Gemini 3.1 Pro $2.00/$12.00
- Gemini 3 Flash $0.50/$3.00
- Gemini 3.1 Flash-Lite $0.25/$1.50
- Gemini 2.5 Pro $1.25/$10.00
- Gemini 2.5 Flash $0.30/$2.50
- Gemini 2.5 Flash-Lite $0.10/$0.40
- Llama 3.3 70B $0.88/$0.88
- Llama 3.1 405B $3.50/$3.50
- Llama 3.1 70B $0.59/$0.79
- Llama 3.1 8B $0.18/$0.18
- Mistral Large $2.00/$6.00
- DeepSeek V3 $0.27/$1.10
- DeepSeek V3.1 $0.60/$1.70
- DeepSeek R1 $3.00/$7.00
- Qwen 2.5 72B $0.90/$0.90
- Qwen 2.5 Coder 32B $0.80/$0.80
- Qwen3 Coder 480B $2.00/$2.00
- GLM-5.1 $1.40/$4.40