← all repositories
microsoft/markitdown

Turning Office Bloat into LLM Fuel

A Python utility that converts office documents and media into structured Markdown built for LLM pipelines, not human eyeballs.

168.3k stars Python Data Tooling
markitdown
Velocity · 7d
+394
★ / day
Trend
accelerating
star history

What it does

MarkItDown ingests a wide range of formats — PDF, Word, Excel, PowerPoint, images, audio, HTML, ZIP archives, YouTube URLs, and EPubs — and emits Markdown. It is deliberately optimized for text analysis pipelines and LLMs, preserving structure like headings, lists, tables, and links. The built-in converters run fully offline, though the tool can optionally hand off to Azure cloud services for heavier lifting.

The interesting bit

The project is refreshingly honest that its output “may not be the best option for high-fidelity document conversions for human consumption.” It treats Markdown as an LLM-native serialization format rather than a publishing target, leaning into the fact that mainstream LLMs are trained on vast amounts of Markdown and that the syntax is highly token-efficient. For cases where built-in extraction falls short, a plugin system can bring in LLM-vision OCR, and Azure Content Understanding integration can even spit out structured YAML front matter alongside the Markdown body.

Key highlights

  • Converts dozens of formats including Office documents, images, audio, video (via Azure), and ZIP contents to Markdown
  • Runs fully offline with built-in converters; optional Azure Document Intelligence or Content Understanding for cloud-enhanced extraction
  • Plugin architecture (disabled by default) supports third-party extensions such as LLM-vision OCR for embedded images in PDFs and Office files
  • Azure Content Understanding adds structured field extraction as YAML front matter and handles video files that built-in converters cannot process
  • Security note: the tool performs I/O with the privileges of the current process, so the README explicitly warns about sanitizing inputs in untrusted environments

Caveats

  • Output is tuned for LLM and text-analysis consumption, not necessarily for human-readable fidelity
  • Many format converters require optional dependencies; the base installation is minimal
  • Azure Content Understanding and Document Intelligence integrations incur billable API calls per conversion

Verdict

Worth a look if you need to feed text analysis pipelines or LLM ingestion systems from messy real-world document dumps. Skip it if you need high-fidelity document conversion meant for human readers.

Frequently asked

What is microsoft/markitdown?
A Python utility that converts office documents and media into structured Markdown built for LLM pipelines, not human eyeballs.
Is markitdown open source?
Yes — microsoft/markitdown is open source, released under the MIT license.
What language is markitdown written in?
microsoft/markitdown is primarily written in Python.
How popular is markitdown?
microsoft/markitdown has 168.3k stars on GitHub and is currently accelerating.
Where can I find markitdown?
microsoft/markitdown is on GitHub at https://github.com/microsoft/markitdown.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.