Markdown Preview and Markdown to HTML

Write or paste Markdown and watch the preview update as you type. Copy the HTML or download it as a file.

Preview

The preview appears here.

Runs entirely in your browser. Nothing you enter is sent or stored.

How to use

  1. Type or paste Markdown into the left box.
  2. Check the rendered result on the right. It updates as you type.
  3. Click “Copy HTML” or “Download HTML” to take the converted HTML.

Markdown is the plain-text format used in README files, GitHub issues, wikis, note apps and many blogs. This page lets you check how a document will look before you publish it, or turn Markdown into HTML that you can paste into a CMS or an email template. The preview refreshes a moment after you stop typing.

Rendering uses markdown-it 12.3.2 with HTML, line breaks and auto-linking turned on, plus the markdown-it-emoji plugin. Because line breaks are on, a single Enter becomes a <br>; strict CommonMark and many sites would join those lines into one paragraph, so the result can differ from where you finally post it. Code blocks are colored by highlight.js 11.4.0, which bundles 34 common languages; code in other languages is shown without color.

Everything passes through DOMPurify 3.2.6 before it is shown or copied, so scripts and event attributes in pasted HTML are stripped. The download is an HTML fragment without styles, ready to drop into a page that has its own CSS. Your text is converted in the browser and is not uploaded, but images you reference by URL are loaded from their own servers, as on any web page.

Frequently asked questions

Which Markdown syntax is supported?

CommonMark via markdown-it, plus tables, strikethrough (~~text~~), emoji shortcodes like :smile:, and automatic links for bare URLs. A single line break becomes <br>.

Can I use HTML inside Markdown?

Yes. Raw HTML is allowed, but the output is cleaned with DOMPurify: <script> tags, on… event attributes and javascript: links are removed, so nothing in the text can run.

Are code blocks highlighted?

Yes. Fenced code blocks are colored with highlight.js. Add a language after the backticks (```js) or let it detect the language.

Related tools