iformat.io Logo iformat.io
iformat.io Logo iformat.io

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

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. 1
    Save your HTML file locally
    Either export from your CMS or use your browser's Save Page As feature to grab a rendered page.
  2. 2
    Upload the .html file
    Drop it onto the uploader. Both .html and .htm extensions are accepted.
  3. 3
    Convert and export
    Click 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.
Reviewed by Editorial team Updated