Plain-English Explainer
Can Claude Read My File? What Formats Work and What Doesn't
A PDF isn't a PDF once it's inside a context window.
You dragged a file into Claude and got either a great answer or a weirdly confident wrong one. This page explains what Claude can actually open, what happens to a document once it's uploaded, and how to ask questions that keep the answer anchored to the real text instead of a guess.
Claude can read files you attach directly in a chat or add to a Project's knowledge base. It handles PDFs (including scanned pages, since Claude has vision), plain text, Markdown, CSV, code files, and in Claude.ai, Word, Excel, and PowerPoint files, which get converted to text before Claude ever sees them. Every file counts against the conversation's context window, so very long documents can run out of room, and layout elements like tables, footnotes, and multi-column pages don't always carry over cleanly. Asking Claude to quote the source, rather than just summarize it, is the simplest way to catch when something got lost.
Published
Key Takeaways
- Claude reads uploaded files as text extracted from the file, not as the original file. Formatting, layout, and embedded objects can get lost in that conversion.
- Scanned and image-based PDFs work because Claude has vision and can read text in images, but handwriting and low-quality scans are much less reliable than typed text.
- Office files (Word, Excel, PowerPoint) are converted to plain text or markdown-like text before Claude processes them, so formulas, macros, and complex formatting don't survive the trip.
- A file still has to fit inside the conversation's context window. Past a certain length, Claude may not see the whole document, even if the upload itself succeeds.
- Asking Claude to quote the exact source text, rather than just summarize, is the fastest way to tell whether an answer is grounded in the file or filled in from a guess.
- A one-off chat upload and a Project's knowledge base behave differently: one disappears with the conversation, the other persists across every chat in that Project.
What happens to each file type once you upload it
| File type | How Claude actually reads it | Where it tends to go wrong |
|---|---|---|
| Typed PDF | Text is extracted directly, preserving most of the reading order. | Multi-column layouts, footnotes, and sidebars can get interleaved out of order. |
| Scanned or photographed PDF | Claude's vision reads the page as an image, similar to looking at a photo of text. | Low-resolution scans, skewed pages, and handwriting drop accuracy noticeably. |
| Images (screenshots, photos, diagrams) | Read natively as images, including text within the image and visual layout. | Dense charts and small embedded labels are easy to misread at low resolution. |
| Word documents | Converted to plain text before Claude sees it, keeping headings and paragraph structure. | Tracked changes, comments, and complex tables often don't survive the conversion. |
| Excel / spreadsheets | Converted to a text representation of the cell values, not the live spreadsheet. | Formulas become static numbers; Claude sees the result, not the calculation. |
| CSV / plain text / Markdown | Read as-is, with the most reliable fidelity of any format. | Very large files can still exceed what fits in the conversation's context. |
| Code files | Read as plain text, with Claude applying its understanding of the language's syntax. | Files split across many imports or modules lose context if only one file is uploaded. |
Copy and Paste
Prompts You Can Use Today
Ground answers in the exact text
Before answering, quote the exact sentence or section from the attached file that supports your answer, then explain what it means in plain language. If the information isn't actually in the file, tell me that directly instead of guessing or filling in a plausible-sounding answer.
This single instruction catches most hallucinated-from-a-document answers before they happen.
Summarize a long document before diving in
Read through the attached document and give me a one-paragraph overview of what it covers, followed by a bullet list of the five most important sections or claims, each one labeled with the page number or heading it came from so I can go check it myself.
Do this first with anything over a few dozen pages, before asking detailed questions.
Check whether Claude actually saw the whole file
Tell me how many pages or distinct sections you were able to read from the attached file, and quote the heading or first few words of the very last section you processed, so I can confirm nothing got cut off partway through the document.
If the last section it names isn't actually the end of your document, the file got truncated.
Extract structured data from a messy PDF
Pull every invoice number, date, and total amount from the attached PDF into a markdown table with three columns: invoice number, date, and total. Flag any row where the total looks inconsistent with the line items printed above it, and leave the cell blank instead of guessing if a number is unreadable.
Works well for scanned invoices, receipts, and forms with a consistent layout.
Compare two uploaded files clause by clause
Compare the two attached contracts clause by clause and list every place where the wording differs in a way that changes who is liable for what or when a payment is due. Skip differences that are purely stylistic, like word choice or formatting, and only report substantive changes.
Upload both files in the same message so Claude can reference them side by side.
Force Claude to work from a spreadsheet instead of estimating
Using only the numbers present in the attached spreadsheet, calculate the month-over-month percentage change in revenue for each row. If any cell is blank, unreadable, or formatted in a way you can't parse, say so explicitly for that row rather than filling in an estimated number.
Spreadsheets are converted to text, so formulas don't recalculate; ask for the math explicitly.
Formats
What Claude Can Actually Open
Claude doesn't run your file through its native application the way your computer does. It converts the file to text (or reads it as an image, for visual formats), and that conversion is where most surprises happen.
PDFs, both typed and scanned
Typed PDFs convert cleanly to text. Scanned PDFs are read using Claude's vision, the same way it reads a photo, so quality depends on scan resolution and how straight the page sits.
Images, screenshots, and diagrams
Claude can read text inside an image and describe what's in a photo or diagram. This is genuinely useful for screenshots of error messages, whiteboard photos, and charts.
Word, Excel, and PowerPoint
On Claude.ai, these are converted to text or a text-like representation before Claude processes them. The content survives; the formatting, formulas, and animations don't.
Code and plain text files
The most reliable category. Code, Markdown, CSV, and plain text files are read exactly as written, with no lossy conversion step in between.
What doesn't work
Password-protected files, proprietary CAD or design formats, video, and most audio aren't readable as uploads. Zipped folders may need to be extracted first depending on the surface you're using.
Under the hood
Why a 300-Page Report Doesn't Always Fit
A file upload isn't a separate storage system that Claude can dip into whenever it needs to. Once you attach a file, its contents are converted to text and placed into the same conversation context that holds your messages and Claude's replies. That context has a finite size, and the uploaded document is competing for space with everything else in the chat.
This matters most with long documents: dense legal contracts, full research papers, exported chat logs, or anything running into the hundreds of pages. If a document is short enough to fit comfortably, Claude reads all of it and you won't notice any of this happening. If a document is pushing against the edge of what fits, two things can happen depending on the surface you're using: the file gets truncated and Claude only sees part of it, or the interface tells you the file is too large to attach at all.
The practical problem is that truncation can be silent. Claude will often answer fluently from the portion of the document it did see, without flagging that the back half never made it in. That's not Claude being careless so much as it genuinely not knowing what it didn't receive. The fix isn't complicated: ask it directly. A prompt like 'tell me the last section you were able to read' turns an invisible failure mode into a visible one, because if Claude names your document's third chapter as the end when you know there are nine chapters, you've just learned the upload was cut short.
For documents you expect to be long, splitting the file into logical chunks before uploading, by chapter, by date range, or by section, and asking targeted questions about each chunk tends to produce more reliable answers than hoping one upload captures everything.
Common failure points
Formats That Trip People Up
Most upload frustration traces back to one of these five patterns, not to Claude being unable to read in general.
Scanned forms with tight layouts
Tables with small print, checkboxes, and multi-column government or insurance forms are harder for vision to parse accurately than a plain paragraph of text.
Handwriting
Claude can attempt handwritten text, but accuracy drops sharply compared to typed text, especially with cursive or inconsistent handwriting.
Spreadsheets with live formulas
You'll get the numbers that were showing when the file was saved, not a recalculating spreadsheet. If a cell depended on external data, that link is gone.
Dense charts and infographics
A chart with many thin, closely spaced lines or tiny axis labels is genuinely hard to read accurately as an image, for the same reason it's hard for a human squinting at a small screenshot.
Password-protected or encrypted files
These generally need to be unlocked before upload. There's no way for Claude to open a file it can't decrypt.
Technique
How to Ask Questions That Stay Grounded in the File
The single most useful habit when working with an uploaded file is asking Claude to quote before it concludes. Instead of 'what does this contract say about termination,' try 'quote the exact sentence about termination, then explain it.' This does two things: it forces Claude to point to something verifiable in the source rather than paraphrase from memory of similar contracts it's seen during training, and it gives you an immediate way to check the answer yourself by searching for that quote in the original document.
A second habit is front-loading a summary pass before asking detailed questions, especially on long documents. Ask for an overview and a list of the major sections with their locations first. This serves as a sanity check: if the summary misses an entire section you know exists, you've caught a truncation problem before it corrupts every answer that follows.
Third, when working with numbers, formulas, or anything that requires calculation, tell Claude explicitly to work only from what's in the file and to flag anything unreadable rather than filling in a plausible guess. Converted spreadsheets sometimes have cells that come through as blank, garbled, or ambiguous, and a model that's trying to be helpful can paper over that gap with an estimate that looks exactly like real data. Explicit instructions to flag uncertainty instead of resolving it quietly make that failure mode visible.
Finally, if you're comparing multiple files, upload them in the same message or the same conversation turn rather than spacing them across separate messages. Claude can reference files it has already seen earlier in a conversation, but giving it both documents together, with an explicit instruction to compare them against each other, produces more consistent cross-referencing than asking about document A, moving on, then asking about document B much later.
Where you're working
One-off Chat Upload vs. Claude Projects
The same file behaves differently depending on whether you drop it into a single chat or add it to a Project's knowledge base.
A file dropped into one chat
It's available for that conversation only. Once you start a new chat, that file is gone unless you upload it again, and Claude has no memory of having seen it.
A file added to a Project's knowledge base
It persists across every conversation inside that Project, so you don't have to re-upload reference material every time you want to ask something related to it.
When to use which
One-off uploads are right for a single question about a single document. Projects are right for ongoing work against the same set of reference material, like a style guide, a codebase, or a set of policies you'll be referring back to repeatedly.
Beyond chat uploads
Claude Code Reads Files Differently
Everything above describes dropping a file into a chat window on Claude.ai or through the API as an attachment. Claude Code, Anthropic's command-line coding tool, works differently: it reads files directly from your project's filesystem on request, rather than requiring you to attach them manually. You ask it to look at a file, and it opens the actual file on disk, which means there's no conversion step for code files the way there is for a Word document or spreadsheet, because code was already plain text to begin with.
This distinction matters if you're deciding where to do a particular task. Reading and reasoning about a single document, a contract, a research paper, a scanned form, belongs in a regular Claude.ai chat or Project, where the attachment model is built around exactly that. Reading and modifying many interrelated files in a codebase belongs in Claude Code, where file access is native rather than something you attach piece by piece.
Reading about file uploads and using them well are different skills
Knowing that Claude converts a PDF to text doesn't automatically make your next contract review or data extraction go smoothly. The free Nightschool AI curriculum walks through real uploads, real documents, and the specific phrasing that keeps Claude's answers grounded, from the very first lesson.
Frequently Asked Questions
Can Claude read scanned PDFs or photos of documents?
Yes. Claude has vision, so it can read text inside a scanned PDF or a photo the same way it reads a photo of anything else. Quality depends heavily on resolution, how straight the page is, and whether the text is typed rather than handwritten. A crisp, well-lit scan of typed text works reliably; a blurry phone photo of handwriting is much less reliable.
What file formats can't Claude open?
Password-protected or encrypted files need to be unlocked before upload. Proprietary design and CAD formats, most video, and most audio aren't readable as direct uploads. Zipped folders may need to be extracted first depending on which Claude surface you're using, since the upload dialog is generally expecting individual files.
Does Claude keep my uploaded file after the conversation ends?
A file attached to a single chat is only available within that chat. Starting a new conversation means re-uploading it if you want Claude to reference it again. Files added to a Project's knowledge base persist across every conversation inside that Project instead, so you don't have to keep re-uploading the same reference material.
Why did Claude give me a confident answer that turned out to be wrong about my file?
The most common cause is the document exceeding what fits in the conversation's context, so Claude only actually saw part of it but answered fluently anyway without flagging the gap. Asking it to quote the exact source text, or to name the last section it read, surfaces this problem immediately instead of letting it hide inside a plausible-sounding answer.
Can Claude read formulas in an Excel file?
No. Excel files are converted to a text representation of the cell values before Claude processes them, which means it sees the numbers that were showing when the file was saved, not a live, recalculating spreadsheet. If a cell depended on a formula referencing other cells, Claude sees only the result, not the underlying calculation.
Is there a limit to how many files I can upload at once?
Yes, Claude.ai caps how many files you can attach to a single message, and that cap can change over time, so check the upload interface itself rather than relying on a remembered number. For comparing several documents, it's generally more reliable to upload them together in one message with an explicit instruction to compare them, rather than spreading them across separate messages.
What's the difference between pasting text and uploading a file?
Pasting text puts the content directly into the conversation with no conversion step, which is the most reliable option for short text. Uploading a file is more convenient for longer documents or non-text formats like PDFs and images, but it introduces a conversion step where formatting, tables, and layout can get altered or lost depending on the format.
Can Claude read a link to a document instead of an uploaded file?
This depends on the surface and the specific setup you're using; capability for fetching content from a URL has varied and isn't consistent across every context. Uploading the file directly is the more dependable approach if you need Claude to work from the exact content of a document.
Should I use a one-off upload or a Claude Project for my files?
Use a one-off upload for a single question about a single document you won't need again. Use a Claude Project's knowledge base when you're working repeatedly against the same reference material, like a policy document, a style guide, or research you'll keep coming back to, so you don't have to re-upload it in every new conversation.
Why does Claude sometimes get tables from my PDF wrong?
Tables are one of the harder layout elements to convert reliably, especially in multi-column PDFs where the reading order isn't strictly top to bottom. The text extraction can interleave columns or merge rows that were visually separate. Asking Claude to quote the specific row or cell it's referencing, rather than trusting a reformatted table it produces, is the safest way to catch this.
Stop guessing what Claude actually saw in your file
The fastest-growing skill in any AI workflow is knowing when to double-check the model, not just how to prompt it.