Design email templates in a visual editor, attach merge-tag and visibility logic, then export clean HTML, MJML, or React Email. Render on your own infrastructure and send with whatever ESP you already use.
Maildeno gives product teams a drag-and-drop editor and gives developers a template format they own — stored in their own database, rendered in their own process, with no vendor in the send path.
Where do you want to start?
🧩 Open source
Self-host the editor and renderer — MIT-licensed, zero backend required.
Explore the open source tools →✏️ Email builder
Learn the editor: templates, merge tags, visibility rules, and exporting.
Explore the builder →Two ways to use Maildeno
Both paths read and write the same template JSON, so choosing one does not lock out the other.
| Open source MIT | Maildeno Cloud | |
|---|---|---|
Editor |
|
Dashboard at maildeno.com/login |
Rendering |
|
Render API + SDKs, cached and rendered in-process |
Template storage |
Your database, via a storage adapter ( |
Cloud sync, team collaboration, version history |
Images |
Wherever you already host assets |
Built-in image CDN |
Account / API key |
Not required |
Required |
Cost |
Free — MIT |
Free tier, then paid plans |
| Not sure which? Start with open source. It needs no account, and everything you build transfers if you later want cloud sync — it is a one-line adapter change, not a migration. |
The shape of it
BROWSER — your app SERVER / EDGE — your send path
┌────────────────────┐ ┌──────────────────────────────┐
│ @maildeno/editor │ │ @maildeno/renderer │
│ │ │ — or a hosted SDK │
│ drag · drop · │ │ │
│ merge tags · │ │ render(template, { │
│ visibility rules │ │ mergeTags, context │
└─────────┬──────────┘ │ }) │
│ getJson() └──────────────┬───────────────┘
▼ │
┌────────────────────┐ read at send time ▼
│ YOUR DATABASE │ ────────────────────► HTML / MJML / React Email
│ template JSON │ │
└────────────────────┘ ▼
Resend · Postmark · SES · any ESP
The template JSON is the whole interface. Everything else is replaceable.
Key capabilities
| Capability | Description |
|---|---|
Drag-and-drop editor |
Build responsive emails without writing HTML or CSS. Eleven built-in block types, plus your own. |
Merge tags |
Inject dynamic text, URLs and attribute values at render time, each escaped correctly for where it lands. |
Visibility rules |
Show or hide sections on context values like |
Multi-target export |
One template → HTML, MJML, React Email, or portable JSON. |
14 ESP syntaxes |
Klaviyo, Mailchimp, Braze, SFMC, HubSpot, Iterable, SendGrid and more, plus custom registration. |
Accessibility checking |
A WCAG 2.1 AA-aligned rule catalogue built into the editor, with per-issue suppression. |
Client preview |
Thirteen email clients modelled, including four genuinely different dark-mode behaviours. |
Edge rendering |
The renderer runs in Cloudflare Workers, Vercel Edge, Deno and the browser — same import, same output. |
Zero dependencies |
|
Scoped API keys |
Restrict each key to specific render targets for least-privilege access. (Cloud) |
Three official SDKs |
JavaScript/TypeScript, Python and PHP, with matching feature sets. (Cloud) |
Supported render targets
| Target | Value | Use case |
|---|---|---|
HTML |
|
Any transactional or marketing email service — Resend, Postmark, SES, SendGrid, or your own MTA. |
MJML |
|
Teams with an existing MJML toolchain. |
React Email |
|
Next.js and other React-based email pipelines. Produces |
JSON |
— |
The portable template document. This is what you store. (Editor export only) |
| Store the JSON, not the HTML. HTML is a build artifact — you will want to regenerate it with a newer engine one day, and a stored HTML blob cannot be re-rendered for a different recipient. |
Packages
| Package | What it does | Version |
|---|---|---|
|
The drag-and-drop editor as an embeddable component. React, Vue, Angular, Svelte, or plain HTML. |
0.4.9 |
|
Renders a template to HTML, MJML or React Email — offline, in any runtime. |
0.2.0 |
|
The hosted SDK — fetches templates by ID and renders them in-process. |
2.1.0 |
Need help?
-
Troubleshooting — symptoms, causes and fixes
-
Glossary — terms defined once
-
Email the team at support@maildeno.com