Guide · Last reviewed July 2026

The best PDF → Markdown tools, honestly.

There is no single best PDF-to-Markdown tool — there's a best tool for your document type. The short version: text-layer PDFs (anything with selectable text) want deterministic extraction; scans want OCR or a vision model. We build marklipi, and this guide says plainly where it is the wrong choice.

All seven at a glance

Tool Type Handles scans (OCR) Best for
marklipi Hosted API (keyless) No — rejects scans with a clean 422 Digital-native PDFs in agent/RAG pipelines
Marker Open-source library Yes Papers, books, scans; offline use
Docling Open-source library (IBM) Yes Enterprise document pipelines, mixed formats
pymupdf4llm Open-source library No Fast local text-layer extraction in Python
LlamaParse Hosted GenAI parser Yes Complex layouts and mixed-format corpora
unstructured.io Hosted platform + OSS library Yes Enterprise ETL across many document types
Jina Reader Hosted API (URL-based) Partial Turning public URLs into LLM-ready text

The tools, reviewed

marklipi — Hosted API (keyless)

Our tool, so judge accordingly — but the positioning is deliberately narrow. marklipi does deterministic text-layer extraction over one keyless HTTP request: PDF in, Markdown out as JSON, files processed in memory and never stored. No OCR, no vision model, so scans are rejected with a 422 rather than guessed at. If your documents are statements, contracts, invoices, or filings, it's the simplest option on this list; if they're scans, it's the wrong tool and one of the others below is the right one.

Marker — Open-source library

The best-known open-source converter, using deep-learning layout models plus OCR. Output quality on scientific papers and books is excellent, and everything runs on your hardware — ideal for air-gapped or compliance-bound work. The costs are operational: a Python ML environment, model weights, ideally a GPU, and a license whose commercial terms are worth reading for company use.

Docling — Open-source library (IBM)

IBM's open-source document toolkit converts PDFs and Office formats with strong layout and table models, and integrates cleanly with LangChain and LlamaIndex. A solid self-hosted choice for enterprise RAG. Like Marker, it's a real ML dependency to operate rather than a single call.

pymupdf4llm — Open-source library

A thin layer over PyMuPDF that outputs LLM-friendly Markdown. Very fast, no ML models, great when you want local extraction inside a Python codebase. It's the closest open-source analogue to marklipi's approach — the trade is managing the dependency (and PyMuPDF's AGPL/commercial licensing) versus calling an API.

LlamaParse — Hosted GenAI parser

LlamaIndex's parsing service uses GenAI models to handle complex layouts, scans, and many file formats, with first-class LlamaIndex integration. Powerful when documents genuinely need model-based parsing; for plain text-layer PDFs it's heavier than necessary — credit-metered, account-gated, and non-deterministic where a text read would be exact.

unstructured.io — Hosted platform + OSS library

Positions as full document ETL: partitioning, chunking, and connectors across dozens of formats, available as both a hosted platform and an open-source library. The right call when you need a whole ingestion pipeline; oversized when you need one format converted well.

Jina Reader — Hosted API (URL-based)

Prefix a public URL with r.jina.ai and get clean, LLM-ready text back — a genuinely great developer experience for web content. The model is URL-in, though: for private local PDFs (statements, contracts) an upload-based API fits better, which is the main practical difference from marklipi.

How to choose in 30 seconds

  • Digital-native PDFs, want an API: marklipi — keyless, deterministic, free tier. vs LlamaParse · vs Marker
  • Digital-native PDFs, want local Python: pymupdf4llm.
  • Scans, papers, or books, self-hosted: Marker or Docling.
  • Mixed formats or complex layouts, hosted: LlamaParse or unstructured.io.
  • Public web pages rather than files: Jina Reader.
  • Not sure if your PDF needs OCR? Here's how to tell in five seconds.

FAQ

What's the best free way to convert a PDF to Markdown?

For a one-off, an in-browser tool with no signup is fastest — marklipi's free converter at marklipi.com/pdf-to-markdown. For code, either call a keyless API (curl -F file=@doc.pdf https://api.marklipi.com/convert) or use an open-source library like pymupdf4llm if you prefer local processing.

Which PDF to Markdown tool is best for RAG pipelines?

Route by document type. Digital-native PDFs (statements, contracts, reports) are best served by deterministic text-layer extraction — marklipi or pymupdf4llm — which is exact and cheap. Scans and complex visual layouts need a model-based parser: Marker or Docling self-hosted, LlamaParse hosted.

Do I need OCR to convert my PDF?

Only if it's a scan. If you can select the text in a PDF viewer, the file has a text layer and deterministic extraction will be faster and more accurate than OCR. If you can't select text, choose an OCR-capable tool from the table.

Why does deterministic extraction beat GenAI parsing for text-layer PDFs?

A text layer contains the exact characters — extraction reads them; nothing is recognized or predicted, so nothing can be misread. GenAI parsers earn their cost on scans and complex layouts, but on plain digital PDFs they add price, latency, and a nonzero error rate to a solved problem.

Disclosure: this guide is published by marklipi. Every competitor above is genuinely good at what it's built for, capabilities change, and corrections are welcome at hello@dovey.com.au.

Test the claim on your own document.

Drag a PDF into the free converter — no signup, nothing stored.