How to Load PDFs in Claude | Exporting Conversations Explained
The need to "work with PDFs in Claude" actually splits into two directions. One is loading a PDF into Claude to have it summarize, analyze, or translate the content; the other is turning a long Claude conversation into a PDF to save or share. Search results often mix these two together, yet they are covered in separate articles, making it easy to get lost. This article organizes both workflows in one place. Sources are the official Anthropic PDF support documentation and the Claude Support Center.
Claude's PDF support is an official feature — you can load a PDF simply by dragging it into the Claude.ai chat window. Via the API, there are three ways to pass a PDF: URL, Base64, and Files API, supporting up to 32 MB / 600 pages per request (100 pages for 200k-token context models).
For converting conversations to PDF, the two practical routes are the official Settings → Privacy → Export data feature and direct PDF export via Chrome extensions. Sources are the official Anthropic documentation and the Claude Support Center.
目次 (12)
- What Can You Do with Claude and PDF? (Two Directions)
- Loading a PDF into Claude (Claude.ai)
- Working with PDFs via the Claude API (Supported Models and Limits)
- Three Ways to Send a PDF via the API (URL / Base64 / Files API)
- URL Reference (Easiest)
- Base64 Encoding (For Local Files)
- Files API (For Reuse and Large Files)
- Processing Large Numbers of PDFs Efficiently (Prompt Caching and Batch API)
- Saving Claude Conversations as PDF (Official Export)
- Convert Conversations to PDF in One Click with a Chrome Extension
- Common Pitfalls When Working with PDFs and How to Avoid Them
- Summary
What Can You Do with Claude and PDF? (Two Directions)
Let's start by separating the two directions. On the "feed a PDF to Claude" side, typical use cases include analyzing charts in financial reports, extracting key points from contracts, assisting with translating academic papers, and converting content into structured data. Because Claude processes pages both as text and as images, it can handle graphs embedded in PDFs, scanned images, and complex layouts all at once.
On the "convert a Claude conversation to PDF" side, common needs include pasting a long discussion into an internal wiki, handing deliverables to a client, or making conversations searchable later. Claude.ai has an official data export feature, and separately, Chrome extensions provide instant PDF conversion. Each approach has its trade-offs, and the right choice depends on your use case.
Loading a PDF into Claude (Claude.ai)
The easiest method is to drag and drop a PDF directly into the chat window in Claude.ai (web or desktop app). Once the file is uploaded, Claude simultaneously analyzes the body text and images of each page, returning summaries, extractions, translations, and Q&A responses.
- Open Claude.ai and navigate to the desired conversation.
- Drag and drop the PDF file into the chat input field (or select it via the 📎 clip icon).
- Give an instruction such as "Summarize this PDF in 3 sentences" or "Convert the table on page 8 to Markdown."
- Reference specific pages as needed, e.g., "Explain Figure 2 on page 3."
Uploading is available on the Free plan, but page and size limits are stricter than on Pro and Max plans. For long academic papers or large reports, Pro or higher is the practical choice.
Working with PDFs via the Claude API (Supported Models and Limits)
The official documentation specifies the following limits when working via the API.
| Item | Limit |
|---|---|
| Maximum request size | 32 MB (additional limits may apply per platform) |
| Maximum pages | 600 pages (100 pages for 200k-token context models) |
| Format | Standard PDF without password or encryption |
| Supported models | All currently active models (Opus, Sonnet, Haiku series) |
One important caveat: the context window often fills up before the page limit is reached. Each page typically consumes 1,500–3,000 tokens, and pages with many charts or figures consume even more. It is safest to split large PDFs by chapter before sending (PDF support).
Supported platforms include the Claude API itself plus Claude Platform on AWS, Amazon Bedrock, Vertex AI, and Microsoft Foundry. On Bedrock's Converse API, visual analysis is disabled unless citations are explicitly enabled, falling back to text extraction only — a pitfall worth keeping in mind.
Three Ways to Send a PDF via the API (URL / Base64 / Files API)
There are three officially recommended methods for passing PDFs. Here is a summary of when to use each.
URL Reference (Easiest)
If the PDF is hosted at a public URL, specify it directly in a document block with type: "url".
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{"type": "document",
"source": {"type": "url",
"url": "https://example.com/report.pdf"}},
{"type": "text", "text": "Extract the 5 key points from this PDF"},
],
}],
)
print(message.content)
Base64 Encoding (For Local Files)
This method base64-encodes a local PDF and passes it in source.data. Request sizes can grow quickly, so it is best suited for files under 10 MB. The minimum configuration is: set source type to base64, media_type to application/pdf, and data to the base64 string.
import anthropic
import base64
client = anthropic.Anthropic()
# Load and base64-encode the local PDF
with open("document.pdf", "rb") as f:
pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{"type": "document",
"source": {"type": "base64",
"media_type": "application/pdf",
"data": pdf_data}},
{"type": "text", "text": "Extract the 5 key points from this PDF"},
],
}],
)
print(message.content)
Files API (For Reuse and Large Files)
Upload the PDF to /v1/files with the anthropic-beta: files-api-2025-04-14 header, then reference the returned file_id in source. This is useful for reducing latency when the same PDF is queried multiple times and for keeping request payloads small. The minimum configuration is: set source type to file and file_id to the ID received after upload.
import anthropic
client = anthropic.Anthropic()
# Upload the PDF first to obtain a file_id
with open("document.pdf", "rb") as f:
uploaded = client.beta.files.upload(
file=("document.pdf", f, "application/pdf"))
message = client.beta.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
betas=["files-api-2025-04-14"],
messages=[{
"role": "user",
"content": [
{"type": "document",
"source": {"type": "file",
"file_id": uploaded.id}},
{"type": "text", "text": "Extract the 5 key points from this PDF"},
],
}],
)
print(message.content)
Processing Large Numbers of PDFs Efficiently (Prompt Caching and Batch API)
Sending hundreds of pages every time leads to enormous input token charges. Anthropic provides two optimization features.
- Prompt Caching: Adding
cache_control: {"type": "ephemeral"}to the document block causes subsequent queries to the same PDF to be served from cache, significantly reducing input token charges. - Message Batches API: Submitting multiple requests together to
/v1/messages/batchesreturns results asynchronously within 24 hours at 50% of the standard rate. This is ideal for large-scale overnight PDF analysis.
In practice, combining Batch + Caching works well for tasks like "bulk review of 50 contracts" or "extracting differences across 20 companies' quarterly reports."
Saving Claude Conversations as PDF (Official Export)
Now for the other direction: converting conversations to PDF. The most reliable method is Claude's official data export feature.
- In Claude.ai or Claude Desktop, click your initials (avatar) in the lower left.
- Select Settings from the menu.
- Open Privacy in the left sidebar.
- Click the Export data button.
Once processing is complete, a download link is sent to your registered email address. The link expires in 24 hours, and signing in is required to download. The output includes conversation data and account information (source: Claude Support Center 9450526).
There are two caveats. First, data migration between accounts is not supported (you cannot import into a different account). Second, the official export arrives in JSON format, which is not easy to read in a PDF viewer as-is. If you want to read it as a PDF, combining it with the Chrome extension described below is the faster approach.
Convert Conversations to PDF in One Click with a Chrome Extension
If you do not want to wait for the official export and just need an immediate PDF of the current conversation, a Chrome extension is convenient. Notable options include AI Chat Exporter (Claude Exporter) and Claude Exporter: Claude Chat to PDF, Notion, Word, and more. The workflow is the same for both.
- Add the extension from the Chrome Web Store.
- Open claude.ai and display the conversation you want to export.
- Click the extension icon in the toolbar.
- Select Export → PDF and the file will download.
Even on the free tier, PDF export is typically limited to 3 times per day, while Markdown, text, CSV, and JSON exports are generally unlimited. PDF is the right choice for sharing externally or archiving; Markdown is better for internal copy-paste and reuse.
Note that these extensions are not official Anthropic products, so be sure to review each extension's privacy policy before using them with sensitive conversations.
Common Pitfalls When Working with PDFs and How to Avoid Them
Finally, here are five points where things commonly go wrong in practice.
- The token limit hits before the page limit: PDFs with many charts can exceed 3,000 tokens per page. Even with the Sonnet series' 200k context, 60–80 pages is a realistic ceiling.
- Scanned PDFs are poor at text extraction: For files that mix vector PDFs and image-based PDFs, either run OCR beforehand or send them with the expectation that Claude's vision capabilities will handle them.
- Base64 size inflation: Base64-encoding a local PDF increases its size by roughly 1.33x. A 10 MB PDF becomes a 13 MB request, so use the Files API for larger files.
- The citations trap (Bedrock): If chart analysis is not working in the Converse API, enable citations.
- Garbled Japanese and page breaks in conversation PDFs: When converting long conversations to PDF with a Chrome extension, code blocks may be cut at page breaks and Japanese fonts may render incorrectly. It is safer to export as Markdown and then convert to PDF via Notion or Word.
Summary
"Claude to PDF" involves completely different operations depending on whether you are loading a PDF or producing one. For loading, the choice is between drag-and-drop in Claude.ai or one of the three API methods (URL, Base64, Files API), with a limit of 32 MB / 600 pages; cost-optimize long documents with Prompt Caching and Batch API. For exporting, there are two routes — the official Settings → Privacy → Export data feature and Chrome extensions — with the right choice depending on your use case and the sensitivity of the content. Mastering both sides sets you up to use Claude as a central hub for business documents.