Turn any Word, Excel, PowerPoint or PDF into text your AI can actually read
Microsoft's free MarkItDown turns office files into clean Markdown, with the headings, tables and speaker notes kept. Paste it into ChatGPT, Claude or your own local AI. It runs on your laptop and uploads nothing.
- Exactly what each file type keeps and loses, so you know when to trust the result
- Optional: Claude Desktop converting files for you through the MarkItDown MCP server
- Windows 10 or 11, a Mac, or Linux
- About 300MB of free disk space
- A few files to try. Use copies of your own, or anything you're happy to experiment on. Nothing gets uploaded.
- Optional, for the last step: Ollama and a model from Run a ChatGPT-style AI on your own laptop. Gemma 4 needs Ollama 0.20.7 or newer: check with
ollama --version.
Install MarkItDown
One command, no admin rights. uv keeps it in its own folder so it can't break anything else on your PC.
MarkItDown is a free, open-source tool from Microsoft (MIT licence). It's written in Python, but you don't need to know any Python: a small installer called uv handles all of that. If you already have uv from another lesson, skip straight to the MarkItDown install.
Windows (only if you don't have uv)winget install --id astral-sh.uv -eMac (only if you don't have uv)brew install uvMac without Homebrew, or Linux (only if you don't have uv)curl -LsSf https://astral.sh/uv/install.sh | shClose the terminal, open a new one, then install MarkItDown with the file types this mission uses:
Terminaluv tool install "markitdown[pdf,docx,pptx,xlsx,xls,outlook]" --python 3.12The bit in square brackets is the list of file types to support: PDF, Word, PowerPoint, Excel (new and old) and Outlook emails.
--python 3.12tells uv which Python to use, and uv downloads it for you if needed. The install takes about 20 seconds on a decent connection and uses 220MB, plus about 60MB for Python 3.12.CarefulDon't usemarkitdown[all], even though MarkItDown's README suggests it.[all]asks for an optional Azure cloud add-on that only exists as a pre-release, and uv won't use pre-releases unless told to, so it quietly installs version 0.1.5, an old one from February. Listing the file types, as above, gets the current version and skips cloud add-ons you don't need.Check it worked:
Terminalmarkitdown --versionOutputmarkitdown 0.1.8
markitdown --version prints 0.1.8 or newer.If it breaks'markitdown' is not recognised + 2 more
'markitdown' is not recognised
uv tool update-shell, close the terminal, open a new one and try again.It says 0.1.5
[all]. Run uv tool uninstall markitdown, then the install command above.