Skip to content
Markdown to Rich Text

Markdown to rich text — paste straight into email

Turn Markdown into clean HTML, then copy it as formatted text so it arrives in Gmail, Outlook, Word or your CMS with real headings, lists and links. The conversion runs in your browser; nothing you write is uploaded.

  • Nothing you write is uploaded
  • Works offline
Markdown

Project handover

Everything below is ready to paste into email.

What changed

  • Migrated the site to static hosting
  • Rewrote the invoice tool so it paginates itself
  • Cut the JavaScript budget to 107 KB

Next steps

  1. Confirm the DNS cutover
  2. Watch Search Console for a week
  3. Archive the old server

One thing to note: nothing is uploaded by any of these tools.

ItemStatus
HostingDone
Search ConsolePending

Full notes

How it works

  1. 1

    Paste your Markdown

    Headings, bold, italic, code, links, images, nested lists, quotes, fenced code blocks, horizontal rules and tables are all supported. The preview updates as you type.

  2. 2

    Keep inline styles on for email

    Gmail and Outlook strip stylesheets, so anything that must survive them has to carry its style on the element itself. That is what this toggle does — leave it on unless you are pasting into a CMS with its own design.

  3. 3

    Copy as rich text

    This writes formatted content to the clipboard, not angle brackets. Paste into an email and you get real headings and lists. "Copy HTML" gives you the markup instead, for a template or a code block.

Frequently asked questions

What is the difference between "Copy as rich text" and "Copy HTML"?

Rich text puts formatted content on the clipboard, so pasting into an email or a document gives you real headings, lists and links. Copy HTML puts the markup itself on the clipboard, which is what you want when pasting into a template, a CMS source view, or a code block.

Why do I need inline styles?

Email clients delete style blocks and ignore external stylesheets. A heading that relies on a stylesheet arrives in Gmail looking like ordinary text. Inline styles put the formatting on each element, which is the only form that survives.

Is my document uploaded?

No. The converter is a few kilobytes of JavaScript running in this page. Drafts, meeting notes and internal documentation stay on your device.

Can I use raw HTML inside my Markdown?

No, and that is deliberate. Most converters pass raw HTML through. This output goes onto your clipboard and then into an email or a CMS, so passing a script tag through would turn the tool into a delivery mechanism. Raw tags are shown as text instead.

Which Markdown flavour is this?

The common subset people actually type: ATX headings, emphasis, strikethrough, inline and fenced code, links, images, ordered and nested unordered lists, blockquotes, horizontal rules and pipe tables. Footnotes and definition lists are not supported.

Why does my formatting disappear when I paste into Gmail?

Almost always because the formatting was carried by a stylesheet rather than by the elements themselves. Gmail, Outlook and most other mail clients strip style blocks and ignore external stylesheets entirely, so a heading that was styled by a rule arrives as ordinary text. Keeping inline styles switched on here puts the formatting on each element, which is the only form that survives the trip. If it still flattens, check that you used Paste rather than Paste as plain text — that shortcut discards formatting before the mail client ever sees it.

Which Markdown do I actually need to know to use this?

Very little. A hash and a space makes a heading, two asterisks around a word makes it bold, a dash and a space starts a bullet, and a number and a full stop starts a numbered list. Those four cover most of what people write in an email or a status update. Links are written as text in square brackets followed by the address in round brackets, and a table is rows of cells separated by pipe characters with a row of dashes under the header.

Can I paste this into Word or Google Docs?

Yes. Rich text copy puts formatted content on the clipboard, and both Word and Google Docs read it as headings, lists, links and tables rather than as markup. Google Docs is slightly better at preserving nested list indentation than Word is; if a deeply nested list flattens in Word, one level of nesting usually survives where three does not.

What happens to my code blocks?

Fenced code blocks and inline code come through as monospaced text with the spacing preserved, which is what you want when pasting a command into a message. They are not syntax-highlighted, because highlighting is done with a stylesheet and a stylesheet is the first thing an email client removes — coloured code would look correct in the preview here and arrive black.

Where does the Markdown I paste go?

Nowhere. The converter is a few kilobytes of JavaScript running inside this page, so meeting notes, internal documentation and half-written announcements stay on your device. Nothing is uploaded and nothing is saved — close the tab and the text is gone, so copy the result before you leave.

Why not use a Markdown library?

The smallest reasonable one is around 12 KB gzipped, which is 12 percent of this site’s entire JavaScript budget for a single tool. This converter is roughly 2 KB and covers what the tool is for.

The rich text copy did not work — why?

Writing formatted content to the clipboard needs an API that some browsers and some private-browsing modes withhold. When that happens the tool falls back to plain text and tells you, rather than silently copying nothing.