Attach the PDF with the paperclip in the message box, then ask for a shape — overview, decisions, numbers, open questions — instead of the word “summary”. Three steps produce a page you can use; the fourth is the one that keeps it honest.
1. Attach the PDF
Click the paperclip and pick the file, or drag it onto the message box. OpenAI’s file uploads FAQ sets the hard caps on what goes in:
| What you upload | Hard cap |
|---|---|
| Any single file | 512 MB |
| A text or document file | 2M tokens |
| An image | 20 MB |
| A spreadsheet or CSV | roughly 50 MB |
Upload rate limits and Library storage differ by plan, so the same PDF can go through on one account and hit a wall on another.
2. Ask for structure, not “a summary”
Summarize this PDF as:
- a 3-sentence overview
- the 5 findings or decisions that matter, as bullets
- every number, date and named party, with the page it came from
- 2 questions the document leaves open
Use only the document. Where it does not say, write "not stated".
What it does: pins the output shape and gives the model a way out of inventing detail — “not stated” is a cheaper answer for it than a plausible number.
3. Drill into one section
Expand bullet 3. Quote the two sentences it rests on, with their page numbers.
What it does: turns a claim back into source text, which is the only part you can check.
4. Check it against the file
Open the PDF at two of the pages it cited and read the lines it quoted. Two failures surface here: page references that stop early, meaning it worked from the front of the file rather than all of it, and quotes that appear nowhere in the document — a hallucination wearing a citation.
When the file is unreadable or too big
The common failure is a scanned PDF with no text layer. The reply comes back vague and generic, or the model says it cannot read the file. Run OCR over it first, then upload again.
Past the token cap, split the document into roughly 40-page parts, summarize each part, then summarize the summaries — chunking by hand, because the whole file will not sit in the context window at once.
Doing this weekly, or on documents you would rather not upload at all? Summarizing PDFs locally with Ollama keeps the file on your machine, and sending PDFs to the Claude API does the same job inside a script.