- Tool
- MarkItDown (Microsoft), uv
- Price
- Free (MIT licence)
- Time
- 5 min the first time
- Level
- Terminal, beginner
Why Markdown? Because an AI assistant reads structured text better than a laid-out PDF: tables stay tables, headings stay headings. And a .md file is easy to check, fix and reuse in any tool.
Supported formats according to the documentation: PDF, Word, Excel, PowerPoint, HTML, CSV, JSON, XML, EPUB, ZIP archives, and even images or audio (metadata, transcription).
Install MarkItDown
- Install uvuv installs Python tools cleanly, each in its own space, without touching the rest of your Mac. You need Homebrew.
brew install uv - Install MarkItDown with every formatMarkItDown needs Python 3.10 to 3.14, so we ask for 3.12 to avoid a version that is too recent.
uv tool install --python 3.12 'markitdown[all]' uv tool update-shell - Close and reopen the TerminalThe
markitdowncommand is now available. Check withmarkitdown --help.
Convert your documents
- A single fileGo to the document's folder (type
cdthen drag the folder into the Terminal), then:markitdown contract.pdf -o contract.md - A whole folder of PDFsA loop converts every PDF in the folder and creates a
.mdwith the same name. Replacepdfwithdocxorxlsxfor other formats.for f in *.pdf; do markitdown "$f" -o "${f%.pdf}.md"; done - Hand the result to your assistantAttach the
.mdfile to Claude (or another assistant) with a precise prompt. For example:The attached file is a document converted to Markdown. 1. Summarise it in 5 points, naming the section each point comes from. 2. List the dates, amounts and commitments in a table. 3. Flag any ambiguous or incomplete passage. Do not make anything up: if a piece of information is not in the text, write "not in the document".
Good to know
- A scanned PDF is an image: if it has no selectable text, the conversion will come out empty or nearly so.
- Complex layouts (columns, merged cells) can come out jumbled: glance at the
.mdbefore you rely on it. - For a one-off conversion without installing anything,
uvx --python 3.12 --from 'markitdown[all]' markitdown file.pdfalso works.
Mind the data. The conversion stays on your Mac, but as soon as you send the .md to an online AI, it leaves your computer: remove anything confidential (client data, bank details). The documentation also notes that the tool reads and writes with your permissions: only run it on files you know, and only install it from the official source.
Sources
Do you get dozens of PDFs a week to read and retype? Conversion and extraction can run on their own: that is the kind of automation I set up.