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

  1. Install uvuv installs Python tools cleanly, each in its own space, without touching the rest of your Mac. You need Homebrew.
    Terminal
    brew install uv
  2. 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.
    Terminal
    uv tool install --python 3.12 'markitdown[all]'
    uv tool update-shell
  3. Close and reopen the TerminalThe markitdown command is now available. Check with markitdown --help.

Convert your documents

  1. A single fileGo to the document's folder (type cd then drag the folder into the Terminal), then:
    Terminal
    markitdown contract.pdf -o contract.md
  2. A whole folder of PDFsA loop converts every PDF in the folder and creates a .md with the same name. Replace pdf with docx or xlsx for other formats.
    Terminal
    for f in *.pdf; do markitdown "$f" -o "${f%.pdf}.md"; done
  3. Hand the result to your assistantAttach the .md file to Claude (or another assistant) with a precise prompt. For example:
    Prompt
    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 .md before you rely on it.
  • For a one-off conversion without installing anything, uvx --python 3.12 --from 'markitdown[all]' markitdown file.pdf also 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.