HTML to Markdown Converter
Last updated: October 1, 2026
Drop your file here
or click to browseAccepted: .html,.htm,text/html
What is HTML to Markdown Converter?
Convert an HTML file to Markdown — headings, lists, links, code blocks, images and tables — with real control over which Markdown conventions come out. It runs in your browser, so nothing is uploaded.
Tables, which is where this conversion usually breaks
Search for an HTML-to-Markdown converter and you will notice how many of the results are specifically table converters. That is not a coincidence.
The library almost everyone builds on does not convert tables at all by default — it passes the raw HTML straight through, so your clean Markdown document ends up with a block of <table> markup sitting in the middle of it. People hit that, go looking for a table-specific tool, and end up converting their document in two passes.
This handles tables in the same pass as everything else, producing standard pipe tables that render on GitHub, GitLab and any Markdown processor with GFM support. Pipe characters inside your cell content are escaped, so a cell containing a vertical bar does not break the row.
Two things to know about how tables come across. Formatting inside a cell is flattened — a bold word or a link inside a table cell becomes plain text, because only the cell's text is carried over. And the first row is treated as the header, which Markdown tables require. If your table has no header row, its first row of data will be promoted into one, so add a header row before converting or fix it afterwards.
The four options, and which to pick
These are real choices, not decoration, and the defaults are the right answer most of the time.
Headings: ATX or Setext. ATX is ## Heading and is what you want — it works at every level, every processor handles it, and it is what Markdown looks like to most people. Setext underlines the heading with === or --- and only supports two levels. Pick it only to match an existing document that uses it.
Code blocks: fenced or indented. Fenced means triple backticks, which is the modern default and the only form that can carry a language hint for syntax highlighting. Indented uses four spaces, which some older or stricter processors need. Fenced unless something forces otherwise.
Links: inline or reference. Inline puts the URL next to the text. Reference puts a short marker in the text and collects the URLs at the bottom of the file. For a long document with many links, reference style is noticeably easier to read and edit while writing — the prose stays prose instead of being interrupted by URLs — and it renders identically.
Images: keep or remove. Keep preserves the image references. Remove strips them, which is right when you want the text of a page without its screenshots and decoration — and it is the quiet time-saver, because a converted web page otherwise brings every icon and tracking pixel with it as a broken image reference.
Feed it the content, not the whole page
A saved web page contains far more than its article: navigation, a sidebar, a footer, cookie notices, social buttons. All of that is content as far as a converter is concerned, so it all comes through as Markdown and you spend your time deleting menus.
The fix is to narrow the input first. Save or copy just the article portion — in browser developer tools, copying the outer HTML of the article element gives you exactly that — and convert it. The result then needs almost no cleanup.
Round trips are not lossless
Worth flagging because both directions exist on this site and the pair does not perfectly reverse.
The Markdown to HTML tool here is configured so a single newline becomes a line break, which is how most people intuitively expect Markdown to behave but is not what standard Markdown does. So converting HTML to Markdown and back can give you extra <br> tags where your Markdown source had soft line wrapping.
Not a problem for the normal direction of travel — you convert once and then work in Markdown. It matters if you were planning to bounce a document back and forth between the two formats, which is worth avoiding for that reason.
Why this is worth doing at all
Markdown is what documentation, repositories, wikis and static sites actually run on, and it is the format that survives. It is plain text, so it diffs cleanly in version control, does not carry invisible styling from wherever it came from, and will still be readable in twenty years. Converting HTML into it is usually the first step in moving content somewhere it can be maintained rather than merely stored.
Nothing is uploaded, which matters when the HTML is an export from an internal wiki or a client's site.
Related tools
Markdown to HTML Converter goes the other way, with the line-break behaviour noted above. PDF to TXT Converter is the route when the source is a PDF rather than HTML, and Word Counter measures the result.
How to Use HTML to Markdown Converter
-
Upload HTML
Upload your .html or .htm file.
-
Set Options
Choose heading style (ATX vs Setext), code block style, link style, and image handling.
-
Copy or Download
View the Markdown output, copy to clipboard, or download as a .md file.
Features
Clean Output
Produces clean, readable Markdown without unnecessary HTML tags.
Table Support
HTML tables converted to GFM pipe-table format.
Link Styles
Choose between inline links or reference-style links.