MarkItDown

github.com/microsoft/markitdown Text Tools Open-source projectOpen source

Convert files and Office documents to Markdown with MarkItDown, a Python tool.

github.com/microsoft/markitdown
MarkItDown homepage screenshot

About MarkItDown

MarkItDown is a Python tool that converts files and Office documents into Markdown. Its stated purpose is to prepare content for large language models and other text analysis pipelines. It aims to keep document structure, such as headings, lists, tables, and links, in the Markdown output. The source describes it as most comparable to textract.

It supports conversion from PDF, PowerPoint, Word, Excel, images (using EXIF metadata and OCR), audio (using EXIF metadata and speech transcription), HTML, text-based formats (CSV, JSON, XML), ZIP files, YouTube URLs, and EPub files. Requires Python 3.10 through 3.14. Optional dependencies are installed per format, or all at once with the [all] option. The source warns that it performs input and output with the privileges of the current process, so inputs should be sanitized in untrusted environments and the narrowest conversion function should be used. Output is intended for text analysis tools and may not be the best choice for high-fidelity conversions meant for human reading.

Key features

  • Converts PDF, PowerPoint, Word, and Excel files to Markdown
  • Preserves headings, lists, tables, and links in converted output
  • Extracts EXIF metadata and OCR text from images
  • Transcribes speech from audio files, with EXIF metadata extraction
  • Converts HTML, CSV, JSON, XML, EPub, ZIP contents, and YouTube URLs
  • Runs from the command line with file output or piped input
Best for: Python developers and data teams building LLM or text analysis pipelines who need document content in Markdown.
Good for
  • Open source, with the code available in a public GitHub repository
  • Supports a wide range of input formats, including Office files, PDFs, images, audio, and YouTube URLs
  • Aims to preserve document structure such as headings, lists, tables, and links
Watch out for
  • Output is meant for text analysis tools and may not suit high-fidelity conversions for human reading
  • Runs with the privileges of the current process, so inputs should be sanitized in untrusted environments
  • Requires Python 3.10 through 3.14

MarkItDown at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Yes · Source code
Language
English
Last checked
Oct 6, 2026 · Online when checked
Listed
Oct 5, 2026

MarkItDown alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in Text Tools

Well-known listings from the same topic.

All 248

MarkItDown FAQ

Which Python versions does MarkItDown require?
It requires Python 3.10 through 3.14. The source recommends using a virtual environment to avoid dependency conflicts.
How is MarkItDown installed?
It can be installed with pip using pip install 'markitdown[all]', or from source by cloning the repository and running pip install -e 'packages/markitdown[all]'.
Is the output suitable for reading by people?
The source says the output is often reasonably presentable, but it is meant for text analysis tools and may not be the best option for high-fidelity conversions for human consumption.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing