Markdown to HTML

Markdown is quick to write but browsers only understand HTML, so at some point the text has to be converted. Paste your Markdown here and this page turns it into HTML using a small converter written for this site, showing both the source and a live preview. Everything runs in your browser, and the text you paste never leaves your device.

Line breaks

Standard Markdown joins wrapped lines into one paragraph, and only breaks the line when you end it with two spaces or a backslash. The second option turns every newline inside a paragraph into a <br>, which suits notes typed with one thought per line.

Paste or type some Markdown above.
What Markdown this converter understands

Headings β€” one to six # characters followed by a space, giving <h1> to <h6>. A trailing run of hashes is trimmed off. Underlined (setext) headings are not supported.

Paragraphs and line breaks β€” blank lines separate paragraphs. Ending a line with two spaces or a backslash inserts a <br>, and the option above can make every newline do that.

Emphasis β€” **bold** and __bold__ become <strong>; *italic* and _italic_ become <em>. Underscores inside a word, as in file_name_here, are left alone. A backslash before a character, such as \*, keeps it literal.

Code β€” backticks make an inline <code> span, and you can use several backticks in a row when the code itself contains one. Three or more backticks or tildes on their own line open a fenced block; a word after the opening fence becomes class="language-…". Four-space indented code blocks are not supported β€” use a fence.

Lists β€” -, * or + for unordered, 1. or 1) for ordered, with indented lines continuing an item and deeper indentation nesting a list inside it. An ordered list that starts at another number keeps it through the start attribute.

Quotes and rules β€” lines beginning with > become a <blockquote>, and anything inside it is converted too. Three or more -, * or _ alone on a line make an <hr>.

Links and images β€” [text](address) and ![alt](address), with an optional quoted title after the address. Links accept http, https, mailto and relative addresses; images accept http and https only. Any other address is left as plain text. Reference-style links and bare autolinks are not supported.

Your Markdown is escaped before it is converted. Angle brackets, quotes and ampersands in your text become entities first, so HTML written inside the Markdown is displayed as characters rather than treated as markup β€” which is why the preview can safely render the output, but also means raw HTML will not pass through the way it does in most Markdown tools. This is a compact converter, not a full CommonMark implementation: tables, footnotes and reference-style links are among the things it does not handle, so check the preview before you publish. In the preview, links are set to open in a new tab so you do not lose what you typed; the HTML you copy contains the plain address only. Conversion runs entirely in this tab and stops at 100,000 characters.

How to convert Markdown to HTML

  1. Paste or type your Markdown into the box.
  2. Check the preview underneath to confirm it came out the way you meant.
  3. Copy the generated HTML source and paste it wherever you need it.

When you'd use this

Good to know

Frequently asked questions

Does my text get uploaded anywhere?

No. The converter is JavaScript inside this page, so your Markdown is processed on your own device. Nothing is sent to a server, and nothing is kept once you close the tab.

Which Markdown features are supported?

Headings from # to ######, paragraphs, bold with ** or __, italic with * or _, inline code, fenced code blocks with ```, block quotes, ordered and unordered lists including nested ones, links, images, horizontal rules and hard line breaks. The panel above lists the same set with examples.

Why is my link showing as plain text?

Its address uses a scheme the converter will not place in an href. Links are limited to http, https, mailto and relative paths, and images to http and https, so anything else is left exactly as you typed it.

What happens to HTML I already wrote inside the Markdown?

It is escaped and displayed literally, tags and all. That is a deliberate difference from standard Markdown: escaping first is what makes it safe to render the result straight into the preview on this page.

Can I get a line break without starting a new paragraph?

Yes. End the line with two spaces, or with a backslash, and the converter inserts a <br>. If you would rather have every newline become a break, switch the line-break option in the panel.