Content tool
Free HTML to Markdown
Free, no sign-up
Convert HTML to Markdown that keeps the page's structure
The converter reads the HTML and writes the Markdown a person would write for the same content. Formatting that Markdown has a syntax for is kept; markup that only exists for layout or scripts is dropped.
- Headings h1 to h6 become # to ######, so the outline of the page stays intact.
- Bulleted and numbered lists keep their nesting, and a numbered list keeps its start number.
- Links and images keep their targets. In URL mode, relative links are made absolute against the page's address, honouring any <base> tag. Only web, email and phone links are kept; a javascript: or data: link keeps its text and loses the link.
- Tables become GitHub-flavoured Markdown tables, with pipes inside cells escaped.
- Code blocks become fenced blocks, and a language-js or lang-py class on the code is kept as the fence's language.
- Blockquotes, bold, italic, strikethrough, inline code, rules and line breaks are kept.
- Scripts, styles, inline SVG, iframes and form fields are always dropped, because none of them is page text.
Paste mode takes up to 60 KB of HTML and fetches nothing. URL mode reads up to 3 MB of the page; when a page is larger, the result says so and the Markdown covers the part that was read. The output has a word count, a copy button and a .md download.
Website to Markdown
Turning a website into Markdown is usually a step in something bigger: moving a blog to a static site generator, feeding pages into a documentation tool, building a knowledge base for a support bot, or keeping a plain-text archive of what a site said on a given day. Markdown suits all of these because it is plain text that keeps headings, lists and links, so it diffs cleanly in version control and any editor can open it.
This tool converts one page per run. To convert a site, list its pages first (the sitemap URL extractor pulls every address from a sitemap), then run each important page through the converter. Keep main content mode on for this job, so every file holds the article or product copy rather than the same navigation repeated on every page.
URL to Markdown
In URL mode the converter fetches the address once, follows its redirects, and converts the HTML the server sends. It identifies itself as Azuqe's checker and sends no cookies, so a page behind a login converts to its login screen, and a site that blocks automated requests gets reported as blocking our checker, not as an empty page.
If the address answers with an error such as 404, or with something that is not a web page, such as a PDF or an image, nothing is converted and the result says which it was. Only public addresses can be fetched: private networks and local addresses are refused.
Webpage to Markdown
A webpage carries much more than its content: a header with the logo and menu, a footer of links, cookie banners, sidebars and sign-up forms. Main content mode finds the part that matters in up to three steps.
- If the page has a <main> element that holds at least a quarter of the page's text, that element is converted.
- Otherwise, if its largest <article> holds at least a quarter of the page's text, that article is converted. A small related-post card is not mistaken for the content.
- Otherwise every block is scored by the paragraphs, list items and headings it holds, with blocks made mostly of links scored down. The highest-scoring block is converted together with the neighbours that belong with it: the title and intro above it, further sections next to it, and nearby paragraphs of plain text.
Inside the chosen part, navigation, sidebars, forms and the site-wide header and footer are left out. A header or footer that belongs to an article, such as a post's title and byline, is kept. Turn main content mode off to convert the whole body of the page as it is.
See your page the way an AI crawler reads it
This is roughly how an AI crawler that doesn't run JavaScript reads your page. Crawlers that collect pages for AI models and AI answers fetch the HTML and pull the text out of it. Many of them never run the page's scripts, so anything a script adds after the page loads is missing from what they keep.
That is why the result checks whether the HTML looks like a JavaScript app shell: an empty root element such as <div id="root"></div>, or under 1 KB of text next to more than 50 times as much inline script. When it does, the result says so above the Markdown. A page like that can look complete in a browser and still give a crawler almost nothing to read. Google renders JavaScript, so it may see more than this result shows; crawlers that only read the HTML see what you see here.
If your page comes back nearly empty, the usual fix is to render the content on the server, through server-side rendering or static generation in your framework, so the text is in the HTML before any script runs.
Questions about converting HTML to Markdown
How do I convert HTML to Markdown?
Paste the HTML into the Paste HTML tab, or enter the page's address in the URL tab, and select Convert. The Markdown appears below with a word count, and you can copy it or download it as a .md file.
Can I convert a whole website to Markdown?
One run converts one page. To convert a site, list its pages with the sitemap URL extractor and convert each one. Keep main content mode on, so each file holds the page's own content instead of the same menu and footer.
What does main content only do?
It converts the part of the page that holds its content: the <main> element or the largest <article> when either holds at least a quarter of the text, or else the block with the most paragraph and list text, together with its title, intro and neighbouring sections. It leaves out navigation, sidebars, forms and the site-wide header and footer. Turn it off to convert the whole body.
Why is the Markdown for my page almost empty?
Most often because the page builds its content with JavaScript after it loads. The converter reads the HTML the server sends, before any script runs, the way many AI crawlers do. If the result says the page looks like a JavaScript app shell, render the content on the server so it is in the HTML.
Why did the converter say the site blocked our checker?
Some sites answer automated requests with 403, 429 or a challenge page. That says nothing about how search engines see the page. Copy the page's HTML from your browser and paste it into the Paste HTML tab instead.
Is there a size limit?
Pasted HTML can be up to 60 KB. In URL mode the converter reads the first 3 MB of a page, and the result tells you when a page was larger and only its start was converted.
Is the HTML to Markdown converter free?
Yes. It needs no account, and each visitor gets a number of free conversions per day, shown under the form. Pasted HTML counts as a conversion too, and its result is never cached or shared.
More free tools
See all free tools- Sitemap URL ExtractorPulls every URL from a sitemap or a whole site with its lastmod date, following sitemap indexes, and exports the list to CSV or TXT.
- Meta Tag CheckerChecks a page's title, meta description, Open Graph and Twitter tags, previews its Google result and social cards, and confirms the share image loads.
- Schema Markup ValidatorChecks a page's JSON-LD, or code you paste, for syntax errors and against Google's published rich result requirements.
See how AI answers read and cite your whole site
This converter shows one page as raw HTML reads. Azuqe's AI visibility module tracks how ChatGPT, Gemini and Google's AI answers describe and cite your brand, and its llms.txt manager publishes a clean index of your site for AI crawlers.
Free trial on your first site · Cancel any time