Unmarkdown
Email

Markdown to Email: How to Send Beautifully Formatted Emails

Updated Feb 24, 2026 · 10 min read

Email is the hardest destination for markdown. Every other format has workarounds. Google Docs accepts rich HTML paste. Word handles structured content. Slack has its own markdown-like syntax. But email clients are a minefield of rendering inconsistencies, stripped CSS, and broken layouts.

If you draft content in markdown, whether by hand or from an AI tool like ChatGPT or Claude, getting that content into Gmail, Outlook, or Apple Mail with proper formatting requires understanding why email is so difficult and what your options are.

Why email is the worst destination for formatted text

The core problem is that email never standardized on a rendering engine. Web browsers converged on standards. Email clients did not.

Gmail strips almost everything. Gmail's web client strips <style> blocks, <link> elements, most CSS classes, and a long list of CSS properties. It supports some inline styles but ignores many. No CSS grid. No flexbox. No position. No float in many contexts. Background images are unreliable.

Outlook desktop uses Word's rendering engine. This is not a joke. Microsoft Outlook on Windows renders HTML email using Microsoft Word's HTML engine, not a browser engine. This means Outlook ignores standard CSS that every browser understands. max-width, margin: auto, CSS padding on block elements, and many other properties behave differently or are ignored entirely.

Apple Mail is the most forgiving. Apple Mail on macOS and iOS uses WebKit and renders HTML email reasonably well. But you can't design for Apple Mail alone, because your recipients use different clients.

Mobile email clients add another layer. Gmail on iOS, Outlook on Android, Samsung Email, and dozens of other mobile clients each have their own quirks. Responsive email design is an entire discipline built around these inconsistencies.

The result: inline styles are mandatory. Because <style> blocks are stripped by major clients, production email HTML must use inline style attributes on every element. A heading needs style="font-size: 24px; font-weight: bold; color: #1a1a1a; margin-bottom: 16px;" directly on the tag. This makes hand-coding formatted email impractical.

The markdown problem in email

When you paste raw markdown into Gmail's compose window, you get exactly what you'd expect: literal asterisks, hash symbols, backticks, and bracket syntax displayed as plain text. Gmail's compose editor is a rich text editor. It understands bold, italic, and links, but only when they arrive as formatted HTML. Markdown syntax means nothing to it.

This creates a frustrating workflow for anyone who writes in markdown. You've drafted a clear, well-structured message. But to send it as email, you need to convert every formatting element into the inline-styled HTML that email clients require.

This problem is even more common now that AI tools write markdown by default. You ask ChatGPT to draft a project update, a client proposal, or a meeting follow-up. The output is clean markdown with headers, bullet lists, bold text, and maybe a table. Pasting that directly into Gmail produces an unreadable mess of symbols.

Option 1: Markdown Here (write markdown in your email client)

Markdown Here is a browser extension with over 60,000 GitHub stars that takes a different approach to the problem. Instead of converting markdown before you paste, it lets you write markdown directly in Gmail's compose window and then renders it in place.

How it works:

  1. Install the Markdown Here extension for Chrome, Firefox, Opera, or Thunderbird
  2. Open Gmail and compose a new email
  3. Write your email content using markdown syntax directly in the compose area
  4. Right-click and select "Markdown Toggle" (or use the keyboard shortcut)
  5. The extension converts your markdown to formatted HTML right inside the compose window
  6. Send the email

What it does well. Markdown Here supports the essentials: headings, bold, italic, links, images, bullet and numbered lists, code blocks with syntax highlighting, blockquotes, horizontal rules, and tables. Version 2.16.0 (July 2025) updated to Chrome Manifest V3. It also supports LaTeX math rendering, which is useful for technical communication.

Where it struggles. The extension renders markdown to HTML, but it uses embedded CSS rather than fully inlined styles. This means formatting may not survive consistently across all email clients. Gmail's compose window will show the formatted version correctly, but when the recipient opens the email in Outlook desktop or certain mobile clients, some formatting may be lost or displayed incorrectly.

The extension also requires you to write markdown directly in the compose window. If you've already written your content elsewhere, in a markdown file, an AI tool, or a note-taking app, you still need to copy it into Gmail first and then toggle. And if you need to make edits after toggling, you have to toggle back to markdown, edit, and toggle again.

Best for: People who compose emails from scratch in markdown and primarily communicate with Gmail-to-Gmail recipients.

Option 2: Unmarkdown (convert before pasting)

Unmarkdown™ takes the opposite approach. Instead of writing markdown inside your email client, you convert the markdown to email-optimized HTML first, then paste it into your compose window.

How it works:

  1. Open Unmarkdown™ in your browser
  2. Paste or write your markdown content
  3. Select "Email" as your destination
  4. Click "Copy for Email"
  5. Paste into Gmail, Outlook, or any email client

What happens behind the scenes. When you select the Email destination, Unmarkdown™ runs your markdown through a conversion pipeline that is specifically tuned for email client compatibility. All styles are converted to inline attributes. CSS properties that Gmail strips are replaced with alternatives that survive. Table layouts use email-safe patterns. Code blocks get inline styling for font family, background color, and padding, rather than relying on CSS classes.

The output accounts for the differences between Gmail, Outlook, and Apple Mail. It's not a generic HTML conversion with a hope that it works. The Email pipeline applies destination-specific transformations that address known rendering quirks.

What it does well. The copy-paste workflow is fast, especially when you're formatting AI output. Copy from ChatGPT, paste into Unmarkdown™, pick a template for styling, copy for Email, paste into Gmail. The entire process takes about ten seconds. The output reliably renders across major email clients because the inline styling is purpose-built for email.

Unmarkdown™ also lets you style your email with templates before converting. If you want your email to use a specific font, heading style, or color scheme, you can apply a template and those styles will be inlined into the email HTML.

Where it struggles. The workflow adds a step compared to composing directly in your email client. You need to open Unmarkdown™, paste your content, convert, and then paste into Gmail. For people who compose short emails directly in their client, this extra step may not be worth it.

Unmarkdown™ is also a web application, not an extension that lives inside Gmail. You're working in a separate tab, not inside your compose window.

Best for: People who draft longer emails or format AI output for email, especially when the email needs to look good across multiple email clients.

Option 3: Manual HTML conversion

For developers or technically inclined users, it's possible to convert markdown to email HTML manually.

The basic approach:

  1. Convert markdown to HTML using any markdown processor (marked, markdown-it, or even Pandoc)
  2. Run the HTML through a CSS inliner tool (juice, Premailer, or similar)
  3. Test the output in an email preview tool (Litmus, Email on Acid)
  4. Paste the HTML into your email client

Why this is rarely practical. Each of these steps introduces complexity. You need to write or maintain CSS that looks good, then inline it, then test across clients. And you need to do this every time you send a formatted email. For a recurring newsletter, building this pipeline once might make sense. For a one-off project update, the effort far exceeds the value.

This approach is really only relevant for email marketing teams that send templated campaigns. For individual email composition, it's impractical.

Option 4: Draft in a rich text editor, copy to email

Some people avoid the markdown-to-email problem entirely by drafting in Google Docs, Notion, or another rich text editor, then copying into Gmail.

The tradeoff. You lose the speed and simplicity of writing in markdown. But you get a WYSIWYG preview and can paste directly into Gmail with formatting mostly intact. Google Docs to Gmail works particularly well because both are Google products and handle the HTML transfer cleanly.

This approach breaks down when your source content is already in markdown, which is increasingly common as AI tools generate markdown output by default.

Comparing the workflows

Here's how the three practical approaches compare for the most common scenario: you have markdown content and need to send it as a formatted email.

Markdown Here: Write markdown in Gmail, toggle to render. One environment, but requires composing in the email client. Rendering may be inconsistent in non-Gmail clients.

Unmarkdown™: Paste markdown, select Email destination, copy, paste into email client. Extra step, but output is optimized for cross-client compatibility. Works with any email client, not just Gmail. Templates available for styling.

Manual pipeline: Maximum control, but impractical for individual emails. Only makes sense for automated email systems.

For quick emails to colleagues who use Gmail, Markdown Here is the fastest path. For important emails that need to look professional across different email clients, or for formatting AI output, Unmarkdown™ produces more reliable results.

Tips for better markdown emails

Regardless of which tool you use, some practices improve the result.

Keep tables simple. Complex tables with merged cells or many columns will struggle in email. Single-column layouts are the safest. If you need a table, keep it to 2-4 columns with short content in each cell.

Limit heading depth. H1 and H2 translate well to email. H3 is usually fine. Beyond that, the visual hierarchy flattens and headings start looking like body text.

Avoid wide code blocks. Code blocks in email can't scroll horizontally in most clients. Long lines will either wrap awkwardly or overflow. Keep code examples short and narrow.

Test with plain text fallback in mind. Some recipients have their email client set to display plain text only. Your beautifully formatted email will be stripped to raw text. Write content that makes sense even without formatting.

Use images sparingly. Images in email are often blocked by default or displayed below the fold. Don't rely on images to communicate critical information.

The AI email workflow

The most common scenario in 2026 is this: you ask ChatGPT or Claude to draft an email, it gives you markdown output, and you need to get it into Gmail looking professional.

Here's the streamlined workflow with Unmarkdown™:

  1. Generate your email content in your AI tool of choice
  2. Copy the markdown output
  3. Open Unmarkdown™ and paste
  4. Optionally apply a template (Executive and Newsletter work well for email)
  5. Select the Email destination
  6. Copy for Email
  7. Paste into Gmail, Outlook, or your email client of choice

The formatting survives because the Email destination pipeline handles the inline styling, email-safe CSS, and client-specific workarounds automatically. What you see in the Unmarkdown™ preview is very close to what your recipient sees.

Your markdown deserves a beautiful home.

Start publishing for free. Upgrade when you need more.

View pricing