Five open-source parsers, and what running one actually costs.

Docling, MarkItDown, PyMuPDF4LLM, Marker, and MinerU are all free to download. Every one still needs a model to host, a GPU decision, and a patch schedule. Here's the honest comparison, cited and dated.

Why compare txtfetch to a library you'd run yourself?

Every parser on this page is a library. You install it, you host it, and you own its updates. txtfetch is a hosted API: one HTTP call, nothing to install. That's the same honest framing our Apache Tika page already uses, and it applies here too.

This page names real strengths for each library. It also names the licence terms and the operational cost that a "free" download doesn't advertise up front.

the five-way matrix

Docling, MarkItDown, PyMuPDF4LLM, Marker, and MinerU, compared
CapabilityDoclingMarkItDownPyMuPDF4LLMMarkerMinerU
Hostingself-hosted onlyself-hosted onlyself-hosted onlyself-hosted onlyself-hosted only
Ships neural model weights+++
GPU requiredoptionaloptional~
Table extraction+~+++
OCR engine bundled+~++
Structured or JSON output++++
Built-in chunking for RAG+++
Single HTTP endpoint~~~

Full licence citations, dated, live on each spoke below. No row on this page states an accuracy or speed figure. See /benchmarks for txtfetch's own numbers.

A short decision list

  • Need the broadest bundled OCR language coverage? MinerU ships 109 languages by default.
  • Have only native, born-digital PDFs and no GPU? PyMuPDF4LLM is the fastest path.
  • Need one document object that exports to Markdown, JSON, and RAG-ready chunks? Try Docling.
  • Want the lightest possible install, with no model weights at all? MarkItDown fits.
  • Need the highest table and math fidelity, and can run a GPU? Marker's --use_llm pass targets that.
  • Want none of the above to manage? That's the case for a hosted call instead.

What self-hosting any of them costs

Every library on this page is free to download. None of them is free to run in production. Each one needs somewhere to put its model weights, a decision about GPU spend, and a plan for cold starts on a fresh process. Someone has to patch the library itself, and its model dependencies, as new CVEs and file-format edge cases turn up.

Two of the five, PyMuPDF4LLM and MinerU, carry licence terms that need a real read before you ship. PyMuPDF4LLM's default is AGPL-3.0's network-copyleft clause. MinerU adds its own usage thresholds. Marker's model weights carry a separate revenue and funding threshold from its Apache-2.0 code. Each spoke below names its own checklist.

When one HTTP call is simpler

txtfetch has no model to host and no GPU to provision. Apache Tika and Tesseract run on our infrastructure, checked against 615 formats with a real parser behind them (see the coverage list). If your team would rather ship the product than run a document-parsing service, that's the case for a hosted call.

The standard OCR tier ships English trained data plus script detection only (TESSDATA_LANGS=eng osd). See /languages for the full per-language detail, and request quality=premium for a hard non-English scan.

More comparisons

frequently asked questions

Are Docling, MarkItDown, PyMuPDF4LLM, Marker, and MinerU really free?
The code for all five is open source. Three (Docling, MarkItDown, and PyMuPDF4LLM's dual option) use permissive or fully free terms. PyMuPDF4LLM's default is AGPL-3.0. Marker and MinerU add extra terms above a funding, revenue, or usage threshold. Check each spoke's licence section before you pick one.
Which of these should I pick for a RAG pipeline?
It depends on your documents and your infrastructure. A CJK-heavy scan set favors MinerU's OCR coverage. A native-PDF-only pipeline with no GPU favors PyMuPDF4LLM. A mixed Office and web estate favors Docling or MarkItDown. Each spoke names its own real strengths.
Does txtfetch use any of these libraries internally?
No. txtfetch runs Apache Tika and Tesseract, not any of the five libraries on this page. See /compare/self-hosted-tika for that build.
Why doesn't this page show accuracy or speed numbers?
txtfetch has no benchmark run against these five libraries, so publishing one would be a guess dressed up as a fact. See /benchmarks for txtfetch's own measured numbers and their caveats.

Keep the library. Add the hard formats.

Some teams run both. Send only the files the library cannot read.

Read the quickstart →

Compare self-hosted Tika →