Markdown tools
HTML to Markdown
Turn HTML into clean, minimal Markdown — headings, links, images, lists, blockquotes, code blocks, and tables. Paste markup, paste content copied from a web page, or drop in an .html file. Nothing leaves your browser.
How to convert HTML to Markdown
Step 1
Paste, drop, or import
Paste raw HTML, paste content copied straight from a web page or Google Doc, or drag an .html file onto the input pane.
Step 2
Tune the output
Pick ATX or Setext headings, your bullet marker, fenced or indented code blocks, and inline or reference-style links.
Step 3
Copy or download
Edit the converted Markdown by hand if you want, then copy it or download a .md file. Everything stays on your device.
A practical HTML to Markdown converter
HTML is built for browsers, while Markdown is built for writing, version control, and portable documentation. When content starts life in a web page, CMS, email, or rich-text editor, moving it into a clean text format can be tedious by hand. This HTML to Markdown converter handles that cleanup in seconds. Paste HTML source, paste content copied from a rendered page, or import an .html file, then review the Markdown in the editor before copying or downloading it.
Use this tool to convert HTML to Markdown for README files, documentation, blog migrations, knowledge bases, release notes, and content audits. Common elements become the Markdown syntax you already know: headings become ATX or Setext headings, paragraphs stay readable, links remain clickable, lists become compact bullet or numbered lists, and blockquotes keep their structure. Images, emphasis, inline code, fenced code blocks, and horizontal rules are converted too. HTML tables are represented as GitHub Flavored Markdown tables whenever their structure fits the pipe-table format.
Convert copied content without viewing source
You do not need to inspect a page’s source code to use the converter. Browsers place an HTML version on the clipboard when you copy rendered content, so you can select an article, documentation section, or Google Doc and paste it directly into the input pane. The tool reads that rich-text HTML, removes presentation-only wrappers, and produces a cleaner Markdown document. This is useful when a CMS export is unavailable or when you only need one section of a larger page.
Control the Markdown you receive
Different repositories and publishing systems prefer different conventions. Choose ATX or Setext headings, select a bullet marker, use fenced or indented code blocks, and decide whether links should be inline or reference-style. These options let you fit the output to an existing style guide instead of spending time normalizing every converted file afterward. You can also edit the result directly, which makes it easy to fix a title, shorten link text, or add a missing blank line before you copy the final Markdown.
Private conversion with a clear result
This HTML to Markdown online tool runs entirely in your browser. Your source is not uploaded, stored in an account, or sent to a conversion API, making it suitable for internal documentation and unpublished content. Scripts, styles, and iframes are removed before conversion because they have no useful Markdown equivalent and should not execute as pasted content. If anything is discarded, the converter tells you what was removed rather than hiding the change. The HTML to Markdown viewer beside the source lets you inspect the generated plain text immediately and catch unexpected structure before exporting it.
Conversion cannot preserve every browser-specific detail. CSS layout, interactive controls, embedded media, and complex merged tables do not have direct Markdown equivalents, so they are simplified or omitted. The goal is useful, maintainable Markdown rather than a visual screenshot of the original page. For straightforward articles, guides, and technical content, the result is fast to scan, easy to edit, and ready to commit to a repository. For the reverse workflow, use the Markdown to HTML converter to turn plain-text source into browser- ready markup.
Because the output is ordinary Markdown, it works with GitHub, GitLab, static site generators, documentation tools, and any editor that supports CommonMark or GFM. Keep the original HTML open beside the result when reviewing a larger migration, compare headings and links first, then make small editorial changes in the output. That combination of automatic structure and human review gives you a dependable starting point without locking your content into a proprietary format.
Before and after
HTML input
<h2>Install</h2>
<p>Run <code>npm install</code>, then see the <a href="/docs">docs</a>.</p>
<ul>
<li>Node 22+</li>
<li>npm 10+</li>
</ul>Markdown output
## Install
Run `npm install`, then see the [docs](/docs).
- Node 22+
- npm 10+Frequently asked questions
Does Markdown support HTML?
Yes — most Markdown flavours, including GitHub Flavored Markdown, let you drop raw HTML tags directly into a document. That is why conversion is usually lossless for prose: anything Markdown has no syntax for can stay as inline HTML. This converter goes the other way and produces the cleanest possible Markdown, stripping presentational markup that has no Markdown equivalent.
How do I convert an HTML table to Markdown?
Paste the <table> markup into the input pane. The converter emits a GFM pipe table with a header row and alignment row. Deeply nested tables, merged cells (colspan/rowspan), and block content inside cells have no pipe-table equivalent, so those are flattened.
Can I paste content copied from a web page instead of raw HTML?
Yes. When you copy rendered content from a browser, the clipboard also carries an HTML version of it. This page reads that HTML flavour, so pasting a selection from a web page, a Google Doc, or a Word document works without you having to view the page source.
Is my HTML uploaded to a server?
No. The conversion runs entirely in your browser with JavaScript. Nothing is transmitted anywhere, which matters if you are converting proprietary CMS content or an internal document.
What happens to scripts, styles, and iframes?
They are stripped before conversion, because none of them can be represented in Markdown and pasted markup from an unknown source should never execute. When anything is removed, a notice lists exactly what went and why — nothing is dropped silently.
Can I convert a web page by pasting its URL?
Not today. Fetching a third-party URL from the browser is blocked by CORS on most sites, and working around it would require a server, which this site deliberately does not have. Save the page as .html and drop the file in, or copy the rendered content and paste it.
Going the other direction? Use the Markdown to HTML converter. To keep writing, open the full Markdown editor, or look up syntax in the Markdown cheat sheet.