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.