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-readergives any LLM client alean_read(url)tool. Same core. - For agents:
GET /api/read?url=…returns JSON, or sendAccept: text/plainto any/<url>for raw text.