Paste Markdown, preview sanitized HTML live, then copy the HTML source - no upload. This page is for quick README drafts, CMS fields that only accept HTML, and email snippets you want to check before pasting into a template. Conversion runs with marked, then DOMPurify strips scripts and common event handlers before the preview pane renders. Switch to HTML source when you need the markup itself; Clear resets both panes. Closing the tab discards everything - nothing is stored on a server.
Markdown to HTML Previewer
Paste Markdown on the left and get a live HTML preview on the right - plus a copyable HTML source view - all in this tab.
Key features
- Paste Markdown into the left editor and watch it convert as you type, or run it with the Convert button.
- Switch between the rendered preview and the raw HTML source view.
- Copy the HTML output or clear the editor with one click.
- Everything runs in your browser with the bundled marked and DOMPurify libraries.
When to use it
Draft README notes, email snippets, or CMS body copy in Markdown, then paste the HTML into a tool that only accepts HTML.
Privacy
Conversion uses marked, then DOMPurify sanitizes the HTML before preview. Closing the tab clears everything; nothing is uploaded.
Tables, strikethrough, and task-list checkboxes work without extra setup
Markdown to HTML Previewer runs with GitHub-Flavored Markdown extensions turned on by default, so you do not need to enable anything to get the extras beyond plain CommonMark. A pipe-delimited block like | a | b | over a |---|---| divider row converts straight into a real HTML table. Wrapping text in ~~like this~~ renders it with a strikethrough line through it. And a checklist line such as - [ ] pending task or - [x] finished task renders as an actual checkbox next to the list item in the preview, not just a literal bracket-and-letter. That checkbox is disabled - you cannot click it to check it off - because the box only reflects what you typed; toggling it in the preview would have nowhere to write the change back to, so editing the checked state means editing the Markdown source itself.
Why a single Enter key inside a paragraph might not start a new line
This is a common Markdown surprise: pressing Enter once in the middle of a sentence and continuing on the next line does not produce a line break in the preview - Markdown to HTML Previewer joins the two lines back into one paragraph, exactly per the CommonMark spec it follows. To force a real line break without starting a whole new paragraph, end the first line with two trailing spaces before pressing Enter. To start a genuine new paragraph instead, leave one full blank line between the two chunks of text. Copying text out of a word processor or a chat app - where a single Enter is usually meant as a visible line break - is the most common way this catches people off guard.
What happens to unsafe HTML pasted into the box
If your Markdown includes raw HTML - your own or copied from somewhere else - Markdown to HTML Previewer's sanitizing step does not just neutralize a risky bit, it removes it outright. A pasted <script> tag is dropped from the preview completely, not just left inert. An image tag with an onerror handler keeps the image itself but loses the onerror attribute entirely. And a link written as <a href="javascript:..."> keeps the link's visible wording but has its href attribute removed rather than swapped for a safe placeholder, so it renders as plain text that is not clickable and points nowhere. None of this changes what a normal Markdown link or image looks like - it only affects HTML written by hand that tries something a browser could otherwise execute.
Need step-by-step clicks? See the step-by-step guide. Comparing with desktop apps or upload sites? See vs alternatives.
Frequently Asked Questions
What does Markdown to HTML Previewer do?
It converts pasted Markdown into sanitized HTML in your browser, with a live preview and a copyable HTML source view.
Is my Markdown uploaded anywhere?
No. Conversion runs in this tab with local marked and DOMPurify scripts. Closing the tab clears the preview.
Can inline HTML in Markdown run scripts?
Preview output passes through DOMPurify, which strips script tags and common event handlers before the HTML is shown.
Do plain web addresses and email addresses turn into clickable links automatically?
Yes. A bare address like https://example.com becomes a clickable link on its own, a bare www.example.com becomes a link pointed at http://www.example.com, and a bare email address like name@example.com becomes a mailto: link - none of them need angle brackets or Markdown link syntax.
Does copying the HTML source keep any code-block language info, like ```js?
Yes - a fenced code block written with a language name gets a matching language-js (or language-python, and so on) class on its code element in the HTML source, ready to paste into a site that applies its own syntax-highlighting colors. This page itself does not load a syntax highlighter, so the live preview shows that same code block in plain, uncolored monospace.
Do I have to wait for a reload every time I convert, or only on the first one?
Only the first conversion in a tab can pause briefly while the two conversion libraries load from this site. After that first load, every further conversion in the same tab reuses the already-loaded libraries with no reload and no repeated wait.