---
title: "ClaudeでPDFを読み込む方法｜上限1,000ページ・500MBとAPI・Claude Codeの手順"
url: "https://www.issoh.co.jp/tech/details/4332/"
published: 2024-11-27
updated: 2026-10-18
categories: ["Claude"]
publisher: "株式会社一創"
---

# ClaudeでPDFを読み込む方法｜上限1,000ページ・500MBとAPI・Claude Codeの手順

Claude（クロード）は、PDFの文字だけでなく図表・グラフ・スキャン画像まで読み取り、要約・翻訳・データ抽出ができます。ただし、入れる場所がclaude.aiのチャットか、APIか、Claude Codeかで上限も手順も変わります。2026年7月23日付の公式ヘルプでは、チャットの上限は1ファイル500MB・1,000ページと案内されており、以前の「30MB・約100ページまで」という説明とは数値が違います。この記事では3つの経路ごとの上限と手順、読み込めないときのエラー別の対処を、Anthropicの公式ドキュメントで確かめた数値で整理します。

## まとめ：ClaudeのPDF読み込みの上限と手順の要点

- **claude.aiのチャット**：1ファイル500MB・1チャット20ファイル・PDFは1,000ページまで。図表まで解析するのは100ページ以下で、101〜1,000ページは文字だけの処理になります。
- **プロジェクト**：ファイルは1つ30MBまでで、チャットとは別枠です。
- **API**：1リクエスト32MB・600ページ（コンテキストが100万トークン未満のモデルは100ページ）。base64・URL・Files APIの `file_id` の3方式で渡せ、ベータヘッダは不要です。
- **Claude Code**：10ページを超えるPDFは `pages` で範囲を指定して1回20ページまで読みます。範囲指定にはpopplerの `pdftoppm` が必要です。
- **読めないとき**：パスワード付き・暗号化PDFは不可。1,000ページ超は分割、図表が無視されるなら100ページ以下に分けます。
- **PDFの出力**：チャットの「コード実行とファイル作成」でPDFファイルを作れます。無料プランでも既定で有効です。

以下、経路ごとの上限の早見表から順に説明します。

## 3つの経路ごとのPDF上限の早見表

同じClaudeでも、上限は入口ごとに別々に決まっています。数値は2026年10月時点の公式ヘルプ[「Upload files to Claude」](https://support.claude.com/en/articles/8241126-upload-files-to-claude)と[PDF supportのドキュメント](https://platform.claude.com/docs/en/build-with-claude/pdf-support)によります。

| 経路               | サイズ上限      | ページ上限      | 図表の解析          |
| ---------------- | ---------- | ---------- | -------------- |
| claude.ai チャット   | 500MB／ファイル | 1,000ページ   | 100ページ以下のみ     |
| claude.ai プロジェクト | 30MB／ファイル  | コンテキスト内    | マルチモーダルPDFは例外  |
| Claude API       | 32MB／リクエスト | 600ページ     | あり             |
| Files API（保存）    | 500MB／ファイル | 参照時は600ページ | あり             |
| Amazon Bedrock   | 20MB／リクエスト | API形態で異なる  | 旧Converseは条件付き |
| Google Cloud     | 30MB／リクエスト | 600ページ     | あり             |
| Claude Code      | コンテキスト内    | 1回20ページ    | あり             |

APIの600ページはコンテキストウィンドウが100万トークンのモデルの値です。2026年10月時点の現行モデル（Fable 5.1・Opus 5.5・Sonnet 5.5・Haiku 5.5）はすべて100万トークンなので600ページが上限になります（[Models overview](https://platform.claude.com/docs/en/models/overview)）。BedrockとGoogle Cloudのリクエスト上限は[API overview](https://platform.claude.com/docs/en/api/overview)の注記にある値で、両者ともPDFはbase64でしか渡せません。プロジェクトの「原則テキスト抽出」は、ヘルプが「マルチモーダルPDFを除く」と注記しているものです。

## 図表まで読める仕組みと旧「Visual PDFs」

ClaudeはPDFの各ページを画像に変換し、ページから抽出したテキストと一緒に読みます。文字情報を持たないスキャンPDFやグラフの中の数値まで読めるのはこのためで、ビジョン（画像認識）と同じ制約を受けます。

「Visual PDFs」は、PDFの視覚要素を解析する機能の旧称です。Claudeアプリの公式リリースノートでは、視覚解析対応は2024年11月1日付で案内されています。APIのリリースノートでも同日に新しいClaude 3.5 Sonnet向けのPDF対応が追加されています。当時はclaude.aiの「Feature Preview」で有効にし、APIでは `anthropic-beta: pdfs-2024-09-25` ヘッダが必要でした。現在はPDF supportのページに「All active models support PDF processing」とあるとおり全モデルの標準機能で、有効化の操作はありません。

## claude.aiのチャットでPDFを読み込む手順

### 「+」ボタンからの添付とドラッグ＆ドロップ

チャット入力欄の左下にある「+」ボタンから「ファイルや写真を追加」を選び、PDFを指定します。ファイルをチャット画面へドラッグ＆ドロップしても添付できます。あとは「このPDFの3章を箇条書きで要約してください」のように指示するだけで、設定の変更は要りません。ヘルプのファイル上限はプラン別に分かれておらず、無料プランでも添付できます。

特定のページを指すときは、PDFビューアに表示されるページ番号で伝えます。紙面に印刷されたページ番号とずれる資料では、ヘルプもビューアの番号を使うよう案内しています。

### 100ページを境に図表の解析が止まる仕様

チャットに添付したPDFは、100ページ以下ならテキストと画像・グラフの両方を解析します。101〜1,000ページはテキストだけの処理になり、グラフの数値や図中の文字は読まれません。1,000ページを超えるPDFはアップロード自体ができず、「Uploaded file is too large」のエラーになります。

図表を読ませたい資料は、100ページ以下に分割してから添付するのが確実です。300ページの決算資料なら、グラフが集中する章だけを切り出して別に渡すと、本文は文字として、グラフは画像として読ませられます。

### プロジェクトに置くPDFの30MB上限

複数の会話で同じ資料を使い回すなら、プロジェクトの「Files」に置きます。ただし1ファイル30MBまでで、チャット添付の500MBとは別枠です。ファイル数に上限はありませんが、合計がコンテキストウィンドウに収まる必要があります。30MBを超える規程集やマニュアルは、章ごとに分けてから登録します。

## Claude APIでPDFを渡す実装（base64・URL・Files API）

APIでは `messages` の `document` ブロックにPDFを入れます。以下のコードは anthropic Python SDK 1.15.0 で、3方式ともリクエストがベータヘッダなしで組み立てられることを確認したものです。APIキーの取得と単価は[Anthropic API（Claude API）の料金とAPIキー取得方法](/tech/details/5893/)にまとめています。

### base64での送信とページ番号付きの出典

手元のファイルを送るならbase64です。`citations` を有効にすると、回答の根拠がどのページかを `page_location` で返します。

```
import base64
import anthropic

client = anthropic.Anthropic()  # 環境変数 ANTHROPIC_API_KEY を使う

with open("report.pdf", "rb") as f:
    pdf_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "document",
             "source": {"type": "base64", "media_type": "application/pdf", "data": pdf_b64},
             "citations": {"enabled": True}},
            {"type": "text", "text": "3ページ目の請求額を答え、根拠のページも示してください。"},
        ],
    }],
)
for block in message.content:
    if block.type != "text":
        continue
    print(block.text)
    for c in block.citations or []:
        print(c.start_page_number, c.end_page_number, c.cited_text)
```

`start_page_number` は1始まり、`end_page_number` は範囲に含まない終端です。3ページ目だけが根拠なら「3, 4」と返ります。[Citationsのドキュメント](https://platform.claude.com/docs/en/build-with-claude/citations)のとおり、PDF内の画像そのものは引用元として返らず、抽出できるテキストの無いスキャンPDFは引用の対象になりません。公開URLにあるPDFなら、`source` を `{"type": "url", "url": "https://..."}` に置き換えるだけで送れます。

### Files APIへのアップロードとfile\_idでの参照

同じPDFに何度も質問する場合や、base64にすると32MBを超えそうな場合は、[Files API](https://platform.claude.com/docs/en/build-with-claude/files)に一度上げて `file_id` で参照します。保存できるのは1ファイル500MB・組織あたり1TBまでです。Files APIはベータを終了しており、以前の `anthropic-beta: files-api-2025-04-14` ヘッダは不要です。

```
uploaded = client.files.upload(
    file=("report.pdf", open("report.pdf", "rb"), "application/pdf"),
)

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "document", "source": {"type": "file", "file_id": uploaded.id}},
            {"type": "text", "text": "この契約書の解約条件を条項番号付きで抜き出してください。"},
        ],
    }],
)
```

Files APIは保存の上限が500MBでも、参照したリクエストには600ページの上限がかかります。公式も「Files APIを使っていても、ページ上限の前に失敗することがある」と注意しています。

### 600ページと32MBの上限がかかる範囲

32MBと600ページは、PDF単体ではなく、同時に送るテキストや画像を含めたリクエスト全体にかかります。小さい文字が詰まったページや複雑な表・重い画像が多いPDFは、600ページに届く前にコンテキストを使い切ることがあります。その場合は章ごとに分割するか、各ページが画像として処理されることを踏まえて埋め込み画像を縮小します。リクエスト容量が32MBを超えると `413 request_too_large` が返ります。ページ数やコンテキストの上限超過とは区別してください。

### Amazon Bedrock・Google Cloudとの違い

BedrockとGoogle Cloud経由では、PDFはbase64でしか渡せず、URL指定とFiles APIは使えません。リクエスト上限もBedrockが20MB、Google Cloudが30MBと、Claude APIの32MBより小さくなります。BedrockのConverse API（Opus 4.6以前の旧来の提供形態）では、`citations` を有効にしないとテキスト抽出だけになり、3ページのPDFで約1,000トークンしか使わない代わりにグラフを読みません。視覚解析を有効にすると同じ3ページで約7,000トークンです。Bedrockでの呼び出し方は[Bedrock Claudeの使い方](/tech/details/17865/)で扱っています。

## PDF読み込みのトークン消費と料金の見積もり

PDFの料金は通常のトークン単価で計算され、PDF専用の追加料金はありません。消費は「抽出テキスト」と「ページ画像」の合計で、テキスト分は1ページあたり1,500〜3,000トークンが目安です。画像分は[vision](https://platform.claude.com/docs/en/build-with-claude/vision)と同じ計算で、28×28ピクセルを1トークンとして数えます（1000×1000ピクセルなら1,296トークン）。

100ページのPDFなら、テキスト分だけで15万〜30万トークンです。Opus 5.5の入力単価は100万トークンあたり4ドル、Sonnet 5.5は2ドルなので、テキスト分の入力だけで1回あたり0.6〜1.2ドル（Sonnet 5.5なら0.3〜0.6ドル）かかり、これに画像分が加わります。同じPDFに質問を重ねるならプロンプトキャッシュを使うと、キャッシュ読み取りはOpus 5.5・Sonnet 5.5で基本単価の5%になります。急がない大量処理はMessage Batches APIで50%引きです。正確な数は、送信前にトークンカウントAPIで測れます。

## Claude CodeでPDFを読み込む手順

[Claude Code](/tech/details/5571/)は、ファイルを読むReadツールでPDFをそのまま読みます。「`docs/spec.pdf` を読んで、この関数の入力仕様と合っているか確認してください」のようにパスを指定するだけです。

### 10ページ超のPDFのpages指定（1回20ページ）

[Claude Codeのツールリファレンス](https://code.claude.com/docs/en/tools-reference)によると、短いPDFは丸ごと読み、10ページを超えるPDFは `pages` パラメータで「1-5」のように範囲を指定して、1回20ページまで読みます。範囲指定の読み込みはpopplerの `pdftoppm` でページを画像化するため、popplerが入っていないと失敗します。200ページの仕様書なら、目次を先に読ませて必要な章のページ範囲を伝える方が、トークンも時間も節約できます。

### 「pdftoppm is not installed」が出たときのpoppler導入

Claude Code 2.1.302・macOS・poppler未導入の環境で試すと、15ページの軽いPDFはページ指定なしで全ページ読めました。一方、同じファイルを `pages: "1-3"` で読ませると、次のエラーで止まりました。

```
pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.
```

小さなPDFでは問題が出ず、長いPDFで範囲指定に切り替わった時点で初めて失敗するため、「短いPDFは読めたのに長いPDFだけ読めない」という症状になります。popplerを入れてからClaude Codeを再起動してください。

```
# macOS
brew install poppler
# Debian / Ubuntu
sudo apt-get install poppler-utils
# 確認
which pdftoppm
```

Windowsでは、`pdftoppm` が `PATH` に入るpopplerのビルドを導入します。

### 文字だけ欲しいときのテキスト化の前処理

図表が要らない契約書や仕様書なら、画像化せずにテキストへ変換してから読ませる方が、消費トークンを大きく減らせます。popplerに同梱の `pdftotext -layout spec.pdf spec.txt` で段組みを保ったまま書き出せます。Pythonで処理を組むなら[PyMuPDF（fitz）](/tech/details/4017/)が使えます。

## 目的別の指示の書き方（要約・翻訳・OCR・表のデータ化）

### 要約の範囲と出力形式の指定

「要約して」だけでは粒度が毎回ぶれます。「第3章だけを、見出し付きの箇条書き5項目で」のように範囲と形式を指定すると安定します。公式のベストプラクティスも、PDFを指示文より前に置くこと、ページはビューアの番号で指定することを挙げています。

### 章単位でのPDF翻訳の依頼

翻訳は、PDFを添付して「日本語に全訳してください。専門用語は初出だけ原語を括弧で併記してください」と指示します。1回の応答で出せるトークン数には上限があり（APIの現行モデルは同期呼び出しで12.8万トークン）、長い資料を一度に全訳させると途中で止まることがあります。「第1章から第2章まで」のように章単位で依頼し、各回の翻訳範囲を原文と照合してください。用語集を先に作らせてから各章を訳させると、章ごとの訳語の揺れも抑えられます。

### OCR代わりのスキャンPDFの読み取り

ページを画像として読むので、テキスト層のないスキャンPDFや写真から作ったPDFでも文字を読めます。読み取った内容を表に整える、要約まで一気に済ませるといった文脈を伴う処理はClaudeが向いています。大量の帳票を安く文字起こしするだけなら[Tesseract OCR](/tech/details/8204/)のような専用エンジンを候補にし、対象帳票で処理時間と文字認識精度を比較します。精度を詰めるなら[dots.mocr](/tech/details/11776/)のようなOCR特化モデルと役割を分けます。請求書や申込書の読み取りを業務に組み込む場合は、[AI-OCR導入支援](/service/ai/ocr/)で帳票の種類に合わせた構成を検討できます。

### 表・グラフの数値のCSV化

決算資料のグラフや表を構造化するなら、「この損益計算書の表を、行ラベルと数値を保ったままCSVで出力してください」と指示します。グラフから読んだ数値は目盛りからの推定を含むため、元データの表がPDF内にあればそちらを読ませます。APIの `citations` は抽出テキストの根拠ページを確認する機能です。画像として読んだグラフの数値は引用対象にならないため、原本と照合してください。抽出した数値をExcelで扱うなら[Claude for Excel](/tech/details/9993/)との併用も選択肢です。

## PDFが読み込めないときのエラー別の対処

読み込みの失敗は、エラー文と症状からほぼ原因を絞れます。

| エラー・症状                     | 原因                     | 対処             |
| -------------------------- | ---------------------- | -------------- |
| Uploaded file is too large | 1,000ページ超              | 1,000ページ以下に分割  |
| 図表を読まず文字だけ答える              | 101ページ以上               | 100ページ以下に分割    |
| 暗号化・パスワードで開けない             | 標準PDFでない               | 保護を解除して再保存     |
| チャットの長さ上限に達する              | コンテキスト超過               | 章単位に分割・新しいチャット |
| 413 request\_too\_large    | APIで32MB超              | Files APIか分割   |
| 上限内なのに失敗する                 | 高密度ページ・重い画像            | 分割・画像の縮小       |
| pdftoppm is not installed  | Claude Codeでpoppler未導入 | popplerを導入     |

パスワード付きPDFは、PDF supportの要件に「Standard PDF (no passwords/encryption)」とあるとおり、APIでもチャットでも受け付けません。閲覧用パスワードだけでなく印刷・編集の制限がかかったPDFも、制限を外して保存し直してから渡します。Bedrockで図表が無視される場合は、上で触れた旧Converse APIの `citations` を確認してください。

## ClaudeでPDFを作成・出力する方法

以前は「ClaudeはPDFを読めても出力はできない」とされていましたが、現在はチャットでPDFファイルを作れます。[ヘルプ「Create and edit files with Claude」](https://support.claude.com/en/articles/12111783-create-and-edit-files-with-claude)によると、「コード実行とファイル作成」は無料・Pro・Maxの全プランで使え、既定で有効です。オフになっている場合は、設定の「Capabilities」で切り替えます。Team・Enterpriseでは組織の管理者が無効にしている場合があります。

「この議事録をA4のPDFにしてください」と頼むと、Claudeがサンドボックスでコードを実行してファイルを作り、チャットからダウンロードできます。作成・ダウンロードできるファイルは1つ30MBまでです。同じヘルプは、30MBを超えるPDFはコンテキストに読み込まずにこの実行環境で処理できると説明しています。APIやClaude Codeで同じことをするなら、公式のpdfスキルが使えます。導入手順は[anthropic skillsとは？公式19スキルの中身](/tech/details/17908/)を参照してください。

## よくある質問

### ClaudeのPDF読み込みは何ページまで？

claude.aiのチャットは1,000ページまでで、図表まで解析するのは100ページ以下です。APIは1リクエスト600ページ（現行モデルの場合）、Claude Codeは10ページ超のPDFを1回20ページずつ読みます。

### 無料プランでもClaudeにPDFを読み込ませられますか？

読み込ませられます。ヘルプのファイル上限はプラン別に分かれておらず、無料プランでも1ファイル500MB・1,000ページまで添付できます。無料プランで制約になるのは、一定時間あたりに送れるメッセージの量です。

### Claude CodeでPDFが読めないのはなぜですか？

範囲指定時はpopplerの導入状況を確認してください。10ページを超えるPDFは範囲指定で読むため `pdftoppm` が必要で、無いと「pdftoppm is not installed」で止まります。`brew install poppler` などで導入し、Claude Codeを再起動してください。

### ClaudeでPDFファイルを出力できますか？

できます。チャットの「コード実行とファイル作成」が有効なら、「PDFで出力してください」と頼むとダウンロードできるPDFを作ります。作成できるファイルは1つ30MBまでです。

### スキャンしたPDFも読めますか？

claude.aiのチャットでは、100ページ以下なら各ページを画像として認識するため、テキスト層のないスキャンPDFも読み取れます。101ページ以上のスキャンPDFは、100ページ以下に分割してください。ただし手書き文字や低解像度の画像は読み違いが出るので、金額や日付は原本と照合してください。

## 関連記事

- [Claude Codeとは？できること・使い方・料金：コード解析の実力と導入手順【2026年版】](/tech/details/5571/)
- [Anthropic API（Claude API）の料金とAPIキー取得方法｜モデル別単価・無料枠・月額上限【2026年9月】](/tech/details/5893/)
- [Bedrock Claudeの使い方：Messages API・InvokeModel・Claude Codeの設定](/tech/details/17865/)
- [PyMuPDF（fitz）とは｜インストールから使い方・ライセンスまで解説【2026年版】](/tech/details/4017/)
- [Tesseract OCRの使い方｜インストール・日本語設定・コマンドとPython/C#連携【5.5.3対応】](/tech/details/8204/)

---

出典: [ClaudeでPDFを読み込む方法｜上限1,000ページ・500MBとAPI・Claude Codeの手順](<https://www.issoh.co.jp/tech/details/4332/>)（株式会社一創）
