Guide · Open source
How to use Docling: convert PDFs and office files to Markdown
Updated · written with AI from the project's own documentation and checked against our catalogue data
Docling is an open-source Python tool that parses documents such as PDF, Word, PowerPoint, Excel, HTML and email, and turns them into a structured representation. It can export that content to Markdown, HTML or JSON. This guide shows you how to install it, convert a document from the command line, and run it from Python, so you can prepare documents for generative AI and retrieval pipelines.
Quick start
- 1Check Python version. Confirm you have Python 3.10 or higher installed.
- 2Install Docling. Run pip install docling in your terminal.
- 3Convert a file from the command line. Run docling followed by a local path or URL to create a Markdown file in the current directory.
- 4Try the Python API. Create a DocumentConverter, call convert() on your source, and print result.document.export_to_markdown().
- 5Explore advanced options. Read the Docling usage and configuration docs for pipelines, exports and integrations.
Check requirements and install Docling
Docling needs Python 3.10 or higher. Python 3.9 support was dropped in docling version 2.70.0. The README says it works on macOS, Linux and Windows, for both x86_64 and arm64 architectures.
Install it with pip, the Python package manager. More detailed installation instructions are available in the Docling docs.
pip install doclingConvert a document from the command line
Pass Docling a local file path or a URL. The command generates a .md file in the current directory containing the structured document content.
To use a Visual Language Model such as GraniteDocling, the README shows a separate command with the vlm pipeline option.
docling https://arxiv.org/pdf/2206.01062Use Docling from Python
The README marks Python usage as the recommended approach. Create a DocumentConverter, call convert() with a local path or URL, then export the result. The example prints the document as Markdown using export_to_markdown().
The README lists more advanced usage and configuration options in the Docling documentation.
from docling.document_converter import DocumentConverter
source = "https://arxiv.org/pdf/2408.09869" # a document via a local path or URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown()) # output: "## Docling Technical Report[...]"Know what formats and exports Docling supports
Docling parses many formats, including PDF, DOCX, PPTX, XLSX, HTML, EPUB, email files (EML, MSG), images (PNG, TIFF, JPEG), LaTeX, plain text and more. For PDFs it covers page layout, reading order and table structure.
Export options include Markdown, HTML, WebVTT, DocLang, DocTags and lossless JSON. The content is held in a unified DoclingDocument representation. The full list of formats is in the supported formats page of the docs.
- Parsing: PDF, DOCX, PPTX, XLSX, HTML, EPUB, EML, MSG, images, LaTeX, plain text
- Exports: Markdown, HTML, JSON, WebVTT, DocLang, DocTags
- Advanced PDF understanding: layout, reading order, tables, code, formulas
Run Docling locally for sensitive documents
Docling lists local execution for sensitive data and air-gapped environments as a feature. Because the parsing runs on your own machine, you can keep documents off third-party services. The README does not describe every offline setup step, so check the docs before relying on a specific air-gapped configuration.
Know the current limits
Metadata extraction, including title, authors, references and language, is listed under Coming soon. Complex chemistry understanding, such as molecular structures, is also listed as coming soon.
The README centres on pip install plus CLI or Python use. If you want a no-code desktop app, Docling is not that.
What people use it for
- Preparing PDFs and Word files as Markdown for a retrieval or RAG pipeline
- Extracting tables and reading order from reports for downstream AI processing
- Converting a document to Markdown from the command line
- Parsing sensitive files on a local machine rather than an online service
- Connecting document content to frameworks such as LangChain, LlamaIndex, Crew AI or Haystack
Frequently asked questions
Is Docling free to use?
Docling's codebase is released under the MIT license. The README notes that individual models may have their own licenses, which you should check in the original packages.
What does Docling require to install?
Docling requires Python 3.10 or higher. You install it with pip install docling. It works on macOS, Linux and Windows.
How do I convert a PDF to Markdown with Docling?
Run docling followed by a local file path or URL. It creates a .md file in your current directory with the structured content. You can also use the Python DocumentConverter and export_to_markdown().
Can Docling process files locally without uploading them?
Docling lists local execution for sensitive data and air-gapped environments as a feature. Processing runs on your own machine, though the docs should be checked for specific offline setups.
Does Docling extract title and author metadata?
Not yet. The README lists metadata extraction, including title, authors, references and language, under Coming soon.
Is there a no-code version of Docling?
The README centres on pip install and command-line or Python use. It does not describe a no-code desktop app, so this tool may not suit users who want one.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Docling suits Python developers building retrieval or RAG pipelines over PDFs and office files, especially where tables and reading order matter or documents must stay local. If you need a no-code desktop app or metadata extraction such as titles and authors right now, pick a different tool.
Install options & downloads