Scanned PDF OCR to Markdown: route only the pages that need vision
A scanned PDF is a set of page images, not searchable text. The efficient workflow is to inspect the text layer first, render image-only pages locally, use OCR only where needed, and verify low-confidence output against the source.
Short answer: Try selecting and searching a visible sentence before using OCR. If no usable text layer exists, render the page and run OCR. If text is selectable, use text conversion first; OCR is slower, costs more, and can introduce character errors.
How to tell whether a PDF needs OCR
- Search for a distinctive word you can see on the page.
- Drag across one sentence and check whether the selection follows characters.
- Zoom in: fuzzy letters and uniform compression artifacts often indicate a page image.
- Check more than page one; appendices and signed exhibits may be scanned inside an otherwise digital PDF.
PDF.js exposes page rendering and text-content APIs. pdfmd uses those browser-side signals to choose a route. The test is practical, not infallible: a broken character map can produce selectable text that is still unusable, and a mixed document may need page-level review.
What OCR can and cannot recover
| Signal | Usually recoverable | Common failure |
|---|---|---|
| Clear printed paragraph | Text and paragraph breaks | Hyphenation or character confusion |
| Two-column scan | Most text | Interleaved reading order |
| Handwritten annotation | Legible words | Names, symbols, and short marks |
| Dense table or formula | Some labels and values | Cell relationships and notation |
Tagged PDF can carry intended reading order and semantic structures, but a scan usually has no tag tree to reuse. OCR must infer structure from pixels, so headings, columns, lists, and tables remain hypotheses until a reader checks them.
The pdfmd scanned-PDF route
- The browser inspects the document before upload and determines whether it has a usable text layer.
- A fully scanned PDF is rendered into page images in the browser.
- Rendered pages are sent through Cloudflare to Moondream 3.1 OCR after server-validated sign-in and balance checks.
- A completed OCR page costs 4 points; a failed conversion costs 0 points.
- Results are not saved automatically, so download the Markdown before leaving.
Official sources and evidence boundary
These links support format and platform behavior. pdfmd processing and point costs are governed by this site's pricing and privacy pages.
Keep the review checklist
Download the Markdown checklist and reuse it next time. Export-format changes are recorded in the public changelog.
Frequently asked questions
Does every PDF need OCR?
No. Searchable text PDFs should use text conversion first. OCR is for image-only pages or unusable text maps.
Can one PDF contain both text and scanned pages?
Yes. Contracts and reports often contain scanned signatures or exhibits. Check beyond the first page and review those sections separately.
Why does OCR scramble two columns?
A scanned page provides pixels, not an explicit reading order. The model has to infer which column comes first.
What does scanned PDF OCR cost?
Each successfully completed OCR page uses 4 page points. A failed conversion uses 0 points.
Test the route on a real scan
Use the diagnostic checks before paying for OCR. After that value is clear, sign in with Google and use page points to process the scan.