What MarkItDown does
MarkItDown is a Python utility in the microsoft/markitdown repository on GitHub. Its README describes it as a tool for converting various files to Markdown for use with LLMs and text analysis pipelines. It reads PDF, PowerPoint, Word, Excel, images with OCR, audio with transcription, HTML, CSV, JSON, XML, ZIP files, YouTube URLs, and EPUB files. The output keeps the document structure: headings, lists, tables, and links. The README says the goal is structure for machines, not a high-fidelity copy for human readers. That is why the output is plain and short. It is a good input for a prompt, a search index, or a RAG pipeline.
Why MarkdownMe started with MarkItDown
The first version of MarkdownMe, in December 2025, was a small FastAPI server that called MarkItDown. You uploaded a file, the server converted it, and the page showed the Markdown. That prototype proved the idea: people want Markdown from their documents without a terminal. It also showed two problems for a public website. First, every upload had to go to a server, and many users do not want to send a contract or a résumé to a stranger's server. Second, a Python server with every MarkItDown extra costs money to run for each file. So the live site moved each conversion into the browser. PDF to Markdown uses pdf.js, Word to Markdown uses mammoth, and HTML to Markdown uses Turndown. These libraries run on your device.
MarkItDown or MarkdownMe: which one to use
Use MarkItDown when you convert many files, when you need a script, or when you need a format that MarkdownMe does not read. MarkdownMe does not convert PowerPoint, audio, images, EPUB, or ZIP files. It also does not run OCR, so a scanned PDF gives no text. Use MarkdownMe when you convert one file now, when you cannot install Python, or when the file must stay on your computer. The PDF and Word converters read the file in your browser. The Excel converter reads cells that you paste from Excel or Google Sheets, not an .xlsx upload. The URL converter is different: a MarkdownMe server fetches the web page, because browsers block most cross-site requests.
Run MarkItDown yourself
Install Python first. Then run `pip install 'markitdown[all]'` to get every optional converter. To convert one file from the command line, run `markitdown path-to-file.pdf > document.md`. In Python, create a converter with `md = MarkItDown()`, call `result = md.convert("test.xlsx")`, and read `result.markdown`. The `[all]` extra adds the dependencies for every format. If you only need PDF and Word, install fewer extras to keep the environment small. Check the README for the current list of extras, because the project changes often.
How do you do it step by step?
- 1Decide if you need a batch script or one file converted now.
- 2For one PDF, open PDF to Markdown and drop the file on the page.
- 3For a Word file, open Word to Markdown and upload the .docx file.
- 4Copy the Markdown or download the .md file.
- 5For many files or PowerPoint, audio, or scanned PDFs, install MarkItDown with pip.
Working example
This example shows the same one-page PDF converted by MarkItDown on the command line and by MarkdownMe in the browser.
markitdown report.pdf > report.md
# Quarterly report Revenue grew 12% from the last quarter. - New customers: 40 - Churn: 3%
Both tools give headings, paragraphs, and lists. For a text PDF the result is close. For a scanned PDF, MarkItDown can use OCR and MarkdownMe cannot.
Frequently asked questions
- Is MarkItDown free?
- Yes. MarkItDown is open source under the MIT license. You can use it in personal and commercial projects.
- Is there a MarkItDown online version?
- Microsoft does not host one. MarkdownMe gives browser converters for PDF, Word, HTML, web pages, and pasted Excel cells. They do not need Python or an account.
- Does MarkdownMe use MarkItDown?
- The first prototype did. The live site does not. Its PDF and Word converters run in your browser with pdf.js and mammoth, so those files stay on your device.
- Can MarkItDown convert PowerPoint to Markdown?
- Yes. MarkItDown reads PowerPoint files. MarkdownMe does not convert PowerPoint yet, so use MarkItDown for .pptx files.