Independent guide — not affiliated with IBM or the Docling project. Every command verified on Docling 2.143.1.
Independent guide · tested on Docling 2.143.1

Docling, explained — tested and measured on real documents.

Docling is the open-source toolkit from IBM Research that turns PDFs, Office files, scans and audio into clean Markdown, JSON and RAG-ready chunks. This site shows you exactly how to install it, configure it and make it fast — with every command run on 2.143.1 and every number measured by us.

Commands verified on 2.143.1 Benchmarks you can reproduce No sign-up, no tracking beyond analytics
docling convert docling_report.pdfv2.143.1

    
1 · parse2 · layout3 · tables4 · export
2.143.1latest version, released 27 Oct 2026
233releases on PyPI since July 2024
3.6Mdownloads in 30 days (excl. mirrors)
36input formats, from PDF to EML and AFP
12output formats incl. Markdown, JSON, chunks
MITlicence for the Docling code

Sources: PyPI release history and pypistats.org (27 Sep – 26 Oct 2026), read on 27 Oct 2026. Format counts from Docling's own InputFormat and OutputFormat enums.

What is Docling

One converter for messy documents, built for AI pipelines.

Docling reads a document the way a person does — titles, paragraphs, tables, figures, reading order — and writes it out as structured data. That structure is what makes it useful for search, RAG and agents.

What it does

Docling parses each page, runs a layout model to label every region, rebuilds table structure cell by cell, optionally runs OCR on scans, and assembles a lossless DoclingDocument. From that one object you export Markdown, HTML, JSON, DocTags, WebVTT or token-limited chunks.

Who is behind it

Docling was started by the AI for Knowledge team at IBM Research Zurich, published as an open-source package in July 2024 and is now hosted by the LF AI & Data Foundation. The code is MIT-licensed at github.com/docling-project. docling.org is an independent guide — not the project itself.

Facts checked against PyPI metadata and the project README on 27 Oct 2026.
Latest version2.143.1 (docling-core 2.105.0, docling-parse 7.23.1, docling-ibm-models 4.0.4)
First release0.1.0 on 15 July 2024 · 2.0.0 on 16 October 2024
Python3.10–3.14 · macOS, Linux, Windows · x86_64 and arm64
LicenceMIT (code). Optional models carry their own licences.
RunsLocally, CPU or GPU (CUDA, Apple MPS, Intel XPU). Remote services are opt-in.
InterfacesPython API, docling CLI, docling-serve REST API, MCP server, LangChain / LlamaIndex / Haystack / CrewAI integrations
How it works

Five stages from pixels to structure.

The standard PDF pipeline chains specialised models. Knowing which stage costs what is the key to making Docling fast — the timings below are from our own run of a 9-page paper.

Your filePDF, scan, imagesource1 · Parsetext cells, glyphs,bitmaps per pagedocling-parse2 · OCR (optional)text inside bitmapsand scanned pages--ocr-engine auto3 · Layoutboxes: title, text,table, picture, list…docling-layout-heron4 · Table structurerows, columns,spans, headersTableFormer5 · Enrich (opt.)formulas, code,picture captions--enrich-*DoclingDocumentreading order,hierarchy, provenance→ md · json · chunks
The standard PDF pipeline in Docling 2.143.1. Model names are the defaults the CLI downloads on first run.

Parse

docling-parse reads characters, fonts and bitmaps with their coordinates.

0.3 s / 9 pages

OCR

Only where there is no text layer — or everywhere with full-page mode.

61 s / 9 pages (default)

Layout

The Heron layout model labels titles, text, tables, figures, lists…

15.5 s / 9 pages

Tables

TableFormer predicts rows, columns and spanning cells.

11.6 s / 3 tables

Assemble

Reading order, hierarchy and provenance become a DoclingDocument.

0.3 s
Quickstart

Your first conversion in three commands.

Tested on a clean Python 3.13 virtual environment with Docling 2.143.1. The first run downloads about 500 MB of models into the Hugging Face cache.

bash1 · install
python3 -m venv .venv && source .venv/bin/activate
pip install docling
bash2 · convert from the terminal
docling convert https://arxiv.org/pdf/2408.09869 --to md --no-ocr
# writes 2408.09869.md to the current folder
python3 · convert in Python
from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("https://arxiv.org/pdf/2408.09869")
doc = result.document

print(doc.export_to_markdown()[:500])
doc.save_as_json("report.json")   # lossless, re-loadable
Measured, not claimed

Most of Docling's time goes to OCR you may not need.

We converted the Docling technical report (9 pages) with four configurations on a plain 4-vCPU machine. With default settings, OCR on embedded images took 61 of 77 seconds. Turning it off made Docling 3.7× faster.

Seconds per page, by Docling configuration9-page born-digital PDF (Docling technical report), median of 3 warm runs on a 4-vCPU cloud machine with no GPU.
025810Default (OCR auto + tables)8.51 sOCR off2.31 sOCR off + fast tables2.05 sOCR off + no table model1.59 s

Measured by docling.org with Docling 2.143.1. Lower is better.

Show data table
Seconds per page, by Docling configuration
s/page
Default (OCR auto + tables)8.51 s
OCR off2.31 s
OCR off + fast tables2.05 s
OCR off + no table model1.59 s
Where the time goes: model time per stageSeconds summed over all 9 pages. The threaded pipeline overlaps stages, so the sum can exceed wall-clock time.
LayoutOCRTablesParse + assemble
0s25s50s75s100sDefault (OCR auto + tables)88.7sOCR off26.8sOCR off + fast tables21.8sOCR off + no table model14.4s

Docling profiling timings (settings.debug.profile_pipeline_timings), measured by docling.org.

Show data table
Where the time goes: model time per stage
LayoutOCRTablesParse + assembleTotal
Default (OCR auto + tables)15.561.011.60.788.7
OCR off13.20.012.80.926.8
OCR off + fast tables12.70.08.30.821.8
OCR off + no table model13.50.00.00.814.4

Read the performance guide →  ·  Docling vs Marker, PyMuPDF4LLM and MarkItDown →

Project momentum

A release every few days — so versions matter.

Docling ships fast. Flags get added, defaults change and old syntax is deprecated, which is why every page here says which version it was checked against.

Docling releases per month180 releases on PyPI in the last 24 months — a new version roughly every 4 days.
051015Nov ’24FebMayAugNovFebMay14Aug

Source: PyPI JSON API, docling (fetched 27 Oct 2026)

Show data table
Docling releases per month
MonthReleases
Nov ’2411
Dec8
Jan ’254
Feb9
Mar9
Apr3
May5
Jun7
Jul6
Aug6
Sep7
Oct7
Nov6
Dec4
Jan ’266
Feb5
Mar8
Apr9
May4
Jun14
Jul10
Aug11
Sep7
Oct14
Weekly downloads from PyPISince docling-slim appeared (29 Apr 2026), every pip install docling also installs docling-slim, so the lines overlap rather than add up.
doclingdocling-slim
02M4M6MAprMayJunJulAugSepOctdocling-slim published

Source: pypistats.org, downloads without mirrors, Monday–Sunday weeks

Show data table
Weekly downloads from PyPI
Week startingdoclingdocling-slim
2026-04-131,333,907
2026-04-201,390,442
2026-04-271,337,045
2026-05-041,679,379271,107
2026-05-111,957,311383,377
2026-05-182,196,697500,468
2026-05-251,815,117475,482
2026-06-012,438,722556,566
2026-06-083,489,469819,817
2026-06-154,113,690993,200
2026-06-224,562,3011,139,852
2026-06-295,212,8881,313,959
2026-07-064,841,4711,380,407
2026-07-134,525,8691,406,045
2026-07-203,110,5681,149,128
2026-07-272,092,458995,596
2026-08-032,126,349976,520
2026-08-102,046,004998,169
2026-08-172,720,7631,190,997
2026-08-24893,561608,657
2026-08-31648,958583,158
2026-09-07673,535620,068
2026-09-14595,150592,255
2026-09-21658,231631,358
2026-09-28787,540754,234
2026-10-05829,818753,426
2026-10-12856,709828,168
2026-10-19901,232965,393
How we work

Every command is run. Every number has a source.

We install the current Docling release in a clean environment, read option names straight from the CLI, run the snippets we publish, and benchmark on hardware we describe. Facts that come from elsewhere — licences, model scores, image sizes — link to where we read them.

Our methodology →
Independent

Not IBM. Not the Docling project. Just users who test.

docling.org is run independently and is not endorsed by IBM or the LF AI & Data Foundation. If something here is wrong or out of date, tell us at hello@docling.org — corrections usually go live within a day.

Official Docling repository ↗
FAQ

Common questions about Docling

What is Docling?

Docling is an open-source Python toolkit that converts documents — PDF, Word, PowerPoint, Excel, HTML, images, audio and 30 more input formats — into a structured DoclingDocument that you can export as Markdown, JSON, HTML, plain text or chunks for retrieval-augmented generation (RAG). It runs locally, uses specialised AI models for page layout and table structure, and is MIT-licensed.

Who makes Docling? Is it an IBM product?

Docling was started by the AI for Knowledge team at IBM Research Zurich and is now hosted as an open-source project by the LF AI & Data Foundation. Its code lives at github.com/docling-project/docling. IBM researchers remain major contributors.

Is Docling free?

Yes. The Docling code is MIT-licensed, so you can use it commercially at no cost. The models it downloads carry their own licences: the default Heron layout model is Apache-2.0 and the TableFormer weights are CDLA-Permissive-2.0 / Apache-2.0. Check the model card of any optional model you enable.

Is docling.org the official Docling website?

No. docling.org is an independent guide run by Docling users. It is not affiliated with IBM, the LF AI & Data Foundation or the Docling project. The official resources are GitHub, docling.ai and the official documentation. We test what we publish and list our sources on every page.

Does Docling need a GPU?

No. Docling runs on CPU. In our test on a 4-vCPU machine, a born-digital PDF converted at 2.3 seconds per page with OCR off. A GPU (CUDA) or Apple Silicon (MPS) speeds up the layout, table and OCR models, and is close to required for the vision-language (VLM) pipeline. See the performance guide.

Which Python versions does Docling support?

Docling 2.143.1 requires Python 3.10 or newer and declares support for 3.10, 3.11, 3.12, 3.13 and 3.14 on macOS, Linux and Windows.

Does Docling send my documents anywhere?

Not by default. Conversion runs on your machine; models are downloaded once from Hugging Face and cached. Features that call external APIs (for example remote picture-description models) only run if you pass --enable-remote-services or set enable_remote_services=True.

How is Docling different from PyPDF or PyMuPDF?

Text extractors such as pypdf read the characters stored in a PDF. Docling also runs a layout model to label titles, paragraphs, tables, figures and lists, rebuilds table structure, restores reading order, and can OCR scanned pages — so its output keeps the document's structure. The trade-off is speed: in our benchmark Docling was slower per page than PyMuPDF4LLM and MarkItDown on the same file.