# MarkItDown Document-to-Markdown Converter by Microsoft

> MarkItDown is a Python utility by Microsoft that converts PDF, Word, PowerPoint, Excel, images, audio, HTML, and other files into Markdown for LLM consumption. It preserves headings, lists, tables, and links while producing token-efficient output optimized for text analysis pipelines.

- Skill: `agentskillexchange/markitdown-document-to-markdown-converter-by-microsoft` (Agent Skill)
- Install (CLI): `npx skillmds@latest add agentskillexchange/markitdown-document-to-markdown-converter-by-microsoft`
- Raw SKILL.md: https://api.skillmd.com/api/skills/agentskillexchange/markitdown-document-to-markdown-converter-by-microsoft/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: agentskillexchange (https://skillmd.com/u/agentskillexchange)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/agentskillexchange/markitdown-document-to-markdown-converter-by-microsoft

---


# MarkItDown Document-to-Markdown Converter by Microsoft

MarkItDown is a Python utility by Microsoft that converts PDF, Word, PowerPoint, Excel, images, audio, HTML, and other files into Markdown for LLM consumption. It preserves headings, lists, tables, and links while producing token-efficient output optimized for text analysis pipelines.

## Installation

Use the upstream install or setup path that matches your environment:
- uv venv --python=3.12 .venv
- conda create -n markitdown python=3.12
- conda activate markitdown
- To install MarkItDown, use pip: pip install 'markitdown[all]'. Alternatively, you can install it from the source:

Requirements and caveats from upstream:
- MarkItDown is a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines. To this end, it is most comparable to [textract](https://github.com/deanmalmgr...
- MarkItDown requires Python 3.10 or higher. It is recommended to use a virtual environment to avoid dependency conflicts.
- With the standard Python installation, you can create and activate a virtual environment using the following commands:

Basic usage or getting-started notes:
- bash
- source .venv/bin/activate
- If using uv, you can create a virtual environment with:

- Source: https://github.com/microsoft/markitdown
- Extracted from upstream docs: https://raw.githubusercontent.com/microsoft/markitdown/HEAD/README.md

## Source

- [Agent Skill Exchange](https://agentskillexchange.com/skills/markitdown-document-to-markdown-converter-microsoft/)

