HTML to Markdown Converter
Convert an HTML file to Markdown while stripping the presentational noise, inline styles, tracking scripts, ad markup, and empty wrapper divs all disappear, leaving clean semantic Markdown. This is the tool of choice for anyone migrating from a legacy CMS (old WordPress, Drupal, or a hand-rolled site) into a static site generator or a Markdown-first CMS. Supports one file at a time; for a whole-site migration, run the tool in a loop or use the MarkItDown CLI directly.
Drop your HTML file here
Max 20 MB · 5 conversions per hour
output.md
What this converter preserves
- Removes scripts, styles, and tracking pixels, you get the article body, not the DOM debris around it
- Correctly converts `<pre><code>` blocks into fenced Markdown code blocks with language hints when the class name indicates the language
- Extracts the `<main>` or `<article>` element when present, falling back to `<body>` for legacy pages without semantic tags
- Turns `<img>` tags into Markdown image references with alt text and src URL preserved
When you'd use this
- Migrating a legacy blog from PHP-based CMS to a Hugo, Astro, or Eleventy static site
- Converting a static HTML export from Confluence or Notion into Git-tracked Markdown docs
- Cleaning up scraped web content for training data or LLM fine-tuning datasets
- One-off content extraction for repurposing an old article into a Markdown newsletter or Substack post
How it works
-
1
Save your HTML file locallyEither export from your CMS or use your browser's Save Page As feature to grab a rendered page.
-
2
Upload the .html fileDrop it onto the uploader. Both .html and .htm extensions are accepted.
-
3
Convert and exportClick Convert. The clean Markdown appears in the preview - copy it or download the .md file for your static site.
Frequently asked questions
Can I paste HTML instead of uploading a file?
The current tool takes a file. If you want to convert pasted HTML, save it as .html first and upload - takes 5 seconds.
What happens to JavaScript-rendered content?
Only static HTML is converted - anything that a browser would need to execute JS to render is missed. For JS-heavy pages (React/Vue SPAs), save the rendered page as .html from your browser first (Ctrl+S → "Web Page, Complete").
Are inline styles preserved?
No - inline styles and CSS are stripped. Markdown is a semantic format; presentation belongs in the theme. This is the intended behavior.
What about iframes and embeds?
Iframes and embed tags are converted to a plain-text URL reference. Rich embeds (YouTube, Twitter) become `[YouTube: https://...]` and similar - you can rewrite them as MDX components downstream if needed.
Which HTML tags survive?
Semantic content tags (h1-h6, p, ul, ol, li, blockquote, code, pre, a, img, strong, em, table) map cleanly to Markdown. Presentational tags (div, span, font) are stripped after their text content is extracted.
Other Markdown converters
PDF to Markdown Converter
Convert PDF files to Markdown, free, private, no signup.
Word (DOCX) to Markdown Converter
Convert DOCX files to Markdown, free, private, no signup.
Excel (XLSX) to Markdown Converter
Convert XLSX files to Markdown, free, private, no signup.
PowerPoint (PPTX) to Markdown Converter
Convert PPTX files to Markdown, free, private, no signup.
EPUB to Markdown Converter
Convert EPUB files to Markdown, free, private, no signup.