HTML to Markdown
Convert HTML into clean Markdown live as you type, with control over heading, bullet, and code styles, right in your browser.
Converted to Markdown live as you type. Nothing leaves your browser.
Heading style
Bullet marker
Code blocks
Markdown
Scripts and styles are removed, and unsupported or unusual tags are dropped to their text.
How to convert HTML to Markdown online
Paste your HTML
Type or paste HTML from a web page, an email, or a CMS field into the input. The markdown is generated live as you type.
Choose the markdown style
Pick the heading, bullet, and code block styles that match your target so the output drops in without cleanup.
Copy the markdown
Click Copy Markdown and paste the result into your notes, documentation, or static site.
Why use this tool
Heading, bullet, and code styles
Switch headings between ATX hashes and Setext underlines, choose the bullet marker (-, *, or +), and output code as fenced or indented blocks to match the target you are pasting into.
Handles messy real-world HTML
Paste output from a CMS, an email, or a scraped page. The converter tolerates unclosed tags and stray wrappers, and quietly drops anything it cannot map.
Tables and links preserved
Links keep their text and destination, and tables with a header row become pipe tables. Headings, lists, blockquotes, and code blocks carry over too.
Instant, live output
Markdown appears as you type, with a short pause on large input so it stays responsive. There is no convert button to hunt for.
Scripts and styles stripped
Script and style blocks are removed before conversion, so pasted page source never drags CSS or code into your markdown.
Nothing leaves your browser
The conversion runs on your device. Pasted pages, private emails, and internal docs are never uploaded, stored, or logged.
About this tool
This converter turns HTML into Markdown entirely in your browser, live as you type. Headings, paragraphs, bold and italic text, links, images, blockquotes, ordered and unordered lists, and code blocks all carry across, and tables with a header row become pipe tables. You control the details: headings can use the ATX hash style or Setext underlines, bullet lists can use a dash, an asterisk, or a plus, and code can be output as fenced or indented blocks.
It is built for pulling content out of the web and into plain text. Copy a rendered article, an email, or the output of a rich text field, paste the HTML, and get markdown you can drop into documentation, a notes app, or a static site. It is also useful for migrating rich text into a markdown-based system, where the source is HTML but the destination expects markdown. If you need the opposite direction, the markdown to html converter does the reverse.
Real-world HTML is messy, so the converter is deliberately tolerant. Script and style blocks are removed, and unusual or unsupported tags are dropped to their text content rather than breaking the output, so the result stays clean even from a scraped page. Styling such as colours, fonts, and inline CSS does not survive, because markdown has nowhere to put it. Everything runs on your device, so nothing you paste is uploaded. Once you have the markdown, the word counter can measure a draft, find and replace can clear out repeated boilerplate, and slugify turns a heading into a URL slug.
Frequently asked questions
- What does the converter keep from my HTML?
- Headings, paragraphs, bold and italic text, links, images, blockquotes, ordered and unordered lists, and code blocks all convert to their markdown equivalents. Tables with a header row become pipe tables. The result follows GitHub-flavoured markdown.
- What gets dropped or changed?
- Script and style blocks are removed entirely. Visual styling such as colours, fonts, widths, and inline CSS does not survive, because markdown has no way to express it. Unusual or unsupported tags are unwrapped to their text content rather than left in place.
- What do the heading, bullet, and code options do?
- Heading style switches between ATX, which prefixes headings with # marks, and Setext, which underlines the top two levels. Bullet marker sets whether unordered lists use -, *, or +. Code blocks can be fenced with backticks or indented by four spaces. Each change re-runs the conversion instantly.
- Does it handle tables?
- Yes. An HTML table with a header row, using either header cells or a table head, converts to a markdown pipe table with a separator row. Very complex tables with merged or spanning cells may not translate cleanly, since markdown tables are simple grids.
- Is my HTML uploaded anywhere?
- No. The conversion runs entirely in your browser. Your text never leaves your device, is never sent to a server, and is not stored or logged.
- Is there a size limit?
- No fixed limit. The tool converts as you type with a short pause, and large documents simply take a moment longer depending on your device. Both the input and the output areas scroll instead of growing without bound.
Related tools
Markdown to HTML
Convert markdown to clean HTML with a live preview and a raw code view, right in your browser.
JSON Formatter & Validator
Pretty-print, minify, or explore JSON as a collapsible tree, with syntax errors shown inline.
Angle Converter
Convert an angle between degrees, radians, gradians, turns, arcminutes and arcseconds, with a degrees-minutes-seconds breakdown.
Area Converter
Convert area between metric and imperial units instantly.
Binary to Decimal Converter
Convert a binary number to its decimal value, with hexadecimal and octal readouts.
Celsius to Fahrenheit Converter
Convert Celsius to Fahrenheit instantly, and edit either side to convert back.