Docling is an open-source project initiated by the AI for knowledge team at IBM Research Zurich and is now hosted by the LF AI & Data Foundation. Its core goal is to simplify document processing by parsing diverse document formats into structured content suitable for use with generative AI.
Purpose: Docling is mainly used to parse documents and convert them into machine-readable formats for downstream use cases such as generative AI applications, retrieval-augmented generation (RAG), and agents. It places particular emphasis on advanced understanding of PDFs and supports multiple file types.
Main capabilities:
- Parse multiple document formats: including PDF, DOCX, PPTX, XLSX, HTML, EPUB, Apple Pages/Numbers/Keynote, WAV, MP3, WebVTT, Box Notes, email formats (EML, MSG), images (PNG, TIFF, JPEG, etc.), LaTeX, DocLang, plain text, and more.
- Advanced PDF understanding: including page layout, reading order, table structure, code, formulas, image classification, and more.
- A unified DoclingDocument representation format for easier downstream processing.
- Multiple export formats: Markdown, HTML, WebVTT, DocLang, DocTags, and lossless JSON.
- Support for specific XML schemas: DocLang, USPTO patents, JATS articles, XBRL financial reports.
- Local execution capability: suitable for sensitive data and air-gapped environments.
- Plug-and-play integration: integrates with agentic AI frameworks such as LangChain, LlamaIndex, Crew AI, Haystack, and more.
- Broad OCR support: for scanned PDFs and images.
- Support for multiple vision-language models (such as GraniteDocling).
- Audio support: using automatic speech recognition (ASR) models.
- Can connect to any agent via an MCP server.
- Can run as a service via an API server (docling-serve).
- Provides a simple and convenient CLI.
- Parse video files (MP4, AVI, MOV, MKV, WebM), extracting ASR transcripts and representative keyframes.
- Parse ODF files (.odt, .ods, .odp).
- Parse XBRL documentation.
- Parse email files (.eml, .msg).
- Parse EPUB files.
- Parse Apple Pages, Numbers, and Keynote documents.
- Parse plain text files (.txt, .text) and Markdown supersets (.qmd, .Rmd).
- Chart understanding: convert bar charts, pie charts, and line charts into tables or code, and add detailed descriptions.
- Metadata extraction: title, author, references, and language.
- Complex chemistry understanding: molecular structures.
Usage:
- Installation: requires Python 3.10 or higher (version 2.70.0 has dropped support for Python 3.9). Supports x86_64 and arm64 architectures on macOS, Linux, and Windows. Detailed installation instructions are in the documentation.
- CLI usage: convert documents via the command line and generate .md files containing structured content. Vision-language models such as GraniteDocling can also be used via the CLI.
- Python usage (recommended): provides more advanced usage and configuration options.
- Documentation and examples: the official documentation covers installation, usage, concepts, recipes, extensions, etc.; examples demonstrate different application scenarios.
- Integrations: native integration with popular frameworks and tools.
Applicable scenarios:
- Prepare document data for generative AI.
- Build RAG pipelines or agent applications.
- Process documents in sensitive data or air-gapped environments.
- Need to extract text and structure from scanned copies or images.
- Process complex PDFs containing tables, formulas, and code.
- Parse audio and video content to obtain transcriptions and key frames.
- Process domain-specific documents such as financial reports, patents, and academic articles.
Limitations:
- Requires Python 3.10 or higher.
- Some features depend on external models, and model licenses should be referenced from the original packages.
- Specific performance, accuracy, processing speed, etc. are not stated in the provided materials.
Other information: The Docling codebase is licensed under the MIT License. A technical report is available for reference. The project welcomes contributions and provides a discussion area for help and support.