TrendWhat rose on GitHub, every day at 07:30 KST · 한국어

GitHub · as of November 8, 2026 · View on GitHub →

microsoft/markitdown

Python document to Markdown converter

+1,051 stars in 7 days

Prepare documents for LLM pipelines by converting them to structured Markdown

Extracting tables, lists, and headings from PDFs or Word documents while preserving their structure is now a one-line command. MarkItDown is a Python utility that converts various file formats into Markdown, organizing documents so generative AI models can understand them easily. Its key feature is maintaining the document's skeleton rather than breaking complex layouts into plain text.

Why Markdown

Markdown is close to plain text but provides minimal markup to express document structure. Mainstream LLMs like GPT-4o naturally understand and include Markdown in their responses, suggesting they were trained on vast amounts of Markdown text. Additionally, the Markdown format is token-efficient, which helps reduce LLM processing costs and time. MarkItDown leverages these advantages to perform conversions optimized for LLM pipelines.

Supported File Formats

MarkItDown supports various formats, including PDF, PowerPoint, Word, Excel, images, audio, HTML, text-based formats (CSV, JSON, XML), ZIP files, YouTube URLs, and EPub.

  • Office Documents Converts PowerPoint, Word, and Excel files to Markdown.
  • Multimedia Extracts text from images via OCR and from audio via speech transcription.
  • Web and Other Supports HTML, YouTube URLs, EPub, ZIP files, and more.

Installation and Execution

It requires Python 3.10 through 3.14, and using a virtual environment is recommended. You can install it with all optional dependencies using the command pip install 'markitdown[all]'. If you only need specific formats, you can narrow the installation scope by specifying options, such as pip install 'markitdown[pdf, docx]'. It also supports a Python API approach where you instantiate the MarkItDown class and call the convert method.

Plugins and Azure Integration

MarkItDown supports third-party plugins to add new formats or features. For example, the markitdown-ocr plugin uses LLM Vision to extract text from images within PDFs or Word documents. Integrating with Azure Content Understanding enables cloud-based high-quality conversion and structured field extraction (YAML front matter). This feature is useful when converting video files or extracting domain-specific fields, but note that it incurs Azure API call costs. It also supports integration with Azure Document Intelligence to enhance layout analysis.

Security and Scope

MarkItDown performs I/O with the permissions of the current process, so inputs must be sanitized in untrusted environments. The convert() method is designed to handle local files, remote URIs, and byte streams, offering flexibility. However, for security-critical server-side applications, it is recommended to call the minimal necessary APIs, such as convert_local() or convert_stream(). This tool is optimized for text analysis in LLM pipelines and may not be suitable for high-resolution document conversion intended for human reading. As a Python library designed for integration into other systems, it is not recommended for directly building end-user applications like web servers or desktop apps.

Written by AI from this repository's README on September 26, 2026. For the facts, the original on GitHub is the reference.

By the numbers

GitHub trending history
24 days between Jun 19, when Trend began recording, and Nov 8, 2026 · best daily rank #2 (Sep 7)

Read from GitHub, as of November 8, 2026.

Language
Python
Topics
autogen · autogen-extension · langchain · markdown · microsoft-office · openai · pdf
Stars
194,427
Stars gained in 7 days
+1,051
Contributors
136
Forks
14,645
Latest release
v0.1.9 · October 21, 2026
Commits
429
Last commit
November 7, 2026
Open issues
328
Open pull requests
485
Used by
3,855

Related repositories

View on GitHub →

README badge

trend.ondo.sh · GitHub daily trending #2 · September 7, 2026

The badge above shows the highest this repository has ranked on GitHub's daily trending since June 19, 2026, and the day it did. Paste the Markdown below into your README. The badge opens this page, and it updates by itself when the repository climbs higher.

[![trend.ondo.sh](https://trend.ondo.sh/github/r/microsoft--markitdown/badge.en.svg)](https://trend.ondo.sh/github/r/microsoft--markitdown/en.html)