What this does
A live Markdown editor with a rendered preview beside it and the generated HTML one click away. Three view modes: Split puts source and preview side by side, Preview only gives the rendering full width for reading, and HTML output swaps the preview for the raw markup. Copy HTML puts that markup on your clipboard. The renderer is marked, loaded into your browser after the page paints — your draft is never sent to a server.
Which Markdown syntax does it support?
GitHub Flavored Markdown. Beyond the CommonMark basics that means pipe tables with per-column alignment, ~~strikethrough~~, task lists as disabled checkboxes, and autolinking of bare URLs and email addresses. Both heading styles work — # prefixes and the underlined Setext form. Nested lists, fenced code blocks with a language tag, blockquotes, images and HTML comments all behave as expected.
| Name | Qty |
|:------|----:|
| Bolt | 12 |
→
<th align="left">Name</th><th align="right">Qty</th> Why did my two lines run together?
Because breaks is off, matching how GitHub renders a comment or a README. A single newline inside a paragraph is just whitespace, so two consecutive lines join into one. To force a break, end the first line with two spaces or a single backslash — both produce a <br>. For a new paragraph, leave a blank line. It's what you want when your editor hard-wraps prose, and a surprise if you're used to chat apps where every Enter is a break.
Why is my front matter rendering as a heading?
Front matter isn't part of Markdown — static site generators strip it before the parser ever sees the file. Paste a post with its --- block intact and you get a horizontal rule followed by title: My Post promoted to an <h2>, because a line of dashes under text is Setext heading syntax. Delete the block first, or ignore the opening two elements.
How do I copy the rendered HTML into a CMS?
- Write or paste your Markdown in the left pane.
- Click HTML output to see the markup that will be produced.
- Click Copy HTML — the status line confirms.
- Paste into the CMS's source or "code" view, not its rich-text view.
One thing to fix on arrival: headings come out without id attributes, so in-page anchor links won't resolve until you add them. If the CMS wants Markdown rather than HTML and you have HTML already, the HTML ↔ Markdown converter goes the other way.
What isn't supported?
Footnotes — [^1] is read as an ordinary reference link, so it renders as a broken link rather than a numbered note. Emoji shortcodes like :smile: stay literal text; paste the actual character instead. Mermaid and other diagram fences render as plain code blocks. Automatic heading anchors, tables of contents, admonition blocks and wiki-style links are all extensions particular sites add on top, not part of GFM.
Can I paste untrusted Markdown in here?
It's fine to look at, but treat the output with care. Markdown permits raw HTML and marked passes it through unfiltered, so a <div>, an inline style or an event-handler attribute appears verbatim in the HTML and takes effect in the preview. That's correct for a converter — you'd be annoyed if your deliberate HTML vanished — but output derived from someone else's Markdown must go through a sanitiser such as DOMPurify before you publish it. For counting what you've written, see word count; for stray angle brackets, HTML entities.