# microsoft/markitdown

Python tool for converting files and office documents to Markdown.

Repository: https://github.com/microsoft/markitdown
Canonical: https://ross.abutalabs.com/products/markitdown
Language: Python
License: MIT
License Family: permissive
Topics: langchain, openai, autogen-extension, autogen, markdown, microsoft-office, pdf
Last push: 2026-08-19T19:36:22+00:00

## Health v2 (maintenance only)
Score: 83/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 83, longevity 47
- inputs: {"age_days": 658, "days_push": 14, "days_rel": 35, "gap_med": 64, "n_releases_24m": 10}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 176487, forks 12952 (observed 2026-08-28T04:12:24.456282+00:00)

## What it is
MarkItDown is a lightweight Python utility from Microsoft that converts many file formats (PDF, Office documents, images, audio, HTML, EPub, and more) into Markdown. It is designed to feed documents to LLMs and text analysis pipelines while preserving structure like headings, lists, tables, and links.

## Use cases
- convert pdf to markdown
- convert word documents to markdown for llm
- extract text from powerpoint and excel files
- prepare documents for rag pipelines
- ocr images to markdown text
- transcribe audio files to text
- convert html pages to markdown

## When to choose
- you need to feed documents into LLM or text-analysis pipelines
- you want token-efficient Markdown output preserving document structure
- you need a single tool handling many formats (Office, PDF, images, audio, EPub)
- you want a simple pip-installable Python library or CLI

## When to avoid
- you need high-fidelity document conversion for human consumption
- you require pixel-perfect layout or formatting preservation
- you need to process untrusted inputs without sanitization, given its I/O runs with process privileges

## Facets
- artifact type: cli-tool
- maturity: active
- function: pdf, ocr, speech-recognition, parser, llm-inference
- domain: developer-tools, large-language-models, pdf, files
- platform: python, cli, cross-platform
- tags: markdown-conversion, document-parsing, file-conversion, office-documents, llm-preprocessing, natural-language-processing

## Member repositories
- microsoft/markitdown (main) score 83

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:12:24.456282+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:10:46.198358+00:00, confidence not recorded.
  - readme: https://github.com/microsoft/markitdown (fetched 2026-08-28T04:12:24.456282+00:00, sha d78b232c22a0)
  - registry_pypi: https://pypi.org/pypi/markitdown/json (fetched 2026-08-28T17:23:40.251504+00:00, sha a54691bc8b60)
- Data as of 2026-08-30T08:39:29.467469+00:00.
