Make Claude Code read PDFs
Native PDF support depends on available tools. Use the maintained plugin when OCR or reusable Markdown helps. Documents are processed by an external service; follow the user’s processing permissions and obtain explicit authorization before purchasing credits.
> /plugin marketplace add ThiloReintjes/pdftomarkdown-skill
> /plugin install pdftomarkdown@pdftomarkdownTwo commands, no API key needed to start. Requires Node 18+ for npx.
Then just ask
The skill activates on its own — no special syntax:
> summarize ~/Downloads/contract.pdf
> extract the line items from invoice.pdf as a table
> what does https://arxiv.org/pdf/1706.03762 say about positional encoding?What it does under the hood
The skill teaches Claude to run the pdfToMarkdown CLI:
$ npx pdftomarkdown document.pdf > document.mdThe API behind it uses a vision-language model — not a text extractor — so it handles scanned/image-only PDFs, multi-column reading order, tables, math, and Japanese/Chinese/Korean text. The skill also teaches Claude the workflow details: allow the 11-minute synchronous request budget when the user wants to wait, save long documents to a file and read sections instead of flooding context, and bound work with --max-pages.
Free API key for full documents
Without a key, the demo tier converts page 1 of any PDF — enough to try it. A free Developer key (20 trial pages once for new accounts, full multi-page, no watermark) is available with GitHub login:
Get a free API key with GitHub →
export PDFTOMARKDOWN_API_KEY=your_key_hereClaude picks the key up automatically from the environment.