
Docling
Python library that converts PDFs and office files into structured text for AI use.
- Stars
- 70k
- Forks
- 5.2k
- Licence
- MIT
- Language
- Python
- Last update
- 5 days ago
- Type
- Library
What it is
Docling parses many document formats, including PDF, Word, PowerPoint, Excel, HTML and email, and turns them into a structured representation. It exports that content to formats such as Markdown, HTML and JSON. People use it to prepare documents for generative AI and retrieval pipelines, and it can run locally for sensitive data.
- Convert an arXiv PDF to Markdown with a single CLI command
- Export a parsed document to JSON or Markdown inside a Python script
- Feed converted document content into LangChain or LlamaIndex integrations
- Run a vision-language model such as GraniteDocling for PDF conversion
Great for
- Python developers building retrieval or RAG pipelines over PDFs and office files
- Teams that need tables and reading order preserved when extracting document content
- Users who need local processing for sensitive or air-gapped documents
- People who want a command-line tool to convert a document to Markdown
Not ideal for
- Users who need a no-code desktop app, since the README centers on pip install and CLI or Python use
- Projects that need metadata extraction such as title and authors, which the README lists as coming soon
- Chemistry-heavy work, since molecular structure understanding is also listed as coming soon
How to get it
- 1
Install with a package manager
You'll need: Python 3.10 or higher
Install with pip
pip install docling - 2
Run it
- Install the package with pip install docling
- Run docling https://arxiv.org/pdf/2206.01062 in a terminal
- Check the generated .md file in the current directory
- 3
Get the most out of it
- Use the --pipeline vlm option with a model such as granite_docling for VLM-based conversion
- Explore the integrations with LangChain, LlamaIndex, Crew AI and Haystack for agent workflows
- Use the MCP server to connect Docling to any agent
- Run docling-serve via the API server if you want Docling as a service
Downloads
Strengths
- Supports a wide range of input formats in one library, per the README feature list
- Can run locally, which the README highlights for sensitive data and air-gapped setups
- Includes a CLI, a Python API, an MCP server and an API server option
Trade-offs
- Advanced features such as VLM pipelines and audio or video parsing may need extra setup or models; the README does not detail requirements for each
- Some features are newer, as shown in the What's new section, so behavior may change between releases
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| docling (this) | 70k | Library | beginner | 5 days ago | Python developers building retrieval or RAG pipelines over PDFs and office files |
| markitdown | 193k | Library | beginner | 8 days ago | Developers building LLM or text analysis pipelines that need document text |
| pdf-inspector | 19.8k | Library | intermediate | 14 days ago | Developers building pipelines that process many PDFs and need to route scanned ones to OCR |
| rich | 57.7k | Library | beginner | 5 months ago | Python developers who write command-line scripts and want clearer output |
| tui.editor | 18k | Library | intermediate | 2.3 years ago | Web developers who want an embeddable Markdown editor in their own site or app |
| showdown | 14.9k | Library | beginner | 8 days ago | JavaScript developers adding Markdown rendering to a web page |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.