Clean, agent-ready Markdown from any website.
distill is a local-first CLI and MCP server that turns a URL or raw HTML into Markdown an LLM agent can actually use — boilerplate stripped, structure preserved, links resolved. Fast, private, deterministic.
npx -y -p distill-md distill-mcp
Try it
runs the real distill core, in your browserPaste HTML below and distill converts it to Markdown — the actual Rust engine compiled to WebAssembly, running fully client-side. No server, nothing leaves the page.
Output appears here…
Local & private
No cloud, no per-page cost. Nothing leaves your machine.
Deterministic
Byte-identical Markdown for the same input, every run.
Structure-preserving
Real tables, fenced code with language, nested lists, blockquotes.
Metadata & links
Title, author, date in YAML frontmatter; links resolved to absolute URLs.
Install
Published as distill-md; the installed command is still distill.
Agents · MCP server (no install)
npx -y -p distill-md distill-mcp
macOS / Linux
curl -LsSf https://github.com/gokulnair2001/distill/releases/latest/download/distill-md-installer.sh | sh
Rust
cargo install distill-md
Prebuilt binaries for macOS, Linux, and Windows on every GitHub Release.
Usage
# From a URL
distill https://en.wikipedia.org/wiki/Markdown
# From a local file, or stdin
distill page.html
curl -s https://example.com | distill -
# Multiple inputs → one file each
distill https://a.com https://b.com -o out/
Use with an agent
Run distill as an MCP server and any local agent (Claude Code, etc.) can call it as a tool — distill_url, distill_urls, distill_html. SSRF-guarded by default.
claude mcp add distill -- npx -y -p distill-md distill-mcp