markitdown
markitdown
Convert almost any document into clean Markdown using Microsoft's markitdown. The output preserves structure (headings, tables, lists, links) rather than scraping flat text, which is exactly what makes it good as LLM input.
When to use this
Reach for markitdown whenever content lives in a non-Markdown format and someone wants it as Markdown or text: a PDF report, an Office file, a web page, a data file, an e-book, even an image or audio clip. It's the right tool both for one-off "what does this file say" tasks and for building a conversion step into a larger pipeline.
If the user just wants you to read a file you can already open directly (a .txt, .md, or source code), skip markitdown — it adds nothing there.
Prerequisites
Check it's available before relying on it:
markitdown --version # expect: markitdown 0.1.x
If missing, install with pip. The base package handles HTML, CSV/JSON/XML, and basic Office files; the [all] extra adds PDF, image OCR, audio transcription, and more: