PDF token limits by AI model: a practical reference (2026)
Context windows, page estimates, tokenizer differences, and a practical rule for when to chunk versus send the full file.
Every time you send a PDF to an AI model, you are working inside a token budget. Go over the limit and the model either refuses the input or quietly drops content. The tricky part: each model family has a different ceiling, and those ceilings keep changing as providers ship updates.
This post is a living reference. Numbers here reflect what is available as of mid-2026.
Current context windows (mid-2026)
| Model | Context window | Approx. dense PDF pages |
|---|---|---|
| GPT-3.5-turbo | 16 385 tokens | 30 to 60 |
| GPT-4o | 128 000 tokens | 250 to 500 |
| GPT-4o-mini | 128 000 tokens | 250 to 500 |
| Claude 3.5 Sonnet | 200 000 tokens | 400 to 800 |
| Claude 3.5 Haiku | 200 000 tokens | 400 to 800 |
| Gemini 1.5 Pro | 1 000 000 tokens | 2 000 to 4 000 |
| Gemini 1.5 Flash | 1 000 000 tokens | 2 000 to 4 000 |
| Llama 3.1 (405B) | 128 000 tokens | 250 to 500 |
| Mistral Large | 128 000 tokens | 250 to 500 |
The "dense PDF pages" column assumes roughly 500 tokens per page of technical text. Lighter documents can be closer to 250 tokens per page. The only reliable way to know is to measure.
Why these numbers are not what you can actually use
The context window is shared between input and output. If the model needs 2 000 tokens for its response, you effectively have 2 000 fewer tokens for your document. System prompts, conversation history, and tool calls all eat into the budget too.
A safe planning rule: assume you can use about 80% of the stated window for your document. For a 128k window, plan for roughly 100k tokens of actual PDF content.
Tokenizer differences across models
OpenAI uses cl100k_base (GPT-4 family) or o200k_base (GPT-4o). Claude uses a different BPE vocabulary. Gemini uses SentencePiece. In practice, the differences are usually within 5 to 15% for English text.
Non-English text can vary more. Portuguese and German often tokenize 20 to 40% heavier than English in OpenAI models due to vocabulary coverage. If your PDFs are not in English, measuring is even more important than estimating.
When to chunk versus when to send the full file
If your document fits comfortably within 80% of the context window, send it whole. Chunking introduces boundary problems and makes retrieval more complex.
If it does not fit, or if you are building a retrieval system that needs to serve many documents, chunk into segments sized for your embedding model (typically 256 to 1024 tokens per chunk).
Measure before you commit to a strategy
Run your actual PDF through a token counter before choosing a workflow. What looks like a 40-page document can easily be 25 000 tokens if it has dense tables, legal boilerplate, or non-English text.
If chunking is needed, the PDF Chunker splits with overlap and exports structured output directly from the browser.