← All open source projects

Docling

docling-project/docling

Docling is a Python tool for converting documents into structured data for search and ИИ systems.

Forks 4,368
Language Python
License MIT
Synced 2026-06-27

What it is

Docling converts documents into structured data. It extracts text, tables, structure, and elements from PDFs, office documents, and other formats for search, analytics, or ИИ systems.

It solves a familiar problem: a file is readable to a human, but to software it is a mix of pages, coordinates, tables, images, and formatting.

How the process works

Docling accepts a document, analyzes its content, and returns a form suitable for further processing, such as Markdown, JSON, or an internal structure.

This is especially useful before RAG systems. Poor document parsing leads to broken text, lost tables, and weak answers.

Document conversion

This Python example converts a document to Markdown so it can be saved, indexed, or passed to the next processing stage.

Language: Python
from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("report.pdf")

markdown = result.document.export_to_markdown()
print(markdown[:1000])

What is inside

The repository includes the library, command-line interface, documentation, examples, integrations, and a technical report reference.

Docling makes document parsing a separate stage, which lets teams inspect extraction quality before indexing or model use.

Strengths

The main strength is structure. Documents are not only words; headings, tables, lists, and block order matter.

It also fits naturally into Python data processing, indexing, analytics, and ИИ applications.

Limits

Documents vary widely. Bad scans, unusual tables, and complex layouts can still require manual checking.

Docling prepares data; semantic interpretation depends on the next stage of the system.