>_ HTML to Markdown
Webpage To Markdown Converter
Paste any article or docs URL and get clean, copy-ready GitHub-flavoured Markdown of its text — ready for a README, wiki, Notion page or LLM prompt.
Convert a page
server-side fetch · 5s timeout · 1 MB capConverted Markdown will appear here.
How it works
One request, three steps, no account and no editor chrome.
Any public http(s) page. A missing scheme gets https:// added for you.
The server fetches the HTML once, keeps the main article block and maps it to GitHub-flavoured Markdown.
The panel shows the Markdown with stats above it: copy it in one click or save it as a .md file.
What you get
Scripts, styles, forms and (optionally) navigation are removed before conversion, so headings, lists, quotes, code blocks and tables survive intact.
Client-rendered pages are reported as sparse instead of silently returning nothing, and non-HTML targets such as PDFs or images return a plain-language error.
Strip boilerplate, flatten links, keep image URLs absolute, and cap the output length — the stats bar flags truncation so you always know what you got.
Loopback, private and link-local hosts are refused, redirects stop after five hops, and the fetch is capped at 5 seconds and 1 MB.
FAQ
Why is the Markdown empty for some sites?
Pages that build their content in JavaScript (SPAs, many docs portals) have almost no text in the HTML we receive. We detect that and show a sparse-output warning rather than pretending the page was empty. There is no headless browser in this tool.
Which URLs are refused?
Anything that is not http(s), plus localhost, private ranges (10.*, 172.16-31.*, 192.168.*), link-local and loopback addresses. Non-HTML responses such as PDFs, images or JSON are rejected with the content type named.
Is the page stored anywhere?
No. The HTML is fetched once, converted in memory and discarded; nothing is written to disk or kept between requests.
Why was my output truncated?
The max-characters setting caps the Markdown (5,000–500,000 characters, 100,000 by default) and the fetch itself stops at 1 MB. When a cap is hit, a truncated badge appears in the stats bar and a note is appended to the Markdown.
Does it respect paywalls or logins?
No. If a site returns 403 or a login wall, you get a clear error with the status code. Only openly reachable pages convert.