Turn anything into
AI-ready Markdown

Milldown converts PDFs, Office documents, web pages — even scans — into clean, token-efficient Markdown. Your documents are converted entirely on your Mac — never uploaded.

macOS 14+ · Apple Silicon · one-time purchase, no subscription
Illustration of the app interface.

Where the token savings are real

Sending documents to an AI costs tokens, and every conversation turn and RAG query re-bills the whole document. But the saving depends entirely on what you'd otherwise have done — so Milldown only claims one where a cheaper path genuinely existed.

60–75%
PDFs
vs native PDF upload
70–85%
Web pages
vs raw page source
~39%
Spreadsheets
CSV mode vs Markdown tables
none
Word, PowerPoint, video
honestly — see below
Measured locally with the o200k tokenizer. PDF is the big one: uploading a PDF to an API bills every page as an image as well as text (Anthropic documents roughly 1,500–3,000 tokens per page), so Markdown removes a real, repeating cost. Web pages compare against raw page source, which is what a scraper or RAG pipeline actually ingests. Spreadsheets compare Milldown's own CSV mode against its Markdown-table output.
And where it isn't real: Milldown deliberately shows no savings figure for Word, PowerPoint or YouTube. It would be easy to claim 97% for a .docx by comparing against the raw OOXML inside it — but nothing sends a model raw OOXML, and measured against the plain text extraction that actually happens, Markdown costs the same (1,042 vs 1,045 tokens on a real document). A video has no raw path at all: a transcript is the only way to give one to an LLM, so the transcript is the baseline, not a saving against one. In those cases Milldown shows the token count and says why there's no comparison. What Markdown buys you there is structure — real headings, tables and lists that plain extraction throws away.

Markdown is for more than AI

Plain text is the one format that's diffable, portable, permanent, and readable by everything — including people. Whatever brings you here, the mill is the same.

🤖

AI & RAG pipelines

Token-efficient input for Claude, ChatGPT, and your vector store — with chunk export in Markdown or JSONL and a savings counter that proves the ROI.

🧠

Knowledge management

Feed your Obsidian vault or Notion workspace. Watch folders keep a Markdown mirror of everything; YAML front matter carries titles, sources, and dates.

🌿

Version control & dev

Docs that diff. Convert a whole folder tree, commit the Markdown mirror, and review document changes in pull requests like code. CLI included.

🏛

Archiving

Formats die; plain text doesn't. Provenance front matter records the source path, timestamp, and SHA-256 of every original — each conversion is a citable record.

📰

Publishing

From .docx drafts to Hugo/Jekyll-ready Markdown with publishing front matter. Clean headings, real tables, no pasted-from-Word debris.

♿️

Accessibility

A scanned PDF is invisible to a screen reader. On-device OCR turns it into structured, navigable text — without uploading anyone's documents.

Your documents never leave your Mac

Web converters upload your contracts, reports, and records to someone else's server. Milldown bundles the entire conversion engine inside the app.

🔒 100% local conversion
👁 On-device OCR (Apple Vision)
🚫 No account, no telemetry
📴 Works offline

One app, the whole workflow

Convert → clean → measure → pack → paste. From the window, the menu bar, Finder, or your own automations.

📄

Convert anything

PDF, Word, PowerPoint, Excel, HTML, CSV, JSON, XML, EPUB, ZIP archives, Jupyter notebooks, Outlook messages, and images — powered by Microsoft's open-source MarkItDown engine.

🌐

Web pages & YouTube

Paste a URL and get a clean article — Wikipedia formatting, or a YouTube video's full transcript with its title, description and metadata.

👁

Scanned PDFs

No embedded text? Milldown recognizes it with Apple's Vision framework, entirely on-device.

💰

Token savings counter

Shows tokens and dollars saved, priced against Claude, GPT, Gemini or open-weight rates — or a custom rate you enter. Projects over 1×, 10× or 100× uses, and stays silent where there's no honest saving to claim.

🪄

Clean Up

Strips repeated page headers, footers, page numbers and invisible characters, and tells you exactly how much it removed. Never touches code blocks. One click, fully revertible.

🗂

Context Packs

Merge a folder's worth of documents into one paste-able Markdown file with a table of contents.

🧩

RAG chunk export

Split by headings into 512–2,048-token chunks — numbered Markdown files or a single JSONL, ready for your vector store.

🏷

YAML front matter

Provenance headers (source, timestamp, SHA-256) for archives and pipelines, or Hugo/Jekyll headers for publishing.

⌨️

Command-line tool

Install the milldown command and script conversions in the terminal, CI, or anywhere else — same engine, full option parity.

🌳

Whole folder trees

Drop a folder and get a Markdown mirror of its entire structure — subfolders preserved, ready to commit or index.

📁

Watch folders

Drop files in a folder; a Markdown mirror appears automatically. Set it once, forget it.

📋

Menu-bar convert & copy

Drop a file on the menu-bar icon — the Markdown lands on your clipboard, ready to paste into any AI chat.

🖱

Finder integration

Right-click any file → Convert to Markdown. Open With works too.

✏️

Editable output

Trim the junk before you paste — token counts recompute live as you type.

⚙️

Automation

milldown:// URL scheme works from Shortcuts, scripts, and launchers, with a confirmation step so nothing converts behind your back.

💾

Session restore

Quit and reopen — your file list and converted Markdown come back exactly as you left them. No re-converting, no re-OCR.

↔️

Drag straight out

Drag any converted file from Milldown onto your Desktop or into Claude or ChatGPT — it arrives as a real .md file.

📊

Spreadsheets as CSV

Convert .xlsx to plain CSV instead of Markdown tables — about 39% fewer tokens for the same sheet data. One toggle.

🛡

Damaged files caught

A corrupt or truncated Office file is refused with an explanation, instead of quietly handing you a page of binary noise labelled "converted".

🖥

Terminal, ready to go

Open a shell with milldown already on its PATH, without installing anything system-wide.

🛑

Cancel anytime

Stop a long batch mid-run with one click. Progress shows exactly how many files are done.

Drop it. Mill it. Paste it.

1

Drop

Drag files or a whole folder, paste a URL, or right-click in Finder. Batch as many as you like.

2

Refine

Preview the Markdown, clean up conversion noise, watch the token counter drop.

3

Paste

Copy into Claude or ChatGPT, save to disk, export chunks, or build a context pack.

Simple pricing

Try everything free for 14 days. Then one purchase — no subscription, no account.

Milldown
$39
one-time · up to 3 Macs
  • ✓ Every feature, no tiers
  • ✓ Personal and commercial use
  • ✓ 14-day full trial first
  • ✓ 12 months of updates included
  • ✓ 14-day money-back guarantee
Get Milldown
Milldown Team
$149
one-time · 10 seats
  • ✓ Everything in Milldown
  • ✓ 10 seats, assign as you like
  • ✓ One invoice, one renewal date
  • ✓ Deactivate and move seats freely
  • ✓ Priority support
Get Milldown Team
Your purchase includes 12 months of updates. After that Milldown keeps working forever — you simply stop receiving new versions unless you renew for $19/year. No feature is ever switched off, and nothing is billed automatically.
Prices exclude VAT/sales tax, added at checkout where applicable.

Questions

Looking for how something works? The user guide covers every feature in detail.

Does Milldown upload my documents anywhere?

No. Your documents are converted entirely on your Mac — including OCR — and are never uploaded. Milldown makes exactly four kinds of network request, none of which carry a file from your disk: fetching a web page or YouTube transcript you explicitly paste, checking milldown.app for app updates, and verifying your licence key with our licensing service. There's no account and no telemetry, and converting local files works with Wi-Fi off.

Two optional features are the exception, and they're clearly marked as such in Settings: Azure Document Intelligence and Azure Content Understanding send your document to Microsoft. Both are off by default.

What formats does it support?

PDF (including scanned), Word (.docx), PowerPoint (.pptx), Excel (.xlsx/.xlsm), HTML, CSV, JSON, XML, RSS/Atom, EPUB, ZIP archives, Jupyter notebooks (.ipynb), Outlook messages (.msg), plain text and Markdown, and JPEG/PNG images — plus any web page, Wikipedia article or YouTube video by URL.

Legacy Office formats (.doc, .ppt, .xls) and Apple formats (.pages, .key, .numbers) need saving as their modern equivalents first. Milldown tells you which one rather than failing silently.

Why won't it convert audio or video files?

Because the only transcription available in the underlying engine uploads your audio to a cloud speech service. That would break the promise that nothing leaves your Mac, so audio conversion is disabled rather than quietly shipped. YouTube transcripts are different — those are captions YouTube already published, fetched as text.

How are the token-savings numbers calculated — and why do some files show none?

Locally, with the o200k tokenizer, comparing the Markdown against the realistic alternative for that file type. For PDFs that's native PDF upload, which bills every page as an image as well as text. For web pages it's the raw page source a scraper would ingest. For spreadsheets it's Milldown's CSV mode against its own Markdown-table output.

Some files honestly show no saving. A Word document costs about the same in Markdown as the plain-text extraction any tool would do anyway — claiming 97% by comparing against the raw OOXML inside the file would be measuring against something nobody does. A video has no raw path at all: a transcript is the only way to give one to an LLM. In those cases Milldown shows the token count and explains why there's no comparison, rather than inventing a flattering one.

Which pricing does the dollar figure use?

Whichever you pick: Claude Opus 5, Sonnet 5 or Haiku 4.5, GPT-5 or GPT-5 mini class, Gemini Pro or Flash class, open-weight/self-hosted, or a custom rate you type in. The presets are list prices at release and providers revise them often, so they're presented as editable defaults — if you're on negotiated or batch pricing, enter what you actually pay.

The 10× and 100× projections assume uncached pricing. With prompt caching enabled, repeat-use savings are roughly 3–5× smaller, though still real.

What does Clean Up actually do?

It strips conversion noise without touching your content: repeated running headers and footers (short lines that appear four or more times, the signature of per-page boilerplate), standalone page numbers, trailing whitespace, invisible characters like zero-width and non-breaking spaces, and runs of blank lines collapsed to one. It never touches anything inside a fenced code block, it tells you how much it removed, and Revert Cleanup restores the original exactly.

Can I use it for RAG and vector databases?

Yes — that's a first-class use case. Refine ▸ Export RAG Chunks splits on heading boundaries into numbered Markdown files at roughly 512, 1,024 or 2,048 tokens; Export Chunks as JSONL produces one JSON object per line for direct ingestion. Provenance front matter attaches the source path, timestamp and SHA-256 so every chunk stays traceable.

Does it handle whole folders and ongoing work?

Both. Drop a folder and Milldown mirrors the entire tree, subfolders preserved. Watch folders go further: nominate a folder and anything added to it is converted automatically into a "Markdown" subfolder, so a Markdown mirror maintains itself.

Is there a command-line tool?

Yes. Install the milldown command from the app menu and it works anywhere — scripts, Makefiles, CI — with full option parity. Or open a ready-made terminal from the app if you'd rather not install anything system-wide. There's also a milldown:// URL scheme for Shortcuts and launchers, which asks for confirmation so nothing converts behind your back.

What does it cost?

Free for 14 days — every feature unlocked, no account needed. Then $39 one-time covering up to 3 Macs, for personal and commercial use. A $149 Team licence covers 10 seats. Prices exclude VAT/sales tax, which is added at checkout where applicable — Stripe, as merchant of record, handles the tax and issues your receipt.

Your purchase includes 12 months of updates. After that the app keeps working forever; renewing at $19/year simply continues the new versions. Nothing is billed automatically, and no feature is ever switched off. There is a 14-day money-back guarantee.

Which Macs does it run on?

Apple Silicon Macs (M1 and later) running macOS 14 Sonoma or newer. Intel Macs are not supported. The download is around 175 MB because the conversion engine is bundled inside the app — there's nothing else to install, and no Python on your system is touched or required.

What happens when my trial ends?

Conversion stops; nothing else changes. Documents you've already converted stay in the app and on disk, and everything you saved is plain Markdown you own outright. Entering a license key resumes immediately.

What's under the hood?

Conversion is powered by Microsoft's open-source MarkItDown engine (MIT license), bundled inside the app, with Milldown's native macOS interface, on-device OCR via Apple's Vision framework, token analytics, and workflow tools built on top. Milldown is not affiliated with Microsoft.

Stop paying the raw-file tax

Every document you send to an AI without Milldown costs 2–3× the tokens it should.

Launching soon — request early access
macOS 14+ · Apple Silicon · ~175 MB · $39 one-time after a 14-day free trial · excl. VAT