Independent guide — not affiliated with IBM or the Docling project. Every command verified on Docling 2.148.0.
  1. Home
  2. Install
Install guide

Install Docling the right way — small, fast and offline-ready

pip install docling works — but on Linux it can pull about 3 GB of CUDA libraries you may not need. Here is the exact sequence we tested on Docling 2.148.0, plus a picker that writes the command for your machine.

Verified on Docling 2.148.0Updated 6 Nov 2026Includes our own measurements9 min read
In short
  • Docling 2.148.0 needs Python 3.10–3.14 and runs on macOS, Linux and Windows (x86_64 and arm64).
  • Basic install: pip install docling, then check with docling --version.
  • CPU-only Linux: install PyTorch from the CPU index first (210 MB instead of ~3 GB), or use uv pip install --torch-backend cpu docling.
  • The first conversion downloads about 0.5 GB of models; docling-tools models download fetches them ahead of time for offline machines.

Pick your install command#

Choose your operating system, installer, hardware and the features you need. The commands update live and are the same ones we ran on a clean machine.

Requirements at a glance#

ItemDocling 2.148.0Where we read it
Python3.10, 3.11, 3.12, 3.13, 3.14 (>=3.10,<4.0)PyPI requires_python and classifiers
Operating systemsmacOS, Linux, WindowsPyPI classifiers, README
CPU architecturesx86_64 and arm64README (“both x86_64 and arm64”)
AcceleratorsCPU, NVIDIA CUDA, Apple MPS, Intel XPU--device choices: auto, cpu, cuda, mps, xpu
Disk≈1.8 GB environment + ≈0.5 GB models (CPU PyTorch)Measured by us with du -sh
Python 3.9Not supported since 2.70.0README

Step by step with pip#

  1. Create a virtual environment
    bash
    python3 -m venv .venv
    source .venv/bin/activate        # Windows: .venv\Scripts\activate
    python -m pip install -U pip
  2. Linux without a GPU? Install CPU-only PyTorch first

    The default PyTorch wheel on PyPI for Linux depends on NVIDIA's CUDA libraries. Installing from PyTorch's CPU index first means pip will not fetch them later.

    bash
    pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
  3. Install Docling
    bash
    pip install docling
    # or pin it, which we recommend for production:
    pip install "docling==2.148.0"
  4. Verify
    bash
    docling --version
    output on our machine
    Docling version: 2.148.0
    Docling Core version: 2.106.0
    Docling IBM Models version: 4.0.4
    Docling Parse version: 7.24.2
    Python: cpython-313 (3.13.18)
    Platform: Linux-6.18.44-fc-v242-x86_64-with-glibc2.39
  5. Run a first conversion
    bash
    docling convert https://arxiv.org/pdf/2408.09869 --to md --no-ocr

    The first run downloads the layout model (docling-project/docling-layout-heron) and TableFormer (docling-project/docling-models) from Hugging Face — 506 MB in our cache.

Why the CPU-only step matters#

We read the wheel sizes PyTorch 2.15.0 pulls on Linux x86_64 for Python 3.13. The default build brings cuDNN, cuBLAS, NCCL, Triton and the rest of the CUDA toolkit, even on a server without a GPU.

PyTorch download size on LinuxCompressed wheels pulled for torch 2.15.0 on Linux x86_64, Python 3.13. Docling needs PyTorch for its layout, table and OCR models.
0.01.02.03.0CPU build (download.pytorch.org/whl/cpu)0.21 GBDefault PyPI build (CUDA 13 dependencies)2.98 GB

File sizes read from PyPI and download.pytorch.org metadata by docling.org on 6 Nov 2026.

Show data table
PyTorch download size on Linux
GB
CPU build (download.pytorch.org/whl/cpu)0.21 GB
Default PyPI build (CUDA 13 dependencies)2.98 GB
Disk space we measuredInstalled size of a fresh virtual environment (pip) on Linux, Python 3.13, Docling 2.148.0, PyTorch 2.15.0.
0.00.51.01.52.0docling-slim only (no extras)0.25 GBpip install docling + CPU PyTorch1.79 GBDefault models (first run)0.51 GB

Measured with du by docling.org on 6 Nov 2026.

Show data table
Disk space we measured
GB
docling-slim only (no extras)0.25 GB
pip install docling + CPU PyTorch1.79 GB
Default models (first run)0.51 GB

Installing with uv#

uv resolves Docling's dependencies much faster than pip and can choose the PyTorch build for you with --torch-backend. We confirmed with uv 0.11.32 that --torch-backend cpu resolves torch==2.15.0+cpu.

bashin a uv project
uv init my-app && cd my-app
uv add docling
uv run docling --version
bashin a plain virtual environment
uv venv --python 3.12
source .venv/bin/activate
uv pip install --torch-backend cpu docling     # CPU-only PyTorch
# uv pip install --torch-backend auto docling  # let uv detect your CUDA driver

docling vs docling-slim#

Since 29 April 2026 the code lives in docling-slim, a package that installs only the core data model by default and lets you opt into features. docling is now a thin wrapper that installs docling-slim[standard].

InstallWhat you getUse it when
pip install doclingCLI, PDF (docling-parse, pypdfium2), Word, PowerPoint, Excel, HTML, Markdown, email, layout + TableFormer models, RapidOCR, chunking, PyTorchYou convert documents on this machine.
pip install "docling-slim[service-client]"The docling convert-remote command and the DoclingDocument model — 258 MB environment in our test, no PyTorchConversion runs on a docling-serve server.
pip install docling-slimdocling-core and the data model onlyYou only load, inspect or serialise DoclingDocument JSON.

Optional extras#

These are all the extras the docling package declares in 2.148.0, and the packages each one adds.

ExtraAddsFor
docling[vlm]transformers, accelerate, timm, peft, qwen-vl-utils, open-clip-torch; mlx-vlm on Apple SiliconVLM pipeline (Granite-Docling and other presets), picture descriptions
docling[asr]openai-whisper, whisper-s2t-reborn, numba; mlx-whisper on Apple SiliconAudio transcription (also needs FFmpeg)
docling[easyocr]easyocr, scikit-imageEasyOCR engine
docling[tesserocr]tesserocr, pandasTesseract via its C API (needs system Tesseract)
docling[rapidocr]rapidocr, onnxruntimeRapidOCR on its default onnxruntime backend
docling[onnxruntime]onnxruntime (onnxruntime-gpu where available)ONNX-based models
docling[ocrmac]ocrmacApple Vision OCR on macOS
docling[htmlrender]playwrightRendering HTML pages before conversion
docling[xbrl]arelle-releaseXBRL financial reports
docling[remote-serving]tritonclient[grpc]Remote model serving (KServe v2 / Triton)

Video files need docling-slim[format-video], which is not exposed as a docling extra. Combine extras in one command: pip install "docling[vlm,easyocr]".

GPU and Apple Silicon#

  • NVIDIA (Linux, Windows): run nvidia-smi and read the CUDA version it reports — that is the newest CUDA your driver supports. Install PyTorch from a matching index (torch 2.15.0 is published on cu132 and cu134; cu130 and cu126 stop at 2.14.1, which Docling also runs on), then install Docling. Check with python -c "import torch; print(torch.cuda.is_available())".
  • Apple Silicon: a normal install already includes MPS support. Docling picks the device automatically; force it with --device mps.
  • Intel GPUs: --device xpu is accepted; you need a PyTorch build with XPU support.

See the performance guide for what a GPU changes and what it does not.

Offline and air-gapped machines#

Docling downloads models from Hugging Face on first use. To run without internet, fetch them in advance on a connected machine:

bashon a machine with internet
pip download "docling==2.148.0" -d wheels/
docling-tools models download -o models/
# default set: layout, TableFormer, code/formula, picture classifier, RapidOCR
# add more by name, e.g.: docling-tools models download granitedocling easyocr -o models/
bashon the offline machine
pip install --no-index --find-links wheels/ docling
export DOCLING_ARTIFACTS_PATH=/path/to/models
docling convert report.pdf --to md
# or per command: docling convert report.pdf --artifacts-path /path/to/models

Without -o, docling-tools models download writes to ~/.cache/docling/models. The DOCLING_ARTIFACTS_PATH variable is read by Docling's settings and used by every pipeline when no explicit path is passed.

Upgrading and pinning#

Docling released 238 versions between July 2024 and November 2026, and flags do change: --force-ocr and --psm are deprecated in 2.148.0 in favour of --ocr-mode full_page and --ocr-option psm=N. Pin the version in production and upgrade on purpose:

bash
pip install -U docling
docling --version
pip freeze | grep -i docling     # record exact versions

Next steps by platform#

Frequently asked questions

What is the command to install Docling?

Run pip install docling inside a Python 3.10–3.14 virtual environment. With uv, run uv add docling in a uv project or uv pip install docling in a virtual environment. Check the install with docling --version.

How big is a Docling install?

In our test on Linux, a fresh virtual environment with docling and the CPU build of PyTorch took 1.8 GB on disk, and the default models added 0.5 GB on first run. Using the default PyPI PyTorch on Linux downloads about 3 GB of extra CUDA libraries.

What is the difference between docling and docling-slim?

Since April 2026 the code ships in docling-slim, which installs only the core data model by default and lets you pick features as extras. The docling package is a thin wrapper that installs docling-slim[standard] — the CLI, PDF and Office backends, the layout and table models, RapidOCR and chunking. In our tests with docling 2.148.0, the CLI and all PDF conversion needed PyTorch; since 2.144.0 the Python API can convert Office files with a slim, PyTorch-free install such as docling-slim[format-docx,format-pptx,convert-core]. docling-slim[service-client] is the lightweight option when a docling-serve server does the conversion.

Can I install Docling without internet access?

Yes, if you prepare a machine that has access first: download the wheels with pip download, download the models with docling-tools models download, copy both across, then install from the local wheel folder and point --artifacts-path or DOCLING_ARTIFACTS_PATH at the models folder.

How do I upgrade Docling?

Run pip install -U docling (or uv pip install -U docling) and confirm with docling --version. Docling releases often, so pin a version in production (for example docling==2.148.0) and upgrade deliberately.

Sources