Markdown to HTML
Convert Markdown files to HTML format.
How to Convert Markdown to HTML
Paste your Markdown
Drop a .md file or paste Markdown text โ headings, lists, links, code blocks.
Conversion runs live
Standards-compliant HTML is generated as you type, with a rendered preview.
Copy the HTML
Use the output in websites, emails, CMS fields or documentation.
Which Markdown are you writing
Markdown was defined loosely in 2004 and the gaps were filled differently by every implementation. CommonMark exists to specify the ambiguous cases precisely, and GitHub Flavored Markdown adds tables, strikethrough, task lists and automatic links on top of it.
This matters because the same document can render differently in two places. Tables are the usual surprise: they are not part of core Markdown at all, so a document with tables depends on a flavour that supports them.
The whitespace rules that catch people
Markdown is sensitive to blank lines in ways that are easy to miss. A list immediately after a paragraph, with no blank line between, may not be recognised as a list. A heading without a blank line before it can be absorbed into the preceding paragraph.
Line breaks are the other one. A single newline inside a paragraph is not a line break โ it renders as a space. Getting an actual break requires two trailing spaces or an explicit break tag, which is invisible in the source and consequently baffling.
Markdown allows HTML, which is a security question
By design, raw HTML in a Markdown document passes through to the output. That is a useful escape hatch for the things Markdown cannot express, and it means Markdown from an untrusted source can contain scripts, event handlers and injected markup.
Any pipeline that renders Markdown written by users must sanitise the result before putting it on a page. This is the single most common vulnerability in comment systems and wikis, and it exists because the passthrough behaviour is a feature rather than a bug.
What converts cleanly and what does not
Headings, paragraphs, emphasis, lists, links, images, blockquotes and code blocks convert predictably and are the reason to write Markdown in the first place. Fenced code blocks with a language marker also carry the language through for syntax highlighting.
Anything involving layout does not. Column widths, alignment beyond basic table alignment, font choices and spacing have no Markdown representation, which is the deliberate trade the format makes: structure is expressible, presentation is not.
Where this runs
Conversion happens in your browser. Markdown documents are often internal notes, drafts and documentation containing information not meant to leave the organisation, and none of it is transmitted here.
The output is a fragment rather than a complete page โ headings, paragraphs and lists without a document wrapper or styling. That is what you want for pasting into a CMS or a template; a standalone page needs a wrapper and a stylesheet around it.