Docling
Docling is an open-source toolkit for parsing diverse document formats — PDF, DOCX, PPTX, XLSX, HTML, images, audio, LaTeX, plain text — into a unified, lossless DoclingDocument representation that downstream generative AI and RAG systems can consume directly. It pairs IBM Research's DocLayout and TableFormer models with the GraniteDocling visual language model and pluggable OCR engines, runs entirely locally for air-gapped use, and ships as a Python library and CLI, a FastAPI HTTP service (docling-serve), an MCP server (docling-mcp), and a Kubernetes operator. Originally created by IBM Research Zurich; now hosted by the LF AI and Data Foundation under the MIT license.
APIs
Docling Python Library
The core Docling Python library and `docling` CLI. Parses PDFs, DOCX, PPTX, XLSX, HTML, images (PNG/TIFF/JPEG), audio (WAV/MP3), WebVTT, LaTeX, and plain text into a unified `Do...
Docling Serve REST API
Docling Serve exposes the Docling pipeline as an HTTP service. Synchronous endpoints `POST /v1/convert/source` and `POST /v1/convert/file` accept URL- or upload-sourced document...
Docling MCP Server
Model Context Protocol server that exposes Docling document parsing as MCP tools so Claude, Cursor, Gemini, and other MCP-aware agents can convert PDFs, Office files, and images...
Docling Core Types
Canonical `DoclingDocument` data model and serialization primitives — text, tables, pictures, layout, hierarchy, bounding boxes, provenance — shared by the Docling library, Docl...
Docling Parse PDF Extractor
Native C++ PDF parsing engine used by Docling to extract text with precise coordinates from programmatic (non-scanned) PDF files. Distributed as a Python extension.
Docling IBM Models
Open-weight IBM Research models that power Docling's understanding pipeline — DocLayout (layout detection and reading order), TableFormer (table structure), code- and formula-re...
Docling Eval
End-to-end evaluation framework for document parsing models and services. Provides standard datasets and metrics for layout, tables, OCR, and reading-order quality so teams can ...
Docling Synthetic Data Generation
Tools for synthesizing labeled document data from real corpora — useful for fine-tuning layout, table, and reading-order models, and for stress-testing downstream RAG pipelines.
Docling Graph
Transform unstructured documents — once normalized to `DoclingDocument` — into validated, rich, queryable knowledge graphs. Intended for GraphRAG and entity-extraction workflows...
Docling Agent
Reference agent that reads, writes, and edits documents using Docling as the IO layer. Demonstrates how Docling output composes with tool-using LLMs to produce structured edits.
Docling Kubernetes Operator
Go-based Kubernetes operator that deploys and manages Docling Serve workloads — model cache PVCs, GPU/CPU pools, RQ workers, replica sets with sticky sessions, OAuth — from a si...
Docling Java Bindings
A Java API for Docling that lets JVM applications call into the Docling pipeline. Complementary to `docling4j`, which targets Java-native document understanding integrations.
Docling4j
Brings Docling document understanding into Java projects with idiomatic Java APIs over the Docling serialization format.
Docling TypeScript
TypeScript/JavaScript types and helpers for consuming Docling output (DoclingDocument JSON, DocTags) in Node.js and browser applications.
Docling LangChain Integration
First-party LangChain document loader and chunker for Docling. Drops Docling output directly into LangChain retrieval pipelines.
Docling Jobkit
Shared job-runner primitives used by Docling Serve and the Docling Operator to dispatch conversion work across RQ workers and Ray.