📝 Developer and blog tools

Markdown to HTML converter

Convert Markdown and HTML in either direction and check the result live. Supports a GFM subset without executing raw HTML. Copy the output and check it in your destination editor.

🗓️ Last updated 2026.07.14 ⏱️ Time required About 10 seconds 🔒 No automatic document upload · External images may be requested Translation updated: 2026-11-02

markdown ⇄ html · GFM subset

Live Markdown ⇄ HTML conversion

Type on the left to update the preview and source on the right. Switch direction to convert HTML back to Markdown, or choose dark mode.

Waiting

Write Markdown in the input to update the preview and HTML source live. Raw HTML in Markdown is escaped.

Enter Markdown.
Markdown input

Markdown preview example

With Toolvil, convert Markdown live.

  • Headings, bold and italic
  • A Toolvil link and inline code
  • Tables, code blocks and quotes
Raw HTML is escaped rather than executed.
const hi = "world";
Input statistics appear here.
Enter Markdown to display HTML and a preview.
Supported syntax Headings, bold, lists, tables, code blocks, quotes and links (GFM subset)
Escaping and URL checks Raw HTML escaped · Dangerous URL schemes blocked
Processing location Conversion in your browser without document upload

Markdown to HTML converter guide

Markdown is lightweight markup used for README files, blogs and documentation. This tool converts a GFM subset, including headings, emphasis, lists, tables, code blocks, quotes and links, to HTML with a preview. It can also convert HTML to Markdown. Reverse conversion does not restore CSS, scripts, tables or complex structures, so a round trip need not reproduce the original. Read the result with HTML syntax highlighting or dark mode, then copy it and check it in the destination editor.

Raw HTML in Markdown is escaped and some dangerous URL schemes are blocked. Reverse conversion does not execute the input HTML either. Documents are not uploaded automatically, but external images in Markdown may be requested by the preview. Check preview behavior separately from publishing the output on another site.

When this tool is needed

  • Publish a README or blog post written in Markdown as HTML
  • Check how Markdown renders while you write
  • Convert existing HTML to Markdown (reverse conversion)
  • Inspect conversion output without executing raw HTML

Before you start

  • This is not a complete GFM implementation. Check the output of complex documents such as nested lists and tables.
  • For sensitive documents, check external image and link addresses before using the preview.
  • HTML to Markdown does not fully restore original formatting. Also check how your destination CMS supports HTML.

How to use

  1. Write or paste Markdown in the input on the left.
  2. Check the rendered result live in the preview on the right.
  3. Switch to the HTML source tab to inspect the generated code.
  4. Use Copy HTML to copy the result to the clipboard.
  5. Paste into the destination editor's HTML source mode and check the formatting. Select HTML → Markdown for reverse conversion.
Input valuesMarkdown text (processed in your browser)
Output valuesStandard HTML source, live preview and character statistics
Supported syntaxHeadings, emphasis, lists, task lists, tables, code blocks, quotes, links and images (GFM)
SecurityRaw HTML escaped; javascript:/data: schemes blocked
Processing locationLocal browser processing; no automatic code upload by the editor

How escaping and URL checks work

Markdown mode escapes raw HTML characters before converting supported syntax to tags. It blocks javascript:, vbscript: and data: schemes, but does not inspect every URL or publishing environment. External images can contact their server, and clicking a link opens an external page. Check the addresses and your destination service's behavior before publishing the result.

Sources and review criteria

This is a custom subset informed by CommonMark and GitHub Flavored Markdown (GFM), without a promise of full specification compatibility. The conversion engine uses no external library or server. Complex nesting, extensions, tables and formatting in reverse conversion may be simplified. Regression checks cover representative inputs and outputs; review your own documents before publishing too.

This tool implements a GFM subset that does not pass through raw HTML or execute scripts. Review the generated HTML for complex documents before using it.

FAQ

Which Markdown syntax is supported?

Supports core GitHub Flavored Markdown syntax: headings (#~######), bold/italic/strikethrough, inline code and fenced code blocks (```), ordered/unordered lists, task lists ([ ]/[x]), tables (GFM table), quotes (>), rules, links and images.

Will input HTML or scripts execute?

When converting Markdown to HTML, raw HTML is escaped and shown as text. HTML to Markdown does not execute input code either. External Markdown images may still be requested in the preview. This tool does not guarantee that every document is safe.

Can I paste the generated HTML into a blog or CMS?

Paste it into the source mode of an editor that accepts HTML. In a normal writing mode or in Notion, code may appear literally or formatting may change. Check the result in the destination service before publishing.

What happens to dangerous Markdown URLs such as javascript:?

Dangerous link and image URL schemes such as javascript:, vbscript: and data: are replaced with '#'. This reduces script injection risk when publishing the generated output.

Is my document sent to a server?

The tool converts in your browser without automatically uploading or saving documents on a server. The preview may request external image addresses from their servers, and clicking links opens the linked sites. Check external addresses first for sensitive documents.