Tools / Text & Data / Markdown to HTML
Client-side

Markdown to HTML

Paste Markdown and get sanitized HTML rendered live in the browser, ready to copy or download, with no upload.

What it does

  • CommonMark plus tables, strikethrough and task list syntax
  • Live preview as you type, one-click copy or download of the HTML
  • Sanitized output: scripts, inline styles, event handlers and unsafe URLs removed
  • Runs locally in WebAssembly, no content leaves your device

This tool converts Markdown to HTML directly in your browser, with nothing uploaded to a server. Developers, technical writers and bloggers usually arrive with a README, a docs page, AI-generated notes or a draft post that needs to become HTML to paste into a CMS or an email. Type or paste the Markdown, the preview updates as you type, and you can copy the HTML or download it as a file. This page is the conversion-focused entry; the same tool is also available as the Markdown preview.

What this conversion actually does (and does NOT do)

The parser is pulldown-cmark, a CommonMark parser written in Rust, with three extensions turned on: pipe tables, ~~strikethrough~~ and task list syntax. The same Markdown always gives the same HTML. The generated HTML then goes through a sanitizer (ammonia) before it is shown, copied or downloaded. That makes the output safer to paste, but it also removes things you might expect to keep:

  • Relative URLs are removed. A link like [docs](/guide) keeps its text but loses its href, and an image with a relative src loses the src. Only absolute http, https and mailto URLs are kept.
  • Classes and ids are removed, including the language-xxx class of fenced code blocks. Code blocks come out as plain <pre><code> with no hook for a syntax highlighter.
  • Task list checkboxes are removed. - [x] done is recognized, but the result is a plain bullet without a checkbox.
  • Scripts, style blocks, style attributes, event handlers such as onerror, HTML comments and javascript: links are removed. Links get rel="noopener noreferrer".

Some GitHub Flavored Markdown features are not supported: footnotes ([^1]) are not rendered, and bare URLs such as https://example.com are not turned into links (wrap them in angle brackets, <https://example.com>, to get a link). Heading anchors are not generated.

The output is an HTML fragment: just the body markup (<h1>, <p>, <table> and so on), without <!DOCTYPE>, <head> or CSS. That is what you want for a CMS field or an email editor. If you need a standalone page, wrap the fragment in your own document template. Raw HTML written inside your Markdown is passed through when the sanitizer allows the tags (for example <details>), and cleaned of unsafe attributes.

When to choose this conversion

Choose Markdown to HTML when you need web or email output and want to keep the Markdown as your editable source. It is the publish step: write in Markdown, generate HTML for the destination. If you have messy HTML (a CMS export, an email, AI output wrapped in tags) and want clean Markdown instead, use HTML to Markdown. If your content relies on relative links or images, make the URLs absolute first, or use a converter that keeps them.

How to convert

  1. Type or paste your Markdown into the editor.
  2. Watch the preview update as you edit, so you catch heading, list and table surprises immediately.
  3. Use absolute URLs for links and images if you need them in the output.
  4. Copy the HTML to your clipboard, or download it as an .html file.

No upload. It runs on your device.

The conversion is Rust compiled to WebAssembly and runs entirely in your browser. There are no network requests for the transformation, and nothing to delete afterward because nothing was uploaded. You can verify it in your browser's DevTools Network tab. This matters because Markdown often holds sensitive material: internal READMEs, engineering docs, unreleased product notes or AI-tool output you would rather not paste into a third-party server.

No limits

No length cap, no watermark on the output, no sign-up. The practical ceiling is your device's memory.

Frequently asked questions

Which Markdown features are supported?
CommonMark (headings, emphasis, lists, links, images, blockquotes, code blocks, hard line breaks) plus pipe tables, strikethrough and task list syntax. Footnotes and bare-URL autolinks are not supported.
Why did my relative links lose their URL?
The sanitizer only allows absolute http, https and mailto URLs. Relative hrefs and image srcs are removed, so use full URLs if you need them in the HTML.
Do task lists show checkboxes?
No. The [ ] and [x] markers are parsed, but the sanitizer removes the checkbox inputs, so the items render as ordinary bullets.
Does it add syntax highlighting to code blocks?
No. Code blocks render as plain preformatted text, and the language class is removed by the sanitizer, so a highlighter on your site cannot detect the language from this output.
Can I get a full standalone HTML file with CSS?
No, the output is a fragment without <head> or styles. The downloaded .html file contains the same fragment. Wrap it in your own template if you need a complete page.
How do I convert Markdown tables to HTML tables?
Write the table with pipe syntax: a header row, a separator row of dashes, then the data rows. They become real <table>, <thead>, <tr> and <td> elements.
Is the converted HTML safe to paste into WordPress, an email or a CMS?
The output is sanitized: scripts, inline styles, event handlers, comments and unsafe URL schemes are removed, and links get rel="noopener noreferrer". Still review the result before publishing to make sure nothing you needed was stripped.
Does it keep raw HTML already in my Markdown?
Partly. Allowed tags pass through, but unsafe tags, attributes such as class, id and style, and relative URLs are removed.
Will my Markdown be uploaded to a server?
No. The conversion runs in your browser via Rust compiled to WebAssembly, with no network requests for the transformation.
How is this different from running Pandoc locally?
Both keep your content on your machine. Pandoc is a command-line install with many formats and options, including standalone documents and footnotes. This page needs no setup and gives a live preview with sanitized output, for quick conversions.

For the reverse direction, see HTML to Markdown, or use the full Markdown preview. Browse more converters on the text and data tools hub, and read why every tool here runs in your browser in why we built VaultTools privacy-first.