Markdown to HTML
Headings, lists, links, code and quotes — escaped properly.
Everything is processed in this tab. Nothing you paste is sent anywhere.
Every tool runs entirely in your browser. Your files are never uploaded to a server.
Markdown is a shorthand for HTML. A line starting with # becomes a heading, a line starting with - becomes a list item, and text wrapped in double asterisks becomes strong.
How to use Markdown to HTML Converter
- Paste your Markdown. A whole document or a single section.
- Copy the HTML. Indented by default; the toggle produces a single line.
About converting Markdown to HTML
Markdown exists because writing HTML by hand is tedious for prose. It defines a small set of plain-text conventions — a hash for a heading, a hyphen for a list item, asterisks for emphasis — that read acceptably as text and convert mechanically into markup. That readability is the point: a Markdown file is useful even to someone with no way to render it. The conversion is mostly line-oriented. Each line is examined for a block-level pattern, and text that matches nothing becomes a paragraph, with consecutive non-blank lines joined together. That joining surprises people who expect a line break to be preserved, but it matches how plain text is normally written and is standard behaviour across implementations. Ordering matters more than it appears in the inline pass. Escaping must happen first, before any tags are produced, or characters from the source could close a tag the converter opened. Code spans must be extracted next and set aside, because their contents are meant to appear literally — process emphasis first and an asterisk inside a code sample becomes markup, defeating the purpose of the span entirely. Only after both are handled is it safe to convert links, bold and italic. Getting that sequence wrong is the most common flaw in a hand-written converter, and it is invisible until someone documents a syntax that happens to use those characters.
Frequently asked questions
Is the HTML safe to publish?
Which Markdown flavour is this?
Why is inline code processed before everything else?
Why does a single line break not become a br?
Can I convert HTML back to Markdown?
Last updated