Drag-and-drop responsive emails with a live preview, edit the MJML head styles directly, and export bulletproof HTML that renders cleanly in Outlook, Gmail, Apple Mail and every modern client. No signup, runs entirely in your browser.
Sections, columns, text, buttons, images, dividers, spacers, social, hero, navbar, accordion — every MJML component with strict, email-safe nesting rules so you cannot build an invalid email.
Live preview at 600 px desktop and 320 px mobile, so you can sanity-check stacking and tap targets before you hit export.
Set typography, button radius, link colours and section padding once in the head — every block inherits them so your email stays consistent.
Compile to send-ready, minified HTML with Outlook conditional comments and bulletproof buttons. Or grab the clean MJML source / JSON tree for a developer handoff.
Warnings for Gmail clipping (102 KB), missing alt text, placeholder links and oversized images — before you send and embarrass yourself.
Templates and assets save to your browser (IndexedDB). No account, no upload, no analytics. Works offline after the first load.
Compose email-safe layouts by adding sections and columns, then dropping in text, buttons, images, spacers, dividers, navbars, social blocks, heroes and accordions. The editor enforces MJML's nesting rules so you cannot build a layout that compiles to broken HTML.
Set typography, button defaults, link colours and section padding once in <mj-attributes> — every component inherits them. Set the inbox preview text, drop in custom <mj-style> CSS for advanced cases, and pick your target ESP (Mailchimp, Klaviyo, Sendgrid, Hubspot, Brevo, Campaign Monitor, MailerLite) so merge-tag syntax matches.
Export send-ready HTML (optionally minified) with Outlook conditional comments, VML buttons and table-based fallbacks intact — the same bulletproof output MJML is famous for. Pre-flight checks warn about Gmail 102 KB clipping, missing alt text and placeholder links before you ship.
<mj-button>, it ships ~50 lines of bulletproof HTML.*|FNAME|*, *|EMAIL|*{{ first_name }}, {{ email }}{{first_name}}{{ contact.firstname }}{{ params.FNAME }}[firstname,fallback=]{$name}mj-section, mj-column, mj-text, mj-button, mj-image, mj-divider, mj-spacer, mj-social + mj-social-element, mj-hero, mj-navbar, mj-accordion, mj-table, mj-raw, mj-carousel, mj-wrapper, mj-group. Head: mj-attributes, mj-style, mj-font, mj-preview, mj-title.<mj-button border-radius="6px"> once; the compiler handles the gnarly Outlook side.Free MJML editor with bulletproof HTML export. No signup, no subscription, runs in your browser.
Open the Editor