MarkItDown
Microsoft's universal document-to-Markdown converter: PDF, DOCX, PPTX, XLSX, HTML, images, audio, and ZIP — all to clean Markdown.
MarkItDown
MarkItDown is Microsoft's open-source utility that converts virtually any file format to clean Markdown text, making documents ingestible by LLMs and RAG pipelines. It handles PDFs, Word documents, PowerPoint presentations, Excel spreadsheets, HTML pages, images (with OCR/LLM description), audio files (via Whisper), and ZIP archives.
Key Features
- Universal input — PDF, DOCX, PPTX, XLSX, XLS, HTML, EPUB, MSG, CSV, JSON, XML, WAV, MP3, PNG, JPEG, ZIP
- LLM-enhanced — optionally use a vision model to describe images embedded in documents
- Audio transcription — integrates with Whisper for audio-to-text within document pipelines
- MCP server — official
markitdown-mcplets agents convert files via tool calls - CLI + Python API — use from the command line or as a library in pipelines
- Structure preservation — tables, headings, lists, and code blocks are faithfully converted
Quick Start
pip install markitdown[all]
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("report.pdf")
print(result.text_content[:500])
# CLI usage
markitdown presentation.pptx > output.md
Install via ai-supply
npx ai-supply add markitdown-document-converter
Curated mirror of the open-source MarkItDown project (MIT). Install upstream from the repository.
Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.
Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).
The same gate an agent runs before installing (POST /api/v1/trust/markitdown-document-converter/check). Click a policy:
Consume MarkItDown programmatically. Authenticate with an API key or session — see Authorize an agent.
# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/markitdown-document-converter
# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/markitdown-document-converter/check \
-H "Content-Type: application/json" \
-d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'
# CLI
npx ai-supply add markitdown-document-converter
# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/markitdown-document-converter/install \
-H "Authorization: Bearer $AIM_KEY"
# MCP tool
install_listing({ "slug": "markitdown-document-converter" })OpenAPI spec →Curated mirror — latest upstream source. See the repository for tagged releases.