txtfetch vs Docling

Docling is an open-source library you run yourself. txtfetch is one HTTP call. Here's an honest look at the licence, the operational cost, and where each one wins.

What Docling is

Docling is built by The Docling project (LF AI & Data Foundation, originated at IBM Research). A document-conversion library built around one unified document object, with broad format coverage.

Docling's code is MIT. Its default layout, table-structure, and GraniteDocling vision-language models are published separately on Hugging Face under Apache-2.0. Both are permissive, so this is the simplest licence story of the five.

Licence checked 2026-09. See the project's own LICENSE file.

Checked against the project's own LICENSE file, not a summary of it. A licence can change between releases, so check the LICENSE of the exact version you pin, not this page. This is a factual summary, not legal advice.

at a glance

Docling

Code licence
MIT
Model-weights licence
Apache-2.0 (layout, table-structure, and GraniteDocling models)
Install
pip install docling (Python 3.10+, macOS, Linux, and Windows, on x86_64 or arm64)
Model weights
Bundled: a layout model and a table-structure model download on first use. An optional GraniteDocling vision-language model adds a heavier VLM pipeline for harder pages.
GPU
Optional. Docling runs on CPU. A GPU speeds up the layout and VLM models on large batches.
Formats
One of the widest input lists in this comparison. It covers PDF, DOCX, XLSX, and PPTX, plus legacy DOC, XLS, and PPT through LibreOffice. Other inputs include ODF, EPUB, Apple Pages, HTML, Markdown, AsciiDoc, LaTeX, and CSV. It also reads images, audio and video (with the asr extra), email, and a few schema-specific XML formats such as USPTO, JATS, and XBRL.
Output
Markdown, HTML, lossless JSON (DoclingDocument), DocTags, plain text, WebVTT, and chunked JSONL built for RAG pipelines.
OCR
EasyOCR by default, with Tesseract and other engines pluggable. Docling's docs list per-engine language coverage, wider than one hard-coded set.

txtfetch

Code licence
N/A — hosted API, no code to license
Model-weights licence
N/A — no weights on your infrastructure
Install
None. One HTTP call.
Model weights
None on your side. Tika and Tesseract run on ours.
GPU
None needed. quality=premium routes to a VLM on our infrastructure.
Formats
Every format on the coverage list, one endpoint.
Output
Text, Markdown, or element JSON.
OCR
Standard tier: eng, osd. quality=premium for a hard scan. See /languages.

capability table

CapabilityDoclingtxtfetch
Hostingself-hosted onlyhosted API*
Ships neural model weights+
GPU requiredoptional*
Table extraction++
OCR engine bundled++*
Structured or JSON output++*
Built-in chunking for RAG+*
Single HTTP endpoint~+

* txtfetch notes: One HTTP call. No install, no model download, no server to run and patch. The standard tier runs on Tika and Tesseract, CPU only. quality=premium routes a document to a vision-language model on our infrastructure, not yours. The standard OCR tier ships English trained data plus script detection only (TESSDATA_LANGS=eng osd). See /languages for the per-language detail and quality=premium for a hard scan. ?format=markdown and ?format=json ship today. Schema-defined field extraction, pulling named fields to your own schema, is on the roadmap, not shipped yet. txtfetch returns text, Markdown, or element JSON. Chunking stays a caller-side step, the same reasoning behind every guide on /fixes.

No accuracy or speed figure is measured against Docling on this page. See /benchmarks for txtfetch's own measured numbers and their caveats.

where docling wins

  • DoclingDocument gives every parsed file one consistent internal format. A PDF, a DOCX, and an HTML page all export through the same Markdown, JSON, or chunking path.
  • The broadest input list of the five. It covers audio and video transcription, Apple Pages, and schema formats like JATS and XBRL, on top of the usual PDF and Office set.
  • A chunked JSONL output mode built specifically for RAG pipelines, not bolted on after the fact.
  • An active project governed by the LF AI & Data Foundation, with frequent format and model additions.

the work you still own

Docling is free to run. Running it in production is a separate job. This is the checklist that job includes.

  • Downloading and caching the layout and table-structure models on first run, and again for the optional GraniteDocling VLM.
  • Picking and installing an OCR engine (EasyOCR ships by default; Tesseract and others are pluggable), plus that engine's own language packs.
  • Deciding whether a GPU is worth the cost for your batch size. A cold start pays the model-load penalty on every fresh process, unless you keep a worker warm.
  • Patching Docling itself and its model dependencies as new CVEs and format edge cases surface.

where txtfetch wins

  • One HTTP call. No install, no model download, no GPU to provision, and no server to patch.
  • The standard OCR tier ships English trained data plus script detection only (TESSDATA_LANGS=eng osd). See /languages for the per-language detail, and request quality=premium for a hard non-English scan.
  • A durable free tier (500 documents/month, ongoing), so trying it costs nothing and no card.

txtfetch strips HTML markup, not boilerplate, the same as /fixes describes it. Nav, footer, and cookie-banner text still comes back as ordinary text. Deciding what's chrome versus article stays a caller-side step. We also don't ship schema-defined field extraction yet. See the capability table above for the full list.

the same job, one call

This is the whole integration: no install, no model download, no GPU.

curl -s -X POST "https://api.txtfetch.com/v1/extract?format=markdown" \
  -H "Authorization: Bearer $TXTFETCH_KEY" \
  -F file=@document.pdf

frequently asked questions

Is Docling really free to use commercially?
Yes. Docling's code is MIT-licensed, and its default layout, table-structure, and GraniteDocling models are Apache-2.0. Both are permissive open-source licences with no revenue threshold or attribution clause.
Does Docling need a GPU?
No. It runs on CPU. A GPU speeds up the layout model and the optional GraniteDocling vision-language pipeline on larger batches, but nothing in Docling requires one.
Can Docling read scanned documents in languages other than English?
Its default OCR engine, EasyOCR, ships broader language coverage than a single hard-coded set, and Tesseract is pluggable too. Check Docling's own documentation for the exact language list of the engine you configure.

sources

Checked against the project's own LICENSE file, not a summary of it. A licence can change between releases, so check the LICENSE of the exact version you pin, not this page. This is a factual summary, not legal advice.

Keep the library. Add the hard formats.

Some teams run both. Send only the files Docling cannot read.

Read the quickstart →

Compare self-hosted Tika →