Developer

Markdown to HTML

Convert Markdown to HTML with live preview.

Your text is processed entirely in your browser — never uploaded or stored.

What is this tool?

The Markdown converter turns Markdown syntax written with symbols like #, **, and - into HTML in real time with a live preview — handy for drafting READMEs, blog posts, and previewing posts.

Supported syntax
  • Headings: # through ######
  • Bold **text** / Italic *text*
  • Inline code `code` / code blocks ```
  • Links [text](url) / images ![alt](url)
  • Ordered/unordered lists, blockquotes >, horizontal rules ---
Note: Extended syntax like tables and footnotes are not supported — this covers the basics of GitHub Flavored Markdown.
Safe conversion (XSS prevention)

Input text is HTML-escaped before formatting rules are applied, so tags like <script> are never executed and are shown as literal text. Everything runs in your browser and is never sent to a server.

Markdown's philosophy and CommonMark standardization

Markdown was created in 2004 by John Gruber with the philosophy that "the raw source itself should be readable, even without heavy formatting symbols." It borrows familiar symbols like #, *, and - instead of HTML tags, so the raw text already reads like a document before any conversion. Early Markdown's spec was loose, though, so different tools handled details like line breaks, nested lists, and emphasis slightly differently. To fix this, the CommonMark project standardized a strict spec in 2014 by cross-testing many implementations (Babelmark). Most modern platforms — GitHub, GitLab, and others — build their extended syntax (GitHub Flavored Markdown, etc.) on top of CommonMark.

3 common syntax mistakes (verified against this tool)
  • 1. Line breaks: CommonMark requires two trailing spaces (or a backslash) at the end of a line within a paragraph to insert a <br>. This tool works more simply — every line not separated by a blank line still renders as its own separate <p> paragraph.
  • 2. A mid-word *: Writing 5*3=15 and *important* using * as a multiplication sign wraps everything from the first * to the next one in emphasis, producing 5<em>3=15 and </em>important* — unintended formatting. Use a different symbol for * when you don't mean emphasis.
  • 3. No nested lists: Standard Markdown lets you nest sub-lists via indentation, but this tool treats every -, *, or 1. line as a single flat list regardless of indentation.
What is Markdown?
Markdown is a lightweight writing syntax that uses simple symbols like `#`, `*`, and `-` to express headings, bold text, lists, and more. It is widely used for GitHub READMEs, blogs, and note apps — easy to read as plain text and easy to convert to HTML.
Which Markdown syntax is supported?
Headings (# through ######), bold (**text**), italics (*text*), inline code (`code`), code blocks (```), links ([text](url)), images (![alt](url)), ordered/unordered lists, blockquotes (>), horizontal rules (---), and paragraphs.
Is the generated HTML safe? (XSS prevention)
Yes. Your input is HTML-escaped before formatting rules are applied, so tags like <script> are never executed and appear as literal text. Link hrefs using the javascript: scheme are also blocked so the preview can never run a script.
Can I use this to write a GitHub README?
Yes. It supports the core GitHub Flavored Markdown syntax (headings, lists, code blocks, links, images), making it handy for drafting a README.md and previewing the result. Advanced extensions such as tables and footnotes are not supported.
Is my text sent to a server?
No. All conversion and preview rendering happen entirely in your browser; your Markdown text is never uploaded or stored.
Why was Markdown designed around plain symbols?
John Gruber created it in 2004 with the philosophy that the raw source itself should stay readable even with minimal formatting symbols. It uses familiar characters like #, *, and - instead of HTML tags, so the raw text already reads like a document.
What is CommonMark and why was it needed?
Early Markdown's loose spec meant different tools handled details like line breaks, nested lists, and emphasis slightly differently. The CommonMark project standardized a strict spec in 2014 by cross-testing many implementations, and most platforms like GitHub build on it today.
What Markdown syntax mistakes are common with this tool?
1) This tool has no "two trailing spaces = line break" rule — every line becomes its own paragraph. 2) Writing 5*3=15 and *important* wraps everything between the first and next * in emphasis. 3) This tool doesn't support indentation-based nested lists — it always renders a flat list.