docling
Python library and CLI that converts PDFs, Office files and more into structured text
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.
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