belun.app Blog

HTML to Markdown Converter — Free, Instant, In Your Browser

0 lines · 0 chars

Paste HTML and get clean Markdown out the other side. The converter handles headings, paragraphs, bold and italic, links, images, ordered and unordered lists (including nested ones), tables, blockquotes, and code blocks. It runs entirely in your browser — nothing is uploaded anywhere.

How it works

  1. 1
    Paste your HTML Drop HTML markup into the left panel — a copied web page fragment, a CMS export, or hand-written tags all work.
  2. 2
    Read the Markdown output The Markdown appears on the right as you type. Headings become #, links become [text](url), lists keep their nesting.
  3. 3
    Copy the result Click Copy Markdown to grab the output, then paste it into your README, docs, blog, or note-taking app.

Your data stays private

All processing happens entirely in your browser. No files, text, or data are ever sent to our servers. You can disconnect from the internet and this tool will still work.

Frequently asked questions

What HTML elements are supported?
Headings (h1–h6), paragraphs, line breaks, bold (b/strong), italic (i/em), strikethrough (s/del), inline code, code blocks (pre/code), links, images, unordered and ordered lists with nesting, blockquotes, horizontal rules, and tables (converted to GitHub-flavored Markdown tables).
Is my HTML sent to a server?
No. The conversion runs in your browser with JavaScript. Your HTML never leaves the page — nothing is uploaded, logged, or stored.
Does it keep the language tag on code blocks?
Yes. If a code block uses class="language-js" (the Prism and Highlight.js convention), the converter writes a fenced block with the language tag, like ```js.
How are HTML tables handled?
Tables become GitHub-flavored Markdown tables. The first row is treated as the header, a separator row is added, and pipe characters inside cells are escaped so the table stays valid.
What happens to scripts, styles, and unknown tags?
Script, style, and similar elements are dropped entirely. Unknown wrapper tags (like div or section) are unwrapped — their text content is kept, the tag itself is discarded.

From the blog

HTML to Markdown: When and Why You'd Convert the Other Direction Why people convert HTML back to Markdown, what survives the round trip, and the edge cases that trip up most converters. Read the post →

Related tools