Reader-LM: Small Language Models for Cleaning and Converting HTML to Markdown
Reader-LM: Small Language Models for Cleaning and Converting HTML to Markdown
Reader-LM is interesting because it treats HTML to Markdown conversion as a language problem, not just a parsing problem.
Traditional converters walk the DOM, strip tags, and map elements like headings, lists, links, and tables into Markdown. That works well on clean pages. It gets harder on modern pages full of cookie banners, sticky nav, related posts, hidden mobile menus, tracking widgets, and duplicated content.
A small language model trained for reading and cleanup can make more human decisions: this paragraph is the article, that block is navigation, this repeated headline is noise, and this table should stay structured. That is the core appeal of Reader-LM: use a compact model to turn messy HTML into clean Markdown that is useful for AI tools.
I tested this problem from the user side while working with Web2MD, a Chrome extension that converts web pages to Markdown for ChatGPT, Claude, Cursor, and other AI workflows. The takeaway is simple: model-based cleanup is promising, but where the conversion runs matters just as much as how smart the converter is.
If the tool cannot access the page you are looking at, it cannot clean it.
Why HTML to Markdown is still hard
On paper, HTML to Markdown sounds mechanical. A heading becomes a Markdown heading. A paragraph becomes text. A list becomes bullets.
In practice, a web page is not just an article. It is an application shell.
A typical page can include:
- Header navigation
- Footer links
- Cookie notices
- Newsletter boxes
- Ad containers
- Related article cards
- Mobile-only menus
- Script-rendered content
- Login-only sections
- Paywalled body text
- Tables with nested spans
- Code blocks with syntax wrappers
This is why a raw copy-paste into an AI tool is often bad. You burn tokens on layout junk and still lose the structure that mattered.
Here is the kind of Markdown output I want from a converter when I send a technical article to an AI assistant:
# Reader-LM: Small Language Models for HTML to Markdown
Reader-LM is a small language model designed to clean web pages and convert HTML into readable Markdown.
## Why it matters
Most web pages include boilerplate such as navigation, footers, cookie banners, and related links. A cleanup model can remove that noise while preserving the main content.
## Practical uses
- Summarizing long articles
- Sending documentation to coding assistants
- Archiving research notes
- Preparing context for retrieval systems
That output is not fancy. It is useful. The heading hierarchy is intact, the bullets are clean, and the AI model does not have to guess which text matters.
What Reader-LM gets right
Reader-LM points in the right direction because web cleanup needs judgment. A small model can be trained to recognize reading order, remove boilerplate, and preserve important semantic structure.
The "small" part matters too. A giant general-purpose model can do this, but using a large model for every page conversion is expensive and slow. A smaller specialized model can be a better fit for this narrow task, especially if it can run cheaply at scale or close to the user.
The best use case is not converting pristine documentation. Simple DOM-based converters already do that well. The better test is a messy page with:
- Repeated headlines
- Sidebar summaries
- Embedded cards
- Comment prompts
- Related content
- Partially structured tables
A good Reader-LM style converter should preserve the main article and discard the page furniture.
The access problem: server-side readers cannot see everything
This is where browser-side conversion becomes important.
Tools like Jina Reader and Firecrawl are strong. Jina Reader is convenient for quickly fetching a public URL as clean text or Markdown. Firecrawl is powerful for crawling, scraping, extraction, and developer workflows. If you are processing public pages at scale, both are worth knowing.
But server-side tools have a hard limit: they fetch the page from their server, not from your browser session.
That means they may fail or return incomplete content for:
- Logged-in dashboards
- Internal docs
- Course pages
- Subscription content
- Paywalled articles you can legally access
- Pages behind SSO
- Apps that require browser state
- Content rendered after authentication
This is the main reason I use Web2MD for certain pages. It runs in Chrome, on the page I already have open. If I can view the content in my browser, Web2MD can usually convert that rendered page into Markdown.
That is a different category of tool from a remote reader API. It is not trying to crawl the public web. It is trying to convert the page in front of you.
My test workflow
I tested Web2MD on three kinds of pages:
- A public documentation page with headings, code, and tables
- A logged-in web app page with account-specific text
- A long article with newsletter boxes and related links
The public documentation page was the easiest. Most converters can handle that reasonably well. The important detail was whether the Markdown kept code blocks separate and did not merge table text into a paragraph.
The logged-in page was where browser-side conversion mattered. A server-side reader could not access it without my session. Web2MD converted the visible page because it ran locally in Chrome.
The long article was the best quality test. I wanted the main body, not the newsletter prompt, footer links, or related story grid. The result was not always perfect, but it was much cleaner than manual copy-paste.
Here is a simplified example of the kind of Markdown output that is useful for AI research:
# Practical notes on browser-side Markdown conversion
## Summary
Browser-side conversion is useful when the content depends on your active session. This includes internal tools, paid research, private documentation, and account dashboards.
## Observations from testing
- Public articles are easy for most readers.
- Logged-in pages require access to browser state.
- Token counts help decide what to send to an AI model.
- Manual copy-paste often includes hidden or duplicated interface text.
## Limitations
Web2MD currently works in Chrome. The free plan includes 3 conversions per day. Pro is $9 per month for heavier use.
That last section matters. A good AI workflow is not just about extracting text. It is about knowing how much context you are about to send.
Token counting is not a small feature
For AI tools, Markdown quality and token count go together.
If a converter gives you 20,000 tokens of noisy text, it did not really solve the problem. You still need to trim it before sending it to ChatGPT, Claude, or Cursor.
Web2MD includes a built-in token counter, which I found useful in practice. Before sending a page to an AI tool, I can see whether the result is small enough to fit comfortably. If it is too large, I can decide to remove sections, split the content, or summarize in stages.
This is especially helpful for coding assistants. When I send documentation into Cursor, I do not want navigation, footer links, and unrelated examples. I want compact Markdown that preserves the parts a model can reason over.
For more on that workflow, see how to convert web pages to Markdown for AI.
How Web2MD compares with Jina Reader, Firecrawl, and MarkDownload
Jina Reader is excellent for quick public URL reading. It is simple, fast, and useful when the page is public and reachable.
Firecrawl is stronger for developers who need crawling, scraping, APIs, extraction, and automation. It is a more complete data collection product.
MarkDownload is a useful browser extension for saving pages as Markdown. It is a good fit if your main goal is local clipping and manual archiving.
Web2MD is more focused on AI handoff. Its strengths are:
- Browser-side conversion for pages you are already viewing
- Works on logged-in or paywalled pages you can access in Chrome
- Local and private conversion workflow
- Free tier with no API key
- Built-in token counter
- One-click send-to-AI flow
That does not make it the best tool for every job. If you need to crawl thousands of public pages, use a crawler. If you need an API-first extraction pipeline, Firecrawl may fit better. If you want a quick public reader URL, Jina Reader is convenient.
But if your question is "How do I send this page I am looking at into an AI tool as clean Markdown?", Web2MD is built for that exact moment.
Honest limits
Web2MD is not magic.
It is currently Chrome-only. If you live in Safari or Firefox, that is a real limitation. The free tier includes 3 conversions per day, which is enough for casual use but not for heavy research sessions. Pro is $9 per month.
Some web pages are also just messy. If a site renders content in unusual shadow DOM structures, blocks extension access, or mixes the main article with interactive components, any converter can struggle. Browser-side access solves the reach problem, not every cleanup problem.
Reader-LM style models may improve the cleanup layer over time. I expect the best tools to combine both approaches: browser-side access for authenticated pages, plus smarter content cleanup that understands reading order and boilerplate.
Where Reader-LM fits in the future of AI browsing
Reader-LM is part of a larger shift. AI tools need clean context, and the open web was not designed to be pasted into language models.
The winning workflow is likely not one single converter. It is a stack:
- Browser access for the page the user can actually see
- Cleanup that removes boilerplate
- Markdown that preserves structure
- Token counting before model handoff
- Easy export to ChatGPT, Claude, Cursor, or a local workflow
That is why I think Reader-LM is worth watching. It pushes HTML cleanup beyond brittle rules. But in day-to-day work, access and privacy are just as important as model quality.
If you are converting public pages at scale, evaluate reader APIs and crawlers. If you are converting the page open in your browser, especially a logged-in or private page, try the Web2MD Chrome extension. Start with the free 3 conversions per day, check the token count, and see whether the Markdown is clean enough for your AI workflow.
Related Articles
Htmd: a turndown.js inspired HTML-to-Markdown converter for Rust
Show HN: Defuddle, an HTML-to-Markdown alternative to Readability
Anytype: A Local-First, P2P Notion Alternative, and How to Export Its Web Research to Markdown
Most Read
last 30 days- #1Can Claude Read Reddit? Why It Can't — And How to Fix It (2026)
- #2HTML vs Markdown for LLMs: I Wasted 67% of My Tokens for a Year
- #3Reducing Token Waste in ChatGPT and Claude: 7 Techniques That Cut Costs 72%
- #4Obsidian Web Clipper Official Plugin 2026: Complete Guide + When You Need More
- #5Reddit JSON API vs Scraping: The Honest 2026 Comparison for Developers
Latest Articles
- 2026-07-20Anytype: A Local-First, P2P Notion Alternative, and How to Export Its Web Research to Markdown
- 2026-07-20Appflowy - open-source Notion Alternative: how I tested it with Web2MD
- 2026-07-20Best Obsidian Plugins for AI Integration in 2026
- 2026-07-20How to Build a NotebookLM Knowledge Base from Web Pages in Markdown
- 2026-07-20How to Export Perplexity Search Results to Markdown