Paste HTML and convert it to clean Markdown instantly, with options to keep or remove images, links, and tables. Preview the rendered result, then copy or download the .md file.
HTML and Markdown solve similar problems in very different ways — HTML is a verbose, tag-based markup language built for browsers to render, while Markdown is a lightweight, readable plain-text format built for humans to write and read directly. Converting from HTML to Markdown is a common step whenever content needs to move from an HTML-native context (a web page, a CMS export, a rich-text editor's output) into a Markdown-native one (a static site generator, a GitHub README, a documentation platform, a note-taking app) — direct copy-pasting of rendered text loses all formatting, so a proper structural conversion like this one is needed to preserve headings, links, lists, and other formatting intact.
This tool uses turndown, a widely-used JavaScript library that parses your HTML using the browser's native, standards-compliant HTML parser, then walks the resulting document tree node by node, applying a specific conversion rule for each element type it encounters — headings become hash-prefixed lines, paragraphs become plain text blocks separated by blank lines, emphasis and strong elements become Markdown's asterisk syntax, and so on. This tool layers a few custom rules on top of turndown's defaults specifically to support the Keep Images, Keep Links, and Keep Tables toggles — when a toggle is off, the corresponding element type is stripped from the output rather than converted, and when Keep Tables is on, a dedicated table rule builds proper GitHub Flavored Markdown pipe-table syntax from the source `<table>` structure.
Structural and text-formatting HTML — headings, paragraphs, bold and italic text, links, images, ordered and unordered lists, blockquotes, and inline or fenced code — all map cleanly onto well-established Markdown equivalents, since Markdown was explicitly designed to cover exactly this common subset of formatting. What doesn't translate as cleanly is HTML used for visual layout rather than semantic structure — CSS-driven multi-column layouts, absolutely positioned elements, custom fonts and colors applied via inline styles, and complex nested `<div>`-based components generally have no Markdown equivalent at all, since Markdown intentionally has no concept of visual layout or styling beyond its basic formatting syntax. If your source HTML relies heavily on visual styling to convey meaning, expect the converted Markdown to preserve the content and basic structure while losing the specific visual presentation.
Keep images on when your destination supports Markdown image syntax and you have the rights to reuse the referenced images (remember that Markdown images just reference a URL — they don't embed the image data itself, so a converted image will only display correctly if that URL remains valid and accessible from wherever the Markdown is eventually rendered). Keep links on for any destination where clickable references matter, which is the common case; turn them off specifically when you want plain, unlinked text — for a printed document, a context where links would be meaningless, or a deliberately simplified summary. Keep tables on for structured data that genuinely benefits from a grid layout; turn them off if your target renderer doesn't support Markdown tables, or if the tabular structure doesn't carry meaningful information once linearized.
Converting HTML to Markdown is frequently just one step in a larger content migration — moving a blog from a traditional CMS to a static site generator, converting an internal wiki's exported pages into a documentation system built around Markdown files, or archiving web content in a more portable, future-proof plain-text format. In these workflows, it's worth reviewing the converted output carefully rather than treating the conversion as fully automatic: complex source markup, unusual nesting, or heavy inline styling can occasionally produce Markdown that's technically valid but needs a manual pass to clean up formatting quirks before it's ready for its new destination.
HTML to Markdown handles converting existing markup into Markdown source. These related tools cover the reverse conversion and other nearby formats.