Markdown to HTML Previewer

Type on the left, see it rendered on the right, take away the HTML.

0Words
0:00Reading time

Runs in your browser. Everything you type or load here is processed locally by JavaScript on this page. Nothing is uploaded to Tooltrusty or to any third party.

What the markdown to HTML Previewer does

Markdown is a plain-text formatting syntax designed to be readable as-is and convertible to HTML. It powers README files, static site generators, documentation platforms, chat apps and note-taking tools, and its main virtue is that the source stays legible even without rendering.

This previewer parses your Markdown in the browser and renders it live. It supports the constructs that come up in practice: headings from # to ######, bold and italic and strikethrough, inline code and fenced code blocks with a language hint, ordered and unordered lists, blockquotes (which can contain other Markdown, since they are parsed recursively), horizontal rules, links and images with optional titles, and pipe tables with a header row.

Two deliberate safety decisions are worth mentioning. Raw HTML in your source is escaped rather than passed through, and link URLs are restricted to http, https, mailto, fragments and relative paths. Standard Markdown allows inline HTML, but a previewer that renders arbitrary HTML into its own page is a cross-site-scripting hazard, and the trade-off is not worth it for a tool like this.

You can copy the generated HTML, download a complete standalone HTML document, or download the Markdown itself. The word count and reading-time estimate underneath count the source text, which is usually what you want when writing to a length target.

How to use it

  1. Type or paste Markdown into the left pane — the preview updates as you type.
  2. Use Show HTML source to inspect the generated markup.
  3. Copy the HTML for pasting into a CMS, or download a complete HTML document.
  4. Watch the word count and reading time if you are writing to a target length.

A worked example

A few lines of Markdown:

## What changed

- Exports now stream, so large files no longer time out
- Added `--format=csv` alongside the existing JSON output

> Upgrading is recommended for anyone exporting more than 50,000 rows.

produce this HTML:

<h2>What changed</h2>
<ul><li>Exports now stream, so large files no longer time out</li>
<li>Added <code>--format=csv</code> alongside the existing JSON output</li></ul>
<blockquote><p>Upgrading is recommended for anyone exporting more than 50,000 rows.</p></blockquote>

Note that the backticks became a <code> element and its contents were left alone — the parser extracts code spans before applying emphasis rules, which is why a flag like --format=csv does not get mangled into italics by the surrounding punctuation.

Frequently asked questions

Which Markdown flavour does this support?

The CommonMark core plus the two GitHub-flavoured extensions people use most: pipe tables and strikethrough. Task lists, footnotes, definition lists and inline HTML are not supported — the first three for simplicity, inline HTML deliberately, for safety.

Why is my raw HTML showing as text instead of rendering?

Because it is escaped on purpose. Rendering arbitrary HTML inside this page would open a cross-site-scripting hole in a tool people paste unknown content into. If you need inline HTML, use a build-time Markdown processor where you control the input.

Can I paste this HTML straight into my CMS?

Usually yes. The output is clean semantic HTML with no classes or inline styles, so it inherits your site's own styling. Check how your CMS handles pasted markup — some rich-text editors rewrite it on save.

Is my document sent anywhere?

No. Parsing and rendering happen entirely in this page's JavaScript, so unpublished drafts, internal release notes and private documentation stay on your device.