What it is
MarkItDown converts files into Markdown so language models and text pipelines can read them. It handles PDF, Word, PowerPoint, Excel, HTML, CSV, JSON, XML, EPUB, ZIP archives, images (metadata and OCR), audio (transcription) and YouTube URLs, keeping headings, lists, tables and links where it can.
It is a Python library and command-line tool with optional extras per format, a plugin system (including an OCR plugin that calls a vision model), and optional hand-offs to Azure Document Intelligence or Azure Content Understanding for harder files. A separate package wraps it as an MCP server.
Microsoft says the output is meant for text analysis tools, not high-fidelity conversion for people to read.
Our review
MarkItDown is the quickest way to turn Word, PowerPoint and Excel files into Markdown a model can read, and a poor choice for PDFs whose meaning lives in tables or scans. It has about 191,700 stars, and Microsoft shipped v0.1.9 on 21 October 2026, a month after v0.1.8. Both are maintenance releases: v0.1.9 raised the HTTP read chunk from 512 bytes to 64 KB, added a language setting for audio transcription and rebuilt the tests around real fixtures.
On PDFs it falls short of layout-aware converters. A comparison on danilchenko.dev, first published in May 2026 and updated in August, found MarkItDown turned PDF tables into run-on paragraphs, scrambled multi-column pages and returned almost nothing from a scanned document, because it does no OCR by default. The same test timed it at 0.6 seconds for a 14-page document with an install of about 80MB, against roughly 2.4GB for Docling.
The repairs cost money. The markitdown-ocr plugin sends embedded images to a vision model you supply, such as GPT-4o, so OCR is billed per call by that provider. The Azure route is priced per page: Document Intelligence's Read model lists $1.50 per 1,000 pages and its prebuilt models, including Layout, $10 per 1,000, while Content Understanding's standard document extraction is $5 per 1,000. At those rates, 100,000 scanned pages a month through Layout comes to about $1,000.
The README is candid about security. MarkItDown reads files and URLs with the privileges of the process running it, so a service that accepts untrusted input should call the narrowest convert function, such as convert_stream, and sanitise paths. Plugins are off by default, which is the right call for a library that runs third-party code.
Microsoft has also drawn a line on scope: the contribution guide rules out web servers, REST APIs and hosted conversion services in the repo, apart from the markitdown-mcp package. Anyone wanting a conversion service builds and secures it themselves, which is a different proposition from Docling or Unstructured.
Where it earns its place
A RAG engineer indexing 20,000 internal Word and PowerPoint files
Turn an Office archive into Markdown chunks for a vector store
pip install 'markitdown[docx,pptx,xlsx]' and convert in a batch job on an ordinary CPU instance. Headings, lists and tables survive well in Office formats, and there are no per-page fees.
An operations team at an insurer processing scanned claim forms
Extract text and tables from scanned PDFs
Built-in conversion returns almost nothing from scans, so route them to Azure Document Intelligence with the az-doc-intel extra. Layout pricing is $10 per 1,000 pages, about $1,000 a month at 100,000 pages, and the files leave your network for Azure.
A developer adding file uploads to an internal chat assistant
Accept user documents without opening a file-read or SSRF hole
Call convert_stream on the uploaded bytes rather than convert on a user-supplied path or URL, as the README advises, and keep plugins disabled. Free, but the security boundary is yours to build.
Before you commit
- Setup
- pip install 'markitdown[all]' (Python 3.10 to 3.14) or pick per-format extras; markitdown file.pdf > out.md from the CLI, or MarkItDown().convert() in Python. A Dockerfile is provided to build and run it locally.
- Integrations
- Python API and CLI; markitdown-mcp package for MCP clients; third-party plugins (disabled by default); markitdown-ocr using any OpenAI-compatible client; Azure Document Intelligence and Azure Content Understanding back ends.
- Data and privacy
- Local by default with no telemetry mentioned in the README. Files go to OpenAI or another provider only if you enable the OCR plugin or image descriptions, and to Azure if you use those back ends. It reads any path or URL the process can reach. MIT; no published security advisories.
- Cost at scale
- Free on CPU for Office and born-digital PDFs. Azure Document Intelligence Read is $1.50 and Layout $10 per 1,000 pages, Content Understanding standard extraction $5 per 1,000; vision-model OCR is billed per call by your provider.
- Limits
- No OCR or table structure for PDFs out of the box; about 740 open issues and pull requests; pre-1.0 version numbering; servers and hosted services are out of scope for the project.
What's good
- Broad format coverage in one library
- Fast, with a small install and per-format extras
- Plugins off by default; optional Azure back ends
- MIT licence and Microsoft maintenance
What's not
- Flattens PDF tables and multi-column layouts
- OCR needs a paid vision model or Azure
- Reads any file or URL the process can reach
- No hosted or server mode in scope
Best for
Developers who need to feed Office documents and clean digital PDFs to a model quickly and cheaply.
Alternatives
MarkItDown: common questions
- Is MarkItDown worth it?
- MarkItDown gets Office files into a model faster than anything else open source, and flattens the PDFs that retrieval most needs kept intact. We rate it 3.8 out of 5.
- How much does MarkItDown cost?
- Free and open source under the MIT licence. Optional Azure conversion services are billed by Microsoft.
- What are the downsides of MarkItDown?
- Flattens PDF tables and multi-column layouts; oCR needs a paid vision model or Azure; reads any file or URL the process can reach; no hosted or server mode in scope.
- Who is MarkItDown best for?
- Developers who need to feed Office documents and clean digital PDFs to a model quickly and cheaply.
- How much does MarkItDown cost for a team or in production?
- Free on CPU for Office and born-digital PDFs. Azure Document Intelligence Read is $1.50 and Layout $10 per 1,000 pages, Content Understanding standard extraction $5 per 1,000; vision-model OCR is billed per call by your provider.
- Is MarkItDown safe for company data?
- Local by default with no telemetry mentioned in the README. Files go to OpenAI or another provider only if you enable the OCR plugin or image descriptions, and to Azure if you use those back ends. It reads any path or URL the process can reach. MIT; no published security advisories.
- What are the best MarkItDown alternatives?
- The closest alternatives we have reviewed are Docling, Unstructured and Marker.
Answers checked Oct 23, 2026.