microsoft/markitdown
Python tool for converting files and office documents to Markdown.
How markitdown is put together
MarkItDown is a Python 3.10+ utility monorepo that converts many file formats (PDF, Office docs, images, audio, HTML, ZIP, YouTube URLs, EPub, etc.) into Markdown for LLM pipelines. It is organized as multiple hatchling-built packages under packages/: the core 'markitdown' library (a converter-registry architecture where each format has a dedicated DocumentConverter), a 'markitdown-mcp' MCP server exposing conversion over STDIO/SSE/Streamable HTTP, a sample third-party plugin, and an OCR plugin using LLM Vision. Data flow: input file/stream/URI -> StreamInfo hints -> Magika-based type detection -> matching converter -> Markdown string returned via DocumentConverterResult. Cloud paths route to Azure Document Intelligence or Azure Content Understanding using caller-supplied endpoints.
Languages
Frameworks
Infrastructure
Major components
Core conversion engine (packages/markitdown/src/markitdown/_markitdown.py)
MarkItDown class orchestrating type detection, converter selection, URI/stream/local-file entry points, LLM client wiring, and plugin loading.
Format converters (packages/markitdown/src/markitdown/converters/)
One converter module per format (pdf, docx, pptx, xlsx, html, csv, epub, zip, youtube, audio, image, outlook msg, rss, wikipedia, ipynb, Bing SERP, plain text) plus cloud converters for Document Intelligence and Content Understanding.
CLI (packages/markitdown/src/markitdown/__main__.py)
argparse-based command-line front end supporting stdin/files, output hints, plugins, Doc Intelligence and Content Understanding flags.
Converter utilities (packages/markitdown/src/markitdown/converter_utils/)
Shared helpers such as DOCX preprocessing and OMML math-to-LaTeX conversion.
MCP server (packages/markitdown-mcp)
Exposes a single convert_to_markdown tool accepting http/https/file/data URIs over STDIO, SSE, or Streamable HTTP via Starlette/Uvicorn.
Plugin system
Discovers third-party converters via the 'markitdown.plugin' entry-point group, disabled unless explicitly enabled.
OCR plugin (packages/markitdown-ocr)
Wraps PDF/DOCX/PPTX/XLSX converters to extract text from embedded images via a user-supplied OpenAI-compatible vision client.
Sample plugin (packages/markitdown-sample-plugin)
Reference implementation showing how to register a custom converter (RTF via striprtf) through the plugin entry point.
A single maintenance update tightened security in the project's automated GitHub workflows.
3 weeksWeek of 2026-08-17
Week of 2026-08-17latest
A single maintenance update tightened security in the project's automated GitHub workflows.
Week of 2026-07-27
The team shipped version 0.1.7 along with a fix for bugs in how Word equations are converted.
Week of 2026-07-20
A busy week of PowerPoint and math-conversion fixes made output more accurate and faster.
Over the past few weeks the markitdown project focused on polishing its document conversion quality and reliability. Late July brought a batch of fixes for PowerPoint files (images, charts) and math equation formatting, plus a new version release. The most recent week was a small security-minded maintenance change to harden the project's automated workflows.
Week by week
2026-08-17A single maintenance update tightened security in the project's automated GitHub workflows.latest1 change
Chore
Pinned GitHub Actions to full-length commit SHAs
The project's automation scripts now reference exact, verified versions of their building blocks instead of easily spoofed short names, making the pipeline harder to tamper with.
2026-07-27The team shipped version 0.1.7 along with a fix for bugs in how Word equations are converted.2 changes
Chore
Released version 0.1.7
The project bumped its version number and published a new official release bundling recent improvements.
Fix
Fixed Word equation template bugs
Corrected problems in the templates used when converting Office math equations, so formulas come out more accurately.
2026-07-20A busy week of PowerPoint and math-conversion fixes made output more accurate and faster.4 changes
Fix
Handled SVG images in PowerPoint slides without raster fallbacks
Slides containing vector-style images that lack a standard picture version no longer break or get skipped during conversion.
Docs
Cleaned up typos and formatting across comments and docs
Swept through the code's notes and documentation fixing spelling mistakes and tidying formatting for readability.
Fix
Fixed invalid LaTeX symbols in equation conversion
Greek letters like mu, nu, and tau plus the down-arrow now convert to correct math notation instead of broken codes.
Refactor
Sped up PowerPoint chart conversion
Removed an inefficient lookup pattern that slowed down processing as chart data grew larger.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required