docling vs markitdown

Two of the top projects in Data and scraping for AI, side by side: who leads on each score part and who each one suits, then setup, license, activity and what each review found.

33rd of 13 in Data and scraping for AI

docling

Python library and CLI that converts PDFs, Office files and more into structured text

76 out of 100
#44th of 13 in Data and scraping for AI

markitdown

Python tool that converts PDF, Office, HTML and audio files to Markdown for LLMs

71 out of 100

Verdict

docling ranks higher, 76 to 71. Of the 5 score parts we measure for both, docling leads on 2, markitdown on 2 and 1 is even.

  • Adoptionmarkitdown leads by 24 points, 95 to 71: a wide gap.
  • FreshnessEven at 100.
  • Maintenancemarkitdown leads by 2 points, 90 to 88: close to even.
  • Easy to rundocling leads by 17 points, 50 to 33: a wide gap.
  • Agent-readydocling leads by 85 points, 85 to 0: a wide gap.

Pick docling if you are

Developers preparing documents for RAG and LLM pipelines

  • Wide input coverage: PDF, Office, ODF, EPUB, email, Apple iWork, XBRL, audio, video
  • Local execution suits sensitive data and air-gapped environments

Pick markitdown if you are

Developers feeding documents into LLM and RAG pipelines

  • Covers many formats through one CLI and Python API (convert, convert_local, convert_stream)
  • Built-in converters run offline; install only needed formats via extras like [pdf,docx,pptx]
docling vs markitdown: score parts and facts
What we comparedoclingmarkitdown
Score parts, out of 100
Adoption71, popular95, widely used
Freshness100, active100, active
Maintenance88, healthy90, healthy
Easy to run50, easy33, some setup
Agent-ready85, ready0, none
Facts from GitHub and the README
Stars68.9k190.3k
LicenseMIT (permissive)MIT (permissive)
Last commitOct 2026Oct 2026
Last releaseOct 2026Sep 2026
LanguagePythonPython
DockerYesYes
GPUOptionalNot needed
arm64 or Apple SiliconMentionedNot stated

docling

Docling parses PDF, DOCX, PPTX, XLSX, HTML, EPUB, images, audio and other formats into a unified DoclingDocument, with PDF layout, reading order, table structure, code and formula recognition. It exports to Markdown, HTML, DocLang, DocTags and lossless JSON. It runs locally via a CLI or Python API, with OCR, VLM support (GraniteDocling), an MCP server and a docling-serve API server.

Who it is for: Developers preparing documents for RAG and LLM pipelines

Strengths

  • Wide input coverage: PDF, Office, ODF, EPUB, email, Apple iWork, XBRL, audio, video
  • Local execution suits sensitive data and air-gapped environments
  • Integrations with LangChain, LlamaIndex, Crew AI and Haystack
  • Ships a CLI, Python API, MCP server and docling-serve HTTP server

Weaknesses

  • Hardware requirements (RAM, GPU) are not stated in the README
  • Individual models carry their own licenses, separate from the MIT codebase
  • Metadata extraction and chemistry understanding are listed as coming soon
  • Requires Python 3.10 or higher; 3.9 support was dropped in 2.70.0
  • GPU optional
  • Docker
  • Models: GraniteDocling, VLMs, OCR engines, ASR models

markitdown

MarkItDown is a Python library and CLI that converts PDF, Word, PowerPoint, Excel, images, audio, HTML, CSV/JSON/XML, ZIP, EPUB and YouTube URLs into Markdown, keeping headings, lists, tables and links. Optional backends add LLM image descriptions, Azure Document Intelligence, Azure Content Understanding, and OCR via the markitdown-ocr plugin. Output targets LLM pipelines rather than high-fidelity human-facing documents.

Who it is for: Developers feeding documents into LLM and RAG pipelines

Strengths

  • Covers many formats through one CLI and Python API (convert, convert_local, convert_stream)
  • Built-in converters run offline; install only needed formats via extras like [pdf,docx,pptx]
  • Third-party plugin system, plus an LLM-vision OCR plugin using any OpenAI-compatible client
  • MIT license, active releases, Python 3.10 through 3.14

Weaknesses

  • Not meant for high-fidelity conversion; output is tuned for text analysis tools
  • Video and structured field extraction need billable Azure Content Understanding
  • convert() accepts URIs and files with process privileges; untrusted input must be sanitized
  • LLM image descriptions currently limited to pptx and image files; OCR needs a plugin
  • no GPU
  • Docker
  • Needs Python 3.10-3.14, Azure Document Intelligence (optional), Azure Content Understanding (optional), OpenAI-compatible client (optional)
  • Models: OpenAI-compatible vision models (e.g. gpt-4o)

More in Data and scraping for AI

Building with these?

We help teams pick an open-source AI stack and run it in production. Client work never changes a rank.