Make Claude Code read PDFs

Claude Code struggles with scanned PDFs, complex tables, and long documents that flood its context. This plugin converts any PDF to clean markdown with a GPU vision-language OCR model — automatically, whenever a task involves a PDF.

claude code
> /plugin marketplace add ThiloReintjes/pdftomarkdown-skill
> /plugin install pdftomarkdown@pdftomarkdown

Two commands, no API key needed to start. Requires Node 18+ for npx.

Then just ask

The skill activates on its own — no special syntax:

prompts
> 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:

terminal
$ npx pdftomarkdown document.pdf > document.md

The 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: wait for GPU OCR (10–30s per page), save long documents to a file and read sections instead of flooding context, and bound cost 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 (100 pages/month, full multi-page, no watermark) takes 30 seconds:

Get a free API key with GitHub →

shell profile
export PDFTOMARKDOWN_API_KEY=your_key_here

Claude picks the key up automatically from the environment.