git404hub

microsoft/markitdown

121,094PythonAudience · developerComplexity · 2/5MaintainedLicenseSetup · moderate

tl;dr

Python utility that converts PDFs, Word docs, PowerPoint, images, audio, and other file formats into clean Markdown text for feeding into AI models and text-processing pipelines.

vibe map

mindmap
  root((MarkItDown))
    What it does
      Converts files to Markdown
      Extracts structure and text
      Optimized for AI input
    Supported formats
      Office files
      Images and audio
      Web and archives
      Data formats
    How to use
      Command line tool
      Python library
      Plugin system
    Use cases
      Feed docs to LLMs
      Build search indexes
      Process media at scale
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what people make with this

VIBE 1

Convert a folder of PDFs and Word documents into Markdown to feed into ChatGPT or Claude for analysis.

VIBE 2

Extract text and structure from PowerPoint slides and Excel sheets to build a searchable knowledge base.

VIBE 3

Transcribe audio files and convert images with OCR into Markdown for processing by text analysis tools.

VIBE 4

Batch-convert mixed media (videos, documents, images) into a unified Markdown format for indexing.

stack

PythonpipAzure Document IntelligenceDocker

setup vibes

Difficulty · moderate time til it works · 30min

Requires Azure Document Intelligence API key and credentials to function.

Use freely for any purpose including commercial, as long as you keep the copyright notice.

in plain english

MarkItDown is a Python tool from Microsoft that converts many kinds of files into Markdown so they can be fed into large language models and other text-analysis pipelines. Markdown is a plain-text format that still preserves structure like headings, lists, tables, and links, and the README notes that mainstream LLMs natively understand Markdown well and that the format is also token-efficient, meaning the converted text uses fewer tokens, which lowers cost when sending to a model. The tool currently supports PDF, PowerPoint, Word, Excel, images with EXIF metadata and OCR, audio with EXIF metadata and speech transcription, HTML, text-based formats like CSV, JSON, and XML, ZIP files where it iterates over the contents, YouTube URLs, EPubs, and more. You install it with pip and can pull in only the dependencies you need (for example just PDF and Word). It can be used from the command line, pointing it at a file and redirecting the output to a Markdown file, or as a Python library. There is also a Docker image and an integration with Azure Document Intelligence for higher-quality conversion. A separate plugin called markitdown-ocr adds OCR to embedded images by calling an OpenAI-compatible vision model. Someone would use MarkItDown when they want to feed mixed real-world documents into an LLM workflow without writing one parser per file format. The README notes the output targets text analysis rather than human reading, so it may not be ideal for high-fidelity document conversion. It requires Python 3.10 or higher.

prompts (copy fr)

prompt 1
I have a folder of PDFs and Word documents. How do I use MarkItDown to convert them all to Markdown so I can feed them into an LLM?
prompt 2
Show me how to use MarkItDown as a Python library to convert a PowerPoint file to Markdown and extract the text programmatically.
prompt 3
I want to extract text and structure from a PDF with tables and images. What MarkItDown command should I run and what will the output look like?
prompt 4
How do I set up MarkItDown with OCR to extract text from images, and what optional dependencies do I need to install?
prompt 5
Can I use MarkItDown to convert a YouTube video URL into Markdown? What formats does it support besides office files?
peek the repo → explain another one

← microsoft on gitmyhub — every repo by this author, as a profile.

double-check against the repo, no cap.