AI and models · Edition No. 14 · 8 Sep 2026

microsoft/markitdown

Converts PDF, Word, PowerPoint, Excel, HTML, images and audio into Markdown in one command.

← AI and modelsRead the whole edition →
MarkItDown: office files into plain text. Converts documents for software to read.

190.8k stars · MIT · v0.1.8 (2026-09-21) · Track this in Rising ↗

Converts PDF, Word, PowerPoint, Excel, HTML, images and audio into Markdown in one command.

Verified26 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive100

Last code pushed 23 Oct 2026, 4 days before this check.

Releases100

Latest release v0.1.9 on 21 Oct 2026.

Maturity40

Public since November 2024, a little over 1 year.

Adoption100

192,357 stars and 14,376 forks.

Activity85

113 commits and 124 new issues in the last 90 days.

Community100

135 contributors. 113 pull requests merged in 90 days.

Security80

A security policy says how to report a problem. No published security advisories.

Licence MIT: permissive: use it for anything, keep the notice
How the bars are scored
  • Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
  • Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
  • Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
  • Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
  • Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
  • Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
  • Security. A published security policy 80, none 40; published advisories are listed, not scored.

Checked by Repo Radar on 26 Oct 2026 from the repository on GitHub. Covered in Edition 14.

▶Repo detailsthe review · specs · pros & cons · install

What it does

MarkItDown is a Python tool and library from Microsoft. It converts PDF, Word, PowerPoint, Excel, HTML, CSV, JSON, XML, ZIP archives, images and audio into Markdown, which is plain text with simple marks for headings and lists. It is built for feeding text to language models rather than for showing a document to a reader, so it keeps structure and drops styling. Optional extras add support for more formats, and a plug-in interface allows others to be added. Version 0.1.8 was published on 21 September 2026 on the Python package index, PyPI, and code last landed on 4 October 2026. It does not rebuild page layout: complicated PDFs come out flat, and columns can be mixed together.

Why it matters

Who it suits. It suits an application that must accept whatever file a person uploads, especially spreadsheets and slide decks that careful PDF readers do not cover. It suits a quick one-off conversion from the command line. Skip it when the PDFs are the hard kind, with columns, tables and scanned pages.

Verdict. Install it, try it first, and keep a careful reader behind it for the files it flattens. docling-project/docling and datalab-to/marker are the careful ones, and both are slower by design. Pin the version, because the output can change between releases and anything built on that text will notice.

Stars190.8k
LicenceMIT
Latestv0.1.8 (2026-09-21)
Summary (Key Points)from the README
Key features
  • Broad format support: Converts PDF, PowerPoint, Word, Excel, images, audio, HTML, CSV, JSON, XML, ZIP, YouTube URLs and EPub to Markdown.
  • Structure preservation: Keeps headings, lists, tables and links in the Markdown output.
  • Optional dependency groups: Install only the formats you need, such as `[pdf]`, `[docx]` or `[pptx]`, or everything with `[all]`.
  • Third-party plugins: Plugins are off by default, can be listed and enabled, and are discovered through the #markitdown-plugin GitHub tag.
  • OCR plugin: The markitdown-ocr plugin extracts text from images embedded in PDF, DOCX, PPTX and XLSX files using an LLM vision client.
  • Azure Document Intelligence: Cloud layout extraction with selectable models, analysis add-ons and structured query fields, output as YAML front matter.
  • Azure Content Understanding: Cloud conversion for documents, images, audio and video, with structured field extraction and custom analyzers.
  • LLM image descriptions: Uses `llm_client` and `llm_model` for image descriptions in PPTX and image files, with `max_retries` defaulting to 2.
Ways to install
Platform or methodWhat it needsEffort
pip (`pip install 'markitdown[all]'`)Python 3.10 through 3.14; a virtual environment is recommendedLow
Install from sourceSource checkout; the README gives no further stepsNot stated
DockerSection exists, but the README gives no detailsNot stated
Important
  • Process privileges: MarkItDown performs I/O with the current process's privileges, so untrusted inputs must be validated and restricted before conversion.
  • Narrowest API: Prefer `convert_local()` or `convert_stream()` over the permissive `convert()` when the input source is limited.
  • Not for high-fidelity output: The output is designed for LLM and text-analysis pipelines and may not suit human-facing document conversion.
  • Paid cloud services: Azure Content Understanding and Document Intelligence calls are billable, and several Document Intelligence add-ons (formulas, ocrHighResolution, styleFont, queryFields) carry extra charges.
  • Silent OCR skip: If the OCR plugin gets no `llm_client`, OCR is skipped without an error and the built-in converter is used.
  • Limited video support: Only Content Understanding handles video; built-in converters have no video support.
  • Scope of contributions: The project does not accept web servers, REST APIs, hosted services or GUI applications in this repository.

Written by an AI model from the project’s README; not part of the review, and it can be wrong.

Good
  • A very wide range of formats from one command, including spreadsheets and slide decks.
  • Fast, because it is not trying to rebuild page layout.
  • MIT licence, from Microsoft, with version 0.1.8 published in September 2026 and code landing this month.
Watch for
  • The version number is 0.1.8. The output can change between versions, so pin it and test before upgrading.
  • PDFs are the weak point. Complicated layouts come out flat and columns get mixed up.
  • Some formats need extra packages. Install the full set, or real user files will produce missing-feature errors.
Install
source venv/bin/activate
pip install 'markitdown[all]'
markitdown report.pdf > report.md
Screenshots
microsoft/markitdown: GitHub preview card

On Stack Radar: AI & Automation › AI Development & Evaluation › RAG Tools.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.