#44th of 13 in Data and scraping for AI
markitdown
Python tool that converts PDF, Office, HTML and audio files to Markdown for LLMs
- Stars
- 190.3k
- License
- MIT
- Last commit
- Oct 2026
- Last release
- Sep 2026
- Language
- Python
90,998 on 25 Mar 2026190,260 on 14 Oct 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
MarkItDown is a Python library and CLI that converts PDF, Word, PowerPoint, Excel, images, audio, HTML, CSV/JSON/XML, ZIP, EPUB and YouTube URLs into Markdown, keeping headings, lists, tables and links. Optional backends add LLM image descriptions, Azure Document Intelligence, Azure Content Understanding, and OCR via the markitdown-ocr plugin. Output targets LLM pipelines rather than high-fidelity human-facing documents.
Who it is for: Developers feeding documents into LLM and RAG pipelines
Strengths
- Covers many formats through one CLI and Python API (convert, convert_local, convert_stream)
- Built-in converters run offline; install only needed formats via extras like [pdf,docx,pptx]
- Third-party plugin system, plus an LLM-vision OCR plugin using any OpenAI-compatible client
- MIT license, active releases, Python 3.10 through 3.14
Weaknesses
- Not meant for high-fidelity conversion; output is tuned for text analysis tools
- Video and structured field extraction need billable Azure Content Understanding
- convert() accepts URIs and files with process privileges; untrusted input must be sanitized
- LLM image descriptions currently limited to pptx and image files; OCR needs a plugin
What it needs
- no GPU
- Docker
- Needs Python 3.10-3.14, Azure Document Intelligence (optional), Azure Content Understanding (optional), OpenAI-compatible client (optional)
- Models: OpenAI-compatible vision models (e.g. gpt-4o)
Head to head
Also in Data and scraping for AI
See all 13| Rank | Project | Score |
|---|---|---|
| 1 | mineruDocument parser that converts PDFs, images and Office files to Markdown and JSON | 78 out of 100 |
| 2 | Crawl4AIPython web crawler that converts pages to LLM-ready Markdown and JSON | 77 out of 100 |
| 3 | doclingPython library and CLI that converts PDFs, Office files and more into structured text | 76 out of 100 |
| #5 | FirecrawlWeb scraping and crawling API that returns LLM-ready markdown | 67 out of 100 |
| #6 | langextractPython library that extracts source-grounded structured data from text using LLMs | 60 out of 100 |