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.