lean reader

Paste any URL. Get the article as token-minimized text your LLM can actually afford to read — with a receipt showing exactly how many tokens you saved.

or prepend the URL directly: https://lean-reader-web.vercel.app/https://example.com

What it does

  • Strips the page to the article — without dropping the body. No nav, cookie banners, <script> tags, or inlined SVG. It runs two extractors (Defuddle + Mozilla Readability) and keeps whichever recovers more body, so it doesn't silently delete article sections to look "leaner." Keeps ~99% of the body Readability keeps, then ~32% fewer tokens via a minimize pass — the open benchmark flags its own losing cases too.
  • A receipt on every call. Before → after tokens, % saved, est. $ saved — with the model and tokenizer always shown, so you can check the math. (The big multiples you'll see are vs raw page HTML, which nobody feeds an LLM; against another extractor the honest edge is the ~32% above, and it comes from the token-minimize pass, not from cutting content.)
  • Works as an MCP server too. npx lean-reader gives any LLM client a lean_read(url) tool. Same core.
  • For agents: GET /api/read?url=… returns JSON, or send Accept: text/plain to any /<url> for raw text.