Going from HTML back to Markdown comes up constantly when you're migrating content — pulling a page out of a CMS, archiving a web article, or converting old HTML documentation into something that belongs in a Git repository README. This tool runs your HTML through Turndown, a well-established JavaScript library purpose-built for exactly this direction of conversion, and produces clean, readable Markdown.
Turndown walks the HTML's DOM structure and maps each element to its Markdown equivalent: headings become #-prefixed lines, strong/em become bold/italic markers, links and images become their bracket-and-parenthesis Markdown syntax, and code blocks become fenced triple-backtick blocks. Unlike a naive regex-based converter, working from the actual parsed DOM means nested and oddly-formatted HTML still converts correctly, since the structure is understood rather than pattern-matched.
The output uses ATX-style headings (# Heading, the GitHub-familiar style) and fenced code blocks by default, matching the Markdown conventions most platforms and static site generators expect today, rather than the older Setext-style headings or indented code blocks some converters default to.
Need to go the other direction and turn Markdown into HTML? Use Markdown to HTML.