← All reportsPublic report

microsoft/markitdown

Python tool for converting files and office documents to Markdown.

176k stars Python View on GitHubprofiled 11d ago
Try GitZoid
7PRs this week
6Contributors
0Deps scanned
0Issues found
01 · Repo overview

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

Python

Frameworks

MCP SDK (FastMCP)StarletteUvicornmarkdownifyBeautifulSoup4

Infrastructure

Dockerfile (root)packages/markitdown-mcp/Dockerfile.devcontainer/devcontainer.json.pre-commit-config.yaml

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.

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.

03 · Security check

Dependencies and code review

0 dependencies scanned

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