txtfetch vs MarkItDown

MarkItDown 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 MarkItDown is

MarkItDown is built by Microsoft (built by the AutoGen team). A lightweight, zero-model Python utility that converts files to Markdown for LLM prompts.

MIT, plainly. MarkItDown ships no neural model weights of its own, so there is no second licence to check.

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

MarkItDown

Code licence
MIT
Model-weights licence
None — ships no model weights
Install
pip install 'markitdown[all]' (Python 3.10+); or install format extras individually, e.g. markitdown[pdf,docx,pptx]
Model weights
None. Every core converter is rule-based (parses the file format directly). No model download, no GPU.
GPU
Not applicable. MarkItDown has no bundled ML model to run on one.
Formats
PDF, PowerPoint, Word, and Excel files. Images return EXIF metadata only, plus an optional LLM description. Audio returns EXIF metadata and an optional transcription. It also reads HTML, CSV, JSON, XML, ZIP archives, YouTube URLs, and EPUB.
Output
Markdown only, printed to stdout or a file.
OCR
None bundled. A scanned image or PDF returns its EXIF metadata, not the pictured text. Reading the pictured text needs the separate markitdown-ocr plugin and your own vision-LLM API key.

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

CapabilityMarkItDowntxtfetch
Hostingself-hosted onlyhosted API*
Ships neural model weights
GPU required*
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 MarkItDown on this page. See /benchmarks for txtfetch's own measured numbers and their caveats.

where markitdown wins

  • The lightest install of the five: a pure-Python tool with no model weights, no GPU, and a near-instant cold start.
  • Clean, direct Markdown for well-structured Office files, HTML, and data formats (CSV, JSON, XML) headed straight into an LLM prompt.
  • A plugin system, so a third party can add a converter or an OCR path without waiting on the core project.
  • Built and maintained by the team behind AutoGen, so it tracks closely with how Microsoft's own agent tooling expects document input to look.

the work you still own

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

  • Supplying your own OCR path. MarkItDown ships none: a scanned page returns no text at all unless you install markitdown-ocr and wire up a vision-LLM API key and its cost.
  • Table fidelity on complex PDFs. MarkItDown's PDF converter is text-layer-based, with no layout model behind it, so a multi-column or heavily tabular PDF often needs a different tool.
  • Patching the tool and its many optional per-format dependencies as new file variants and CVEs surface.
  • Running the OCR or image-description LLM call yourself, including its own cost, latency, and rate limits, since MarkItDown only forwards to a client you provide.

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

Can MarkItDown OCR a scanned document?
Not by itself. The core tool reads a scanned image's EXIF metadata, not its pictured text. The separate markitdown-ocr plugin adds OCR, but it works by calling a vision-LLM API you configure and pay for yourself, not a bundled local engine.
Does MarkItDown need a GPU?
No. It ships no neural model weights at all, so there is nothing to run on a GPU.
What licence covers MarkItDown?
MIT, the same permissive licence as its own README states, with no separate model-weights licence to track since it ships no models.

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 MarkItDown cannot read.

Read the quickstart →

Compare self-hosted Tika →