Markdown to HTML Converter

How to use 3 steps
  1. Paste your Markdown.
  2. Tick the GitHub-style line-break option if your text uses single line breaks.
  3. Press Convert, then Copy HTML.
HTML

Conversion follows the CommonMark and GitHub Flavored Markdown rules, including tables, task lists and fenced code blocks. The preview strips scripts, event handlers and javascript: URLs before rendering, so pasted Markdown cannot execute anything in your browser.

How this tool works

Converts Markdown to HTML and shows a live preview of the rendered result alongside the markup.

Markdown is parsed and emitted as HTML, then the preview is sanitised before it is displayed: script tags, event handler attributes and javascript: URLs are stripped, because a preview renders whatever the input tells it to and Markdown permits raw HTML by design. The conversion follows the common CommonMark-derived behaviour, which is worth knowing because Markdown is not one specification — tables, task lists, strikethrough and footnotes are extensions, supported in some processors and absent in others, so output that works here may not survive elsewhere unchanged.

Markdown that does not travel

  • Markdown is a family, not a standard: tables and task lists are extensions. A document relying on them will render differently in a processor that does not implement the same set.
  • The preview is sanitised, the output is not: anything executable is stripped before display. If you paste the generated HTML into a page, you are responsible for what it contains.
  • Raw HTML passes through: Markdown allows it deliberately. That is useful and it is also why untrusted Markdown must never be rendered unsanitised.
  • Line breaks are the usual surprise: a single newline does not produce a break in most processors. Two spaces at the end of a line, or a blank line for a new paragraph, is what works.

Markdown is a family of dialects, not one fixed standard

The [msm_tool slug="markdown-to-html"] follows common CommonMark-derived behaviour, which is worth knowing because CommonMark only specifies the core precisely — tables, task lists, strikethrough and footnotes are all extensions that individual processors choose whether to implement. A document leaning on any of those can render correctly here and differently somewhere else, with both outputs being defensible readings of the same source.

The preview is sanitised; the HTML that gets copied out is not

Script tags, event handler attributes and `javascript:` URLs are all stripped before the live preview renders, because a preview displays whatever the input actually tells it to and Markdown permits raw HTML by design. That stripping applies only to what is shown on screen — the HTML copied out for use elsewhere is unfiltered, so publishing it anywhere untrusted content might reach is a separate responsibility this tool does not take on.

Raw HTML passing through is a feature, not a gap

Markdown deliberately allows embedded HTML to flow straight through into the output, which is genuinely useful for anyone who needs it — and is exactly why Markdown from a source that is not trusted should never be rendered without sanitising it first, since the format itself places no restriction on what that embedded HTML can contain.

Why a single line break quietly disappears

Most Markdown processors read a lone newline as an ordinary space rather than a line break, requiring a genuinely blank line before starting a new paragraph — a common surprise for anyone pasting in text that was originally wrapped by an editor rather than written with Markdown's own conventions in mind. Two trailing spaces at the end of a line, or a backslash, forces an actual break within a single paragraph where one is needed.

Frequently Asked Questions

Specific to the Markdown to HTML Converter. Broader questions about this category are answered on the category page.

Only partly. CommonMark specifies the core precisely, but tables, footnotes, strikethrough and task lists are extensions that individual processors choose to implement. Two tools can render the same document differently and both be correct.
Because most Markdown processors treat a single newline as a space and require a blank line for a new paragraph. To force a break within a paragraph, end the line with two spaces or use a backslash.
Yes — it is part of the design, and it passes through to the output. The preview here strips anything executable before rendering, but the HTML you copy out is unfiltered, so sanitise it yourself before publishing untrusted content.
Yes, using the pipe syntax common to most modern processors. Bear in mind that tables are an extension rather than core Markdown, so a stricter processor may render the pipes literally.
No. Parsing and preview both run in your browser and nothing is transmitted.

Subscribe to receive notifications about new tools, features, and productivity tips.