docling
SDK and CLI for parsing PDF, DOCX, HTML, and more, to a unified document representation for powering downstream workflows such as gen AI applications.
What it is and what it does
Docling is a document processing SDK that converts PDFs, Word documents, spreadsheets, presentations, email, images, video, audio, and other formats into a unified, structured representation. It specializes in advanced PDF understanding—extracting page layout, reading order, table structure, code blocks, formulas, and charts—and can export to Markdown, HTML, JSON, and domain-specific schemas (DocLang, USPTO patents, JATS articles, XBRL financial reports). The library runs locally, supports OCR for scanned documents, integrates with Visual Language Models and ASR systems, and plugs into AI frameworks like LangChain, LlamaIndex, and Haystack.
It is designed for developers building document-aware AI applications, knowledge extraction pipelines, and content processing workflows. The package offers both a Python API and a command-line interface, with options to run as a service via an API server or as an MCP server for agent integration.
Use it for:
- Convert research papers or technical PDFs to structured Markdown for ingestion into RAG or LLM pipelines.
- Extract tables, charts, and text from financial reports (XBRL) or patent documents (USPTO) for automated analysis.
- Process scanned or image-based documents using OCR and Visual Language Models to recover structured content.
- Build document-aware chatbots or Q&A systems by parsing diverse input formats into a unified representation.
- Batch-convert email archives (EML, MSG) and office documents (DOCX, XLSX, PPTX) to Markdown or JSON for downstream workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Docling parses diverse document formats—PDF, DOCX, PPTX, XLSX, HTML, EPUB, email, images, video, audio, and more—into a unified representation, with advanced PDF layout understanding and export to Markdown, HTML, JSON, and other formats.
Yes. Docling is actively maintained, production-stable, permissively licensed (MIT), and solves a real problem—unified parsing of many document formats with strong PDF understanding. Low install friction, no known vulnerabilities, and broad Python version support make it a solid choice for document-heavy AI and data extraction projects. Install if you need to parse or convert diverse document types at scale.
Install
docling on PyPI
pip
pip install doclinguv
uv add doclingpoetry
poetry add doclingInstalling docling
Before you install
Active maintenance with a recent release (0 days since last update) and high repository engagement (64769 stars). Single runtime dependency (docling-slim) keeps install friction low. Supports current Python versions (3.10–3.14).
License in practice
MIT license is permissive; you can use, modify, and distribute Docling freely in commercial and private projects with minimal restrictions.
Quickstart
pip install docling
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("https://arxiv.org/pdf/2408.09869")
print(result.document.export_to_markdown())
Requires Python 3.10 or higher (3.9 support was dropped in version 2.70.0).
Verify before relying
- Performance characteristics and memory footprint for large documents or batch processing.
- Whether all advertised export formats (DocTags, DocLang, JATS, XBRL) are production-ready or still experimental.
- Accuracy and reliability of OCR and Visual Language Model integrations in real-world deployments.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — docling-slim |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 17,994,695/month — #1,092 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: docling-2.120.1-py3-none-any.whl
Keywords: convert, docling, document, docx, html, layout model, markdown, pdf, segmentation, table former, table structure
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
doclangDocLang is a reference toolkit for validating…
permissive · top 5,000 on PyPI
docling-coreDocling Core defines the foundational…
permissive · top 5,000 on PyPI
docling-ibm-modelsProvides AI models for table structure…
permissive · top 5,000 on PyPI
docling-parseExtracts text, coordinates, and bitmap images…
permissive · top 5,000 on PyPI
docling-slimDocling Slim is a lightweight, modular SDK for…
permissive · top 5,000 on PyPI
marker-pdfMarker converts PDFs, images, and other…
permissive · top 15,000 on PyPI
mineruConverts PDF, DOCX, PPTX, XLSX, images, and web…
unclear · top 15,000 on PyPI
langchain-doclingIntegrates Docling document conversion with…
permissive · top 15,000 on PyPI
pdf2docxConverts PDF files to Word documents (.docx…
permissive · top 5,000 on PyPI
pypandocPypandoc wraps pandoc, a universal document…
permissive · top 5,000 on PyPI