HTML → Markdown
HTML into Markdown.
Sanitised on the way through.
Paste the source or drop a saved page. Out comes GitHub-flavoured Markdown.
Scripts and event handlers are removed first — untrusted HTML never reaches the page.
Drop a file here.
Or pick one with the button. Or just paste with Ctrl+V. Dozens at a time is fine.
.html .htm / 25 MB per file / runs in your browser, nothing uploaded
Other formats: .docx .doc DOCX → MD · .pdf PDF → MD · .xlsx Excel → MD · .csv .tsv .txt CSV → MD · .pptx .ppt .odp PPTX → MD
Or paste it here
Knobs
Bullets
Fence
Images
Tables
How it works
- 01Paste HTML source into the box, or drop an .html file above. You can also copy from a rendered web page and press Ctrl+V anywhere on this page.
- 02The HTML is sanitised with DOMPurify first: script tags, event attributes, javascript: URLs, iframes and embeds are all removed before conversion, and nothing unsanitised is ever inserted into this page.
- 03What's left is converted to GitHub-flavoured Markdown. Copy it or download the .md.
What's supported
- Pasted HTML source, saved .html and .htm files, and rich text copied straight from a web page
- Headings, paragraphs, lists, links, images, blockquotes and preformatted code
- Tables as GitHub-flavoured pipe tables, including strikethrough and task lists
- Nested lists, and inline formatting inside table cells
- Whole-document files as well as fragments — a body isn't required
What it won't do
- Scripts, event handlers, iframes, objects and embeds are removed, not converted
- CSS is not applied — an element styled to look like a heading is still a paragraph in the HTML, and stays one
- It doesn't fetch anything: relative image and link URLs stay relative, and no page is downloaded for you
- Layout done with divs and CSS grid flattens into plain blocks
- Forms, buttons and interactive widgets have no Markdown equivalent
What survives
These carry over as-is. Anything else gets a best effort, and you'll be told when it doesn't line up.
Old .doc files skip the images — that format hides them where a browser can't reach.
- Heading levels
- Tables
- Ordered / bulleted lists
- Links
- Bold / italic / strikethrough
- Blockquotes
- Code blocks
- Images.docx
Questions people ask
That's exactly what it's built for. Every input goes through DOMPurify before conversion — script tags, onclick-style attributes, javascript: URLs, iframes and embeds are gone. Nothing unsanitised is ever put into this page's DOM, so pasted HTML can't run.