How the conversion works
We fetch the page’s HTML the way a crawler does, with no JavaScript. Then we find the main content: the page’s <main> element if it has one, otherwise the biggest <article>, otherwise the body. From that we remove navigation, headers and footers outside the article, sidebars, forms, hidden elements, cookie banners and link farms such as language pickers and tag clouds.
What’s left is converted by our own converter:
- Headings become
#to######, paragraphs stay paragraphs. - Nested bulleted and numbered lists keep their structure.
- Links and images get absolute URLs, so the Markdown works anywhere.
- Bold, italics, strikethrough and inline code are kept; code blocks keep their language.
- Data tables become Markdown tables. Old layout tables are unwrapped into normal text.
If the site already serves Markdown (some do, through content negotiation), we return that instead. If the page is empty without JavaScript or blocks us, a rendering service reads it in a real browser, within a daily cap.
What it’s good for
- Seeing your page the way an AI crawler does. Many AI crawlers don’t run JavaScript. If the Markdown is thin, so is what they read. The GEO checker scores that and more.
- Feeding pages to an assistant. Markdown is far shorter than the HTML it came from, so it uses fewer tokens in ChatGPT, Claude or your own scripts.
- Building an llms-full.txt or docs export. Convert your key pages, then list them in an llms.txt with the llms.txt generator.
- Moving content into a Markdown-based CMS, a README or a notes app.