HomeDeveloper ToolsMarkdown to HTML

markdown in. html out.

convert markdown to HTML with a live preview. supports headings, bold, italic, links, images, lists, code blocks, blockquotes, and tables.

markdown
preview

Hello World

This is a Markdown to HTML converter.

Features

  • Headings (h1–h6)
  • Bold and italic text
  • Links
  • Images, lists, code blocks
  • > Blockquotes
  • Tables
const greeting = "Hello!";
console.log(greeting);
NameRole
AliceEngineer
BobDesigner

Enjoy converting!

html source
<h1>Hello World</h1>
<p>This is a <strong>Markdown</strong> to <em>HTML</em> converter.</p>
<h2>Features</h2>
<ul><li>Headings (h1–h6)</li><li><strong>Bold</strong> and <em>italic</em> text</li><li><a href="https://example.com" target="_blank" rel="noopener noreferrer">Links</a></li><li>Images, lists, code blocks</li><li>> Blockquotes</li><li>Tables</li></ul>
<pre><code>const greeting = &quot;Hello!&quot;;
console.log(greeting);</code></pre>
<table><thead><tr><th>Name</th><th>Role</th></tr></thead><tbody><tr><td>Alice</td><td>Engineer</td></tr><tr><td>Bob</td><td>Designer</td></tr></tbody></table>
<hr>
<p>Enjoy converting!</p>

What this tool does

Paste markdown on one side and see the rendered HTML on the other. Round-trip: paste HTML on the right and see the markdown that produces it. Useful for converting between formats, debugging rendering issues, or exporting notes to a different tool.

Markdown is not one language

The original markdown spec from 2004 (John Gruber's version) deliberately left many edge cases ambiguous. The result is a small zoo of incompatible markdown variants, each implementing slightly different extensions:

  • CommonMark— the de facto modern standard. Tightens up the original spec's ambiguities. Used by GitHub (as the base of GFM), Stack Exchange, Discord, and most modern markdown renderers.
  • GFM (GitHub Flavored Markdown)— CommonMark + tables, task lists, autolinks, strike- through, and a few other extensions. The dialect most developers think of when they say “markdown.”
  • MDX — markdown that allows embedded JSX components. Used in Next.js, Docusaurus, MDX-based documentation sites.
  • Pandoc Markdown — the kitchen-sink variant. Adds footnotes, math, citations, fenced divs, definition lists. Used for academic and book publishing.

This tool produces CommonMark-compliant HTML by default, with optional GFM extensions. For most uses (notes, documentation, README files, blog posts) this is the right pick.

The extensions that matter

  • Tables — pipe-separated rows. Not in base CommonMark, almost universally supported in practice.
    markdown
    | Col 1 | Col 2 |
    |-------|-------|
    | A     | B     |
  • Task lists — checkboxes via - [ ] and - [x]. GFM extension; works in GitHub, GitLab, most modern editors.
  • Fenced code blocks — triple-backtick blocks with optional language identifier:
    markdown
    ```typescript
    const x = 1;
    ```
  • Strikethrough ~~text~~. GFM extension.

Where round-tripping breaks

Converting markdown to HTML is generally clean. Converting HTML back to markdown is lossy because HTML can describe styling that markdown has no syntax for: arbitrary inline styles, classes, custom attributes, certain layout primitives. The reverse conversion preserves what markdown can express and drops the rest.

Practical implication: if you need to preserve specific HTML structure (custom data attributes, accessibility markup, embedded video), keep the source as HTML. Use markdown when the output is meant to be edited as plain text and the HTML is the rendered artifact.

Why this is a browser-only tool

Markdown rendering is a pure local computation — no server-side step adds value. The conversion runs in your tab using a CommonMark-compliant parser. Your content, which might be private notes or unpublished drafts, stays in the browser. For a richer editor experience with live preview, see the markdown editor.

What this tool does

Paste markdown on one side and see the rendered HTML on the other. Round-trip: paste HTML on the right and see the markdown that produces it. Useful for converting between formats, debugging rendering issues, or exporting notes to a different tool.

Markdown is not one language

The original markdown spec from 2004 (John Gruber's version) deliberately left many edge cases ambiguous. The result is a small zoo of incompatible markdown variants, each implementing slightly different extensions:

  • CommonMark— the de facto modern standard. Tightens up the original spec's ambiguities. Used by GitHub (as the base of GFM), Stack Exchange, Discord, and most modern markdown renderers.
  • GFM (GitHub Flavored Markdown)— CommonMark + tables, task lists, autolinks, strike- through, and a few other extensions. The dialect most developers think of when they say “markdown.”
  • MDX — markdown that allows embedded JSX components. Used in Next.js, Docusaurus, MDX-based documentation sites.
  • Pandoc Markdown — the kitchen-sink variant. Adds footnotes, math, citations, fenced divs, definition lists. Used for academic and book publishing.

This tool produces CommonMark-compliant HTML by default, with optional GFM extensions. For most uses (notes, documentation, README files, blog posts) this is the right pick.

The extensions that matter

  • Tables — pipe-separated rows. Not in base CommonMark, almost universally supported in practice.
    markdown
    | Col 1 | Col 2 |
    |-------|-------|
    | A     | B     |
  • Task lists — checkboxes via - [ ] and - [x]. GFM extension; works in GitHub, GitLab, most modern editors.
  • Fenced code blocks — triple-backtick blocks with optional language identifier:
    markdown
    ```typescript
    const x = 1;
    ```
  • Strikethrough ~~text~~. GFM extension.

Where round-tripping breaks

Converting markdown to HTML is generally clean. Converting HTML back to markdown is lossy because HTML can describe styling that markdown has no syntax for: arbitrary inline styles, classes, custom attributes, certain layout primitives. The reverse conversion preserves what markdown can express and drops the rest.

Practical implication: if you need to preserve specific HTML structure (custom data attributes, accessibility markup, embedded video), keep the source as HTML. Use markdown when the output is meant to be edited as plain text and the HTML is the rendered artifact.

Why this is a browser-only tool

Markdown rendering is a pure local computation — no server-side step adds value. The conversion runs in your tab using a CommonMark-compliant parser. Your content, which might be private notes or unpublished drafts, stays in the browser. For a richer editor experience with live preview, see the markdown editor.

more free tools

PDF utilities, image tools, developer helpers — all free, no signup.

Something wrong?