DS4SD

docling: Convert Documents into Structured Content

Docling parses documents such as PDFs, Word files, spreadsheets, and images into structured content for applications and generative AI workflows. It offers local processing, a Python library, and a command-line interface.

ActivePythonMITAILibraryPDF
Stars
68.7k
Forks
5k
Stars, last 10 days
+525
Last commit
1 day ago
Contributors
100+

Our take

Activeregular commits and releases

Health score

81/100

How it is scored
Activity
89
Community
92
Issues
82
Pull requests
61

+525 stars in the last 10 days

  • Releases more often than 93% of the projects we track
  • Merges more pull requests than 88% of the projects we track
  • More contributors than 77% of the projects we track

Docling is a capable, actively maintained document-conversion toolkit with broad format support and a healthy contributor base, suited to teams that need structured extraction rather than simple text conversion.

Good fit if

  • You need to process varied document formats, especially PDFs with tables or complex layouts.
  • Your Python application needs local document processing or integrations for AI workflows.
  • You value an MIT-licensed codebase with frequent releases and contributions from many people.

Look elsewhere if

  • Your application does not use Python, since the documented runtime requires Python 3.10 or newer.
  • You need a feature that the project lists as coming soon, such as metadata extraction for titles, authors, references, and language.
  • You need one license to cover both the code and every model, since individual model licenses are determined by their original packages.
All health signals
Last commit2026-10-10 (1 day ago)
Commits, last 90 days100+
Releases, last 12 months97 (latest v2.137.0, 2026-10-09)
Contributors100+ (top contributor: 18% of commits)
Issues closed, last 90 days27+ (typically closed in 1 day)
Pull requests merged, last 90 days81 (typically merged in 1 day)
Project age2 years

Checked on 2026-10-12 with the GitHub API.

Overview

Docling converts documents from many formats into structured content, addressing the challenge of extracting usable text and layout from files that vary widely in format and complexity. Its PDF processing can capture layout, reading order, and tables, while a unified document representation supports multiple export formats.

It is aimed at developers building document-processing and generative AI workflows. Processing can run locally, and integrations, a CLI, and service options provide different ways to add conversion to an application or pipeline.

Key Features

  • Parses PDFs, office documents, web formats, images, audio, video, and other document types.
  • Analyzes PDF layout, reading order, tables, code, formulas, and images.
  • Exports structured results as Markdown, HTML, WebVTT, DocTags, or lossless JSON, among other formats.
  • Supports OCR for scanned PDFs and images, plus visual-language-model pipelines.
  • Provides a Python API and command-line interface for conversion.
  • Integrates with LangChain, LlamaIndex, Crew AI, and Haystack.
  • Can run locally for sensitive data or air-gapped environments, and can be exposed through an API server or MCP server.

Use Cases

  • AI application developers can convert PDFs and office files into structured inputs for retrieval or other generative AI workflows.
  • Teams handling scanned paperwork can use OCR and layout-aware extraction when plain text extraction is insufficient.
  • Data and research teams can turn reports, spreadsheets, presentations, or e-books into Markdown or structured JSON for downstream processing.
  • Developers building document agents can use the framework integrations or connect through the MCP server.

What you need

Detected in the repository

  • Python >=3.10,<4.0 (from pyproject.toml)
  • A Dockerfile, so it can run in a container
  • A test suite and automated checks on GitHub Actions

License in plain words

MITpermissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the copyright and license notice
  • Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

Install Docling with pip:

pip install docling

For usage and installation details, see the README and documentation.

Alternatives

  • marker: Marker converts PDFs and other documents to Markdown, JSON, HTML, or chunks, while Docling provides structured representations and exports across formats.
  • markitdown: MarkItDown focuses on converting files to Markdown, while Docling offers richer structured output and document-processing features such as OCR.
  • gptpdf: gptpdf parses PDFs into Markdown using a vision-capable model, while Docling supports more input formats and local processing.
  • pdfplumber: pdfplumber extracts text, tables, and positioned objects from machine-generated PDFs, while Docling handles more formats and OCR workflows.
ProjectLanguageLicenseStarsStatus
doclingPythonMIT68.7kActive
markerPythonApache-2.040.2kActive
markitdownPythonMIT188kActive
gptpdfPythonMIT3.6kInactive
pdfplumberPythonMIT10.8kQuiet

Considerations

The repository is active, with regular commits and releases, and contributions are not concentrated in one person. That indicates ongoing maintenance, but does not guarantee that every issue will be resolved quickly. The README lists metadata extraction and complex chemistry understanding as upcoming work, so teams requiring those capabilities should verify their availability before adopting Docling. The code is MIT-licensed, but model packages can have separate licenses.

Found this useful?

Share it with someone who would like docling.

Comparisons