How to use the Markdown to HTML
- Type, paste or open a
.mdfile in the Markdown pane — or click Sample to see every supported element. - Check the rendered result in Preview, then switch to HTML to see the generated markup.
- Toggle options such as GitHub-flavoured Markdown, line breaks, heading IDs or a full HTML document.
- Click Copy HTML to paste it into your CMS or template, or Download to save an
.htmlfile.
What is a Markdown to HTML converter?
Markdown is a lightweight plain-text syntax for formatting: # for headings, **bold**, - for lists and backticks for code. Browsers can't display it directly, so it has to be turned into HTML first. This converter does that in your browser using the marked parser and shows the result side by side, which makes it handy for README files, documentation, blog posts written in Markdown, and content you need to paste into a CMS that only accepts HTML.
Supported syntax
| Markdown | HTML output |
|---|---|
## Setup | <h2 id="setup">Setup</h2> |
**bold**, _italic_ | <strong>, <em> |
[link](/docs) | <a href="/docs">link</a> |
- [x] Done (GFM) | <li><input type="checkbox" checked disabled> Done</li> |
~~old~~ (GFM) | <del>old</del> |
| ```js fence | <pre><code class="language-js"> |
GitHub-flavoured Markdown (GFM) adds pipe tables with column alignment (|:---|:---:|---:|), task lists, strikethrough and automatic linking of bare URLs. Fenced code blocks keep their language as a language-* class, which syntax highlighters such as Prism or highlight.js pick up.
Is the generated HTML safe?
Markdown allows raw HTML, so a document can contain <script> tags, onerror= handlers or javascript: links. The preview is always cleaned with DOMPurify before it is shown, and by default the HTML output is sanitised the same way. If you are converting user-submitted Markdown on your own site, sanitise on the server too — client-side cleaning only protects this page.
Options explained
- Line breaks become <br> — standard Markdown joins lines within a paragraph; GitHub comments instead treat every newline as a line break. Enable this to match comment-style behaviour.
- Heading IDs — adds GitHub-style
idattributes (lowercase, hyphenated, de-duplicated with-1,-2) so you can link to#installationor build a table of contents. - Full HTML document — wraps the output in
<!doctype html>,<head>and<body>, using the first heading as the<title>.
Tips
Leave a blank line before lists, tables and fenced code — many “why isn't this rendering?” problems come from a missing blank line. Need to go the other way? Use the HTML to Markdown converter, and tidy the result with the HTML Formatter.
Tools that pair well with the Markdown to HTML
- HTML Entity Encoder — Escape < > & " so text is safe to show in HTML, convert accents and symbols to named or numeric entities, or decode entity-filled HTML back to plain text.
- Word Counter — Paste or type your text to count words and characters live — plus reading and speaking time, keyword density and length checks for SEO titles, meta descriptions and social posts.
- Diff Checker — Paste an original and a changed version to see added, removed and modified lines side by side — with the exact words that changed highlighted inside each line.
- CSS Formatter — Turn a minified stylesheet into readable CSS with one property per line and properly nested @media blocks.
Frequently asked questions
Is my Markdown uploaded anywhere?
Does it support GitHub-flavoured Markdown?
- [ ] / - [x]), strikethrough with ~~ and auto-linked URLs, following the GFM spec used on GitHub.Why does my line break disappear?
<br>, or enable the “Line breaks become <br>” option.Can I use raw HTML inside Markdown?
<details>, <kbd> or <sup> are kept; scripts, event handlers and javascript: URLs are removed unless you switch off sanitising of the output.Does it add syntax highlighting to code blocks?
<pre><code class="language-xyz"> for fenced blocks with a language, which is the convention highlight.js and Prism expect. Add one of those libraries to your page to colour the code.