docling-project /docling

Get your documents ready for gen AI

★ 70,356⑂ 5,306👁 224⑃ 2,351● 2,346▤ 238◈ 483
PythonMITCreated 2024-07-09docling-project.github.io/docling
70,356
stars
+41+341+1,943
5,306
forks
224
watchers
2,351
prs
2,346
issues
238
releases
483
discussions

README

Docling


  


















 What is Docling ?

Docling simplifies document processing by parsing diverse formats — including advanced PDF understanding — and providing seamless integrations with the generative AI ecosystem.

 Features

- 🗂️ Parsing of [multiple document formats][supported_formats] including PDF, DOCX, PPTX, XLSX, HTML, EPUB, Apple Pages, Numbers & Keynote, WAV, MP3, WebVTT, Box Notes, email formats (EML, MSG), iCalendar (ICS), images (PNG, TIFF, JPEG, ...), LaTeX, DocLang, plain text, and more
- 📑 Advanced PDF understanding incl. page layout, reading order, table structure, code, formulas, image classification, and more
- 🧬 A unified, expressive [DoclingDocument][docling_document] representation format
- ↪️ Various [export formats][supported_formats] and options, including Markdown, HTML, WebVTT, DocLang, DocTags and lossless JSON
- 📜 Support for several application-specific XML schemas including DocLang, USPTO patents, JATS articles, and XBRL financial reports.
- 🔒 Local execution capabilities for sensitive data and air-gapped environments
- 🤖 Plug-and-play [integrations][integrations] incl. LangChain, LlamaIndex, Crew AI & Haystack for agentic AI
- 🔍 Extensive OCR support for scanned PDFs and images
- 👓 Support for several Visual Language Models, such as (GraniteDocling)
- 🎙️ Audio support with Automatic Speech Recognition (ASR) models
- 🔌 Connect to any agent using the MCP server
- 🌐 Run Docling as a service with the API server (docling-serve)
- 💻 Simple and convenient CLI

 What's new

- 🎬 Parsing of video files (MP4, AVI, MOV, MKV, and WebM) with an ASR transcript and representative keyframes
- 📄 Parsing of ODF (OpenDocument Format) files for text documents (.odt), spreadsheets (.ods), and presentations (.odp)
- 💼 Parsing of XBRL (eXtensible Business Reporting Language) documents for financial reports
- 📧 Parsing of email files (.eml, .msg)
- 📅 Parsing of calendar files (.ics, .ical, .icalendar, .ifb) with events, tasks, journal entries and free/busy times, with attendees, reminders and attachment names
- 📚 Parsing of EPUB (Electronic Publication) files for e-books
- 🍎 Parsing of Apple Pages (.pages) documents, Numbers (.numbers) spreadsheets and Keynote (.key) presentations
- 📝 Parsing of plain-text files (.txt, .text) and Markdown supersets (.qmd, .Rmd)
- 📊 Chart understanding (Barchart, Piechart, LinePlot): convert them into tables or code and add detailed descriptions

 Coming soon

- 📝 Metadata extraction, including title, authors, references & language
- 📝 Complex chemistry understanding (Molecular structures)

 Quickstart

 1. Install

bash
pip install docling


 Note: Python 3.9 support was dropped in docling version 2.70.0. Please use Python 3.10 or higher.

Works on macOS, Linux and Windows environments for both x86_64 and arm64 architectures.

More detailed installation instructions are available in the docs.

 2. Convert a document (CLI)

bash
docling https://arxiv.org/pdf/2206.01062


This generates a .md fi

Top issues

Discussions

Latest release

v2.149.0 v2.149.0 2026-11-08
Feature

 pdf: Add opt-in embedded PDF image extraction (5143) (3df6c93)
 Refactored the cli to be more intuitive (5214) (55f21d6)
 asr: Add support for mlx-audio (5181) (756059c)
 vlm: Add MiniCPM-OCR preset (5134) (1282e3d)

 Fix

 md: Decode only terminated character references in text (5231) (414d669)
 latex: Number the items of enumerate lists (4518) (1d9a79c)
 md: Keep backslash escapes inside the surrounding text (4991) (bcb3678)
 jats: Keep tables published as an image (5078) (1e26b84)
 asciidoc: Fill a table row from the column count of the first line (5010) (26cff4d)
 reading-order: 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON