TL;DR
Files you attach to Claude are not the same as text you paste. Claude extracts them into a separate layer, can reference them by filename across messages, and keeps Project files available in every chat in that Project. As of June 2026, a single chat upload is capped at 30 MB per file and 20 files per conversation; Claude does full text-and-visual analysis on PDFs under 100 pages and falls back to text-only above 1,000 pages. Put anything you reuse into a Project (file cap 30 MB each, effectively unlimited files because Claude switches to retrieval/RAG), reference files by exact name, and ask for quotes with page numbers so you can verify.
What “files” actually are in Claude
When you drop a PDF, spreadsheet, or contract into Claude, it does not get pasted into the message stream. Claude extracts the text (and, for PDFs under 100 pages, the visual layout, tables, and figures), then pulls the relevant chunks into context when your question needs them. Two consequences follow:
- The file does not re-consume your full context window on every message — only the pieces Claude retrieves for that query.
- You can name the file in a prompt and Claude will go fetch from it, even ten messages later.
This is why pasting the same 30-page PDF into ten separate chats is wasted effort. Upload it once to a Project and every chat in that Project can reach it.
Who this is for: anyone with PDFs, CSVs, contracts, transcripts, research papers, or style guides they reference more than once — and anyone who has uploaded a giant file and gotten vague, unsourced answers back.
The numbers that decide your workflow (as of June 2026)
| Limit | Claude chat upload | Claude Project knowledge |
|---|---|---|
| Max file size | 30 MB per file | 30 MB per file |
| Max files | 20 per conversation | Effectively unlimited (RAG kicks in) |
| PDF full visual analysis | Best under 100 pages | Same, per file |
| Large-PDF behavior | Text-only over ~1,000 pages | Retrieval pulls relevant sections |
| Image dimensions | Up to 8000 x 8000 px | — |
| Persistence | One chat only | Every chat in the Project |
Supported types include PDF, DOCX, XLSX (spreadsheets), CSV, TXT, MD, HTML, RTF, ODT, EPUB, and JSON for documents/data, plus JPEG, PNG, GIF, and WebP for images. The developer Files API is a separate path with a much higher 500 MB-per-file ceiling, but that is for code, not the chat UI. Always confirm current caps in Anthropic’s help center (Upload files to Claude), because these shift.
Why Projects feel “unlimited” but aren’t really
You can add far more than 20 files to a Project. Claude does not read all of them at once; once a Project grows past what fits in context, it switches to RAG (retrieval-augmented generation) and searches only the relevant sections per query. Anthropic states RAG for Projects is available on every plan (Free, Pro, Max, Team, Enterprise) and roughly multiplies effective storage. The trade-off: retrieval can miss a section that a full read would have caught, so for one critical document, keep it in a single chat (or a small Project) rather than burying it among hundreds of files.
Step by step
- Put reusable files in a Project, not a one-off chat. In the Project sidebar click Add content -> Files and drop them in. They persist across every conversation in that Project, so you never re-upload.
- Rename before you upload.
contract-vendor-a-2026.pdfbeatsFinal_v3 (1).pdf. Claude quotes the filename in answers, and you will reference it in prompts — readable names make both reliable. - For very long docs, ask in chunks. “Read pages 1-20 and give me the table of contents” beats “summarize this 200-page PDF.” Recall in the middle of a long document degrades quietly, and chunking keeps each answer checkable.
- Reference the exact filename in your prompt. “In
contract-vendor-a-2026.pdf, find the termination clause and quote it” is far more reliable than “find the termination clause,” especially with several files attached. - Demand quotes with page or section numbers for anything that matters: “Quote the relevant passage and give the page or section header.” This turns Claude from a confident paraphraser into a citation-aware reader you can audit.
- Keep the source of truth elsewhere. For files you will edit, the canonical copy lives in Drive or Git; the Project copy is a working snapshot. Rotate stale files out quarterly so old drafts don’t contaminate answers about current ones.
A 10-minute first run
- Create a Project called “PDF practice” and upload one paper or contract you have already read — you want a document where you can spot a hallucination instantly.
- Ask: “Describe this file’s structure — sections, length, and any tables or figures. Do not summarize the content yet.” This tells you whether extraction worked before you trust any answer.
- Drill in: “Quote the key claim in section 3 and the supporting evidence.” Check it against your own reading.
- Open a second chat inside the same Project and confirm the file is still available with no re-upload. That cross-chat persistence is the whole point of Projects.
How to verify Claude actually read the file
- Did the answer cite the real filename, section, or page — or did it paraphrase generically? Generic answers usually mean it never retrieved the chunk you cared about.
- Spot-check three quoted passages against the source. Both OCR errors and hallucinations surface here; scanned PDFs in particular can return garbled text.
- On huge uploads, watch the context indicator. When it is near full, recall drift increases — see Claude long-context unstable.
- Check scope: if you asked about file A and the answer blended in file B, re-ask with explicit filename anchors.
FAQ
Can Claude read scanned PDFs? Yes, through OCR, and it analyzes visual layout for PDFs under 100 pages. Quality drops on dense or low-resolution scans, so spot-check any quoted passage.
What about Excel and CSV? Claude answers questions over spreadsheets and can output structured Markdown or CSV back. XLSX analysis may rely on the code-execution tool; either way, hand-verify totals on numbers that matter.
Does the file count against my context on every message? No. Claude retrieves only the relevant chunks per query, so context fills based on how much it pulls — not the full file size each turn.
Are Project files private? They are private to the Project, but anyone with access to that Project can see them. Don’t share a Project that holds sensitive documents.
What’s the actual size limit? As of June 2026, 30 MB per file in both chat and Projects, 20 files per chat, and best PDF analysis under 100 pages. The developer Files API allows up to 500 MB per file. Re-check Anthropic’s help center quarterly, as these change.
My PDF is bigger than 30 MB or 100 pages — what do I do? Split it (by chapter or page range), compress images, or convert to text/Markdown before upload. For very large corpora, load files into a Project and let RAG retrieve, or use the Files API in code.
Common mistakes
- Re-uploading the same file into every chat instead of using a Project — wastes time and breaks the cross-chat reference habit.
- Asking Claude to “summarize this” without naming which file, so it blends multiple sources.
- Dropping one giant file and asking a single broad question — mid-document recall degrades silently (Claude long-context unstable).
- Trusting unsourced claims instead of re-asking for the exact passage and page.
- Leaving stale files in a Project for months, so old contracts muddy questions about current ones.
- Treating OCR as perfect — heavily scanned PDFs can return garbled passages, so sanity-check.