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.
> /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:
> 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.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 →
export PDFTOMARKDOWN_API_KEY=your_key_here Claude picks the key up automatically from the environment.
Links
Plugin repository · CLI guide · API docs · Using Codex instead? · Using Cursor?