docling-project/docling

Get your documents ready for gen AI

Docling – Quick Overview

What it does – Docling is a Python library and CLI that turns all kinds of documents (PDF, Word, slides, spreadsheets, HTML, e‑books, audio, video, emails, etc.) into a structured, machine‑readable representation. It extracts layout, tables, code, formulas, images, and even speech‑to‑text from videos, then lets you export the result as Markdown, HTML, JSON, or specialised formats like DocLang and DocTags.

Why it matters for AI – The output is designed to be fed directly into generative‑AI pipelines (LangChain, LlamaIndex, Crew AI, Haystack, etc.). By handling OCR, visual‑language‑model (VLM) analysis, and audio transcription locally, Docling lets developers build retrieval‑augmented generation (RAG) or agentic applications without sending raw files to the cloud.

Key features

  • Broad format support – PDFs, DOCX, PPTX, XLSX, HTML, EPUB, Apple Pages/Numbers/Keynote, ODF, XBRL, email (EML/MSG), images, audio (WAV/MP3), video (MP4/AVI/MOV/…​) and more.
  • Deep PDF understanding – layout, reading order, tables, code blocks, formulas, image classification.
  • Unified DoclingDocument model – a single Python object that holds the extracted structure and metadata.
  • Export options – Markdown, HTML, lossless JSON, DocLang, DocTags, etc.
  • Local‑first – runs on macOS, Linux, Windows, x86_64/arm64; no need for external services, good for sensitive data.
  • AI integrations – ready‑made adapters for LangChain, LlamaIndex, Crew AI, Haystack; can plug in visual language models like IBM’s Granite‑Docling.
  • OCR & VLM – built‑in OCR for scanned PDFs/images and optional VLM pipelines for visual content.
  • Audio/Video – automatic speech‑recognition transcripts and key‑frame extraction.
  • Server modes – an API server (docling-serve) and an MCP (multi‑client‑protocol) server for connecting to agents.

Typical workflow

  1. Install with pip install docling (Python ≥ 3.10).
  2. Use the CLI: docling <url-or-path> → produces a Markdown file.
  3. In code, create a DocumentConverter, call convert(source), then export via document.export_to_markdown() or other formats.
  4. Pass the structured document to an LLM‑based RAG chain or an autonomous agent.

Getting started resources

  • Live docs: https://docling-project.github.io/docling/
  • Quick‑start CLI example and Python snippet in the README.
  • Example notebooks and use‑case recipes under the examples section of the docs.
  • Community: Discord, GitHub Discussions, and an Apache‑licensed codebase (MIT).

Who’s behind it – Initiated by IBM Research Zurich’s AI‑for‑Knowledge team and now a Linux Foundation AI & Data project.


TL;DR

Docling is a versatile, open‑source document‑to‑structured‑data engine that bridges raw files and generative‑AI applications, supporting a huge array of formats, local execution, and ready integrations with popular LLM toolkits.

Related

  • Project
  • Project
  • Project
  • Project
  • Project