Responsive Emails, Written in Markdown
Write markdown. Ship emails. No HTMHELL. emailmd turns it into HTML that renders everywhere, Outlook included.

Markdown goes in. Email-safe HTML comes out.
The same syntax you already use in README files and pull requests. No nested tables, no inline style soup, no client-specific hacks.
---
preheader: "Confirm your email address"
theme: dark
---
::: header
{width="200"}
:::
# Confirm your email address
Your confirmation code is below -
enter it in your open browser window
and we'll help you get signed in.
::: callout center compact
# DFY-X7U
:::
If you didn't request this email,
there's nothing to worry about,
you can safely ignore it.
::: footer
Acme Inc. | 123 Main St
[Unsubscribe](https://example.com/unsub)
:::
What emailmd handles for you.
It renders in Outlook.
MJML under the hood, so the output is tables and inline styles all the way down. You never have to look at them.
Gmail, Outlook, Apple Mail, Yahoo
Seventeen directives for layout
Photo heroes, responsive columns, callouts, accordions, dividers, and a dozen more. Each one is a fenced block in your markdown.

Theming and automatic dark mode
Set your brand colors in frontmatter. emailmd derives a dark palette and serves it to readers whose client asks for one.
brand_color: "#0F766E"
background_color: "#F2F6F5"
card_color: "#EDF5F3"Linting before you send
Missing alt text, insecure links, Gmail's 102KB clip limit, spam triggers, and more.
Every send ships a plain-text part
Generated from the same markdown, so it never drifts from the HTML. Charts redraw themselves in ASCII instead of collapsing into a list of numbers.
::: chart
- Direct: 4,200
- Organic search: 3,100
- Social: 640
:::Direct ████████████████████████ 4,200
Organic search ██████████████████ 3,100
Social ████ 640Charts drawn without a single image.
Built from table cells and text glyphs rather than images or SVG, so they still render when the client blocks remote content.

- ::: chart
- Horizontal bars from a list
- ::: progress
- A meter running toward a goal
- ::: sparkline
- A run of numbers as one strip
- ::: stats
- KPI tiles with change indicators
- ::: steps
- Ordered trackers and timelines
- ::: rating
- Star scores, whole or half
13 templates to start from.
Real emails, not skeletons. Open any one in the builder and make it yours.
Start with the markdown you already know.
Type on the left, watch the email build itself on the right.
There is also a CLI for CI, a React builder to embed in your own app, and reusable partials.








