MarkItDown
A Python utility that converts PDFs, Office documents, images, audio, HTML and other file types into Markdown for use with LLMs and text analysis pipelines.
MarkItDown is a lightweight Python utility for converting a range of file formats into Markdown so the content can be fed into LLMs and other text analysis tools. It supports PDF, PowerPoint, Word, Excel, images (using EXIF metadata and OCR), audio (using EXIF metadata and speech transcription), HTML, text-based formats such as CSV, JSON and XML, ZIP archives, YouTube URLs and EPubs.
The project favors Markdown as an output format because it stays close to plain text while still representing headings, lists, tables and links, and because mainstream LLMs are trained on large amounts of Markdown and handle it well; Markdown is also comparatively token-efficient.
MarkItDown requires Python 3.10 through 3.14, and the project documents installing it inside a virtual environment created with venv, uv or Anaconda.