Free tool · Developer utilities
Convert HTML to Markdown
Paste HTML or open an .html file to get clean Markdown for docs, help articles, LLM prompts and RAG.
Runs in your browser. Nothing you paste is uploaded.
About this tool
HTML to Markdown: how it works
We use this conversion every day: the Ticketdesk crawler turns customer websites into Markdown before an AI agent learns from them. Markdown keeps the structure (headings, lists, tables, code) and drops the markup, which makes it far smaller and easier for an LLM to read. The stats line under the output shows how much smaller.
For a full page saved from a browser, turn on Main content only. It uses the main or article element when there is one, and otherwise removes nav, header, footer and aside. Scripts, styles, iframes and SVGs are always dropped.
Conversion runs in your browser with Turndown plus a custom rule for tables, which Turndown skips by default. The output is plain Markdown, which also works in most MDX files. To go the other way, use Markdown to HTML.
What it does
- Converts as you paste, no button to press
- GitHub style tables
- Main content only: drops nav, header and footer
- Options for links, images, headings and bullets
- Open .html files and download .md
Building on Ticketdesk?
Automate tickets, AI agents and inboxes from your own code.
FAQ
HTML to Markdown: common questions
How do I convert an HTML page to Markdown?
Open the page, press Ctrl+U (Cmd+Option+U on Mac) to view the source, copy it and paste it here. Or save the page as .html and select Open file. Turn on Main content only to skip menus and footers.
Are tables converted?
Yes, to GitHub Flavored Markdown tables with a header row. Pipes inside cells are escaped. Merged cells are flattened, since Markdown tables cannot span columns.
Can I convert HTML to Markdown for an LLM or RAG?
Yes, that is what we built it for. Turn off Keep images if your model cannot use them, and Keep links off if the URLs are noise. If you want an AI agent trained on a whole site, the chatbot builder crawls and converts every page for you.
Is my HTML uploaded?
No. The conversion happens in your browser. Nothing is sent to a server.