Skip to content

FeaturesSmall surface for you. Full editor for them.

You integrate a loader and listen for one event. Your users get an editor that covers the work they actually do with email.

Designing

Blocks and layouts

Headings, text, images, buttons, dividers, spacers, social icons, tables and raw HTML, arranged in sections and up to four columns.

Rich text that behaves

Inline formatting, links that keep the surrounding font, and a floating toolbar that stays out of the way.

Global styles

Set default fonts, colours, spacing and link styles once for the whole email, then override per block.

Custom CSS

For the person on the team who wants that last bit of control, with a proper code editor.

Rendering

MJML underneath

Designs compile to MJML, the open standard for responsive email, then to HTML that renders in Outlook, Gmail and Apple Mail.

Dark mode variants

Every colour can have a dark counterpart. The export adds the prefers-color-scheme rules for you.

Device visibility

Show a block only on desktop or only on mobile, and preview both before saving.

Preheader text

Edit the preview line inbox apps show next to the subject, right inside the editor.

Content

Merge tags

Grouped placeholders with labels, descriptions and fallbacks. You decide the syntax that gets inserted.

Image library

Folders, search, uploads with progress, import from a URL. Hosted by Mailblocks or connected to your own storage.

Import MJML

Paste an existing MJML template, as tags or JSON, and keep editing it as blocks. Import accepts MJML only.

AI template builder

A guided brief turns into an editable template in seconds.

Fitting into your product

Your theme

Accent, surfaces, borders, text, fonts and radius, separately for light and dark.

Your toolbar

Show or hide the save and back buttons and trigger saving from your own UI.

Seven interface languages

English, Spanish, French, German, Portuguese, Romanian and Greek.

Events and methods

ready, save, change, error, back and generated events; save(), load() and destroy() methods.

See it before you write a line of code.

The live demo is the real editor, running exactly as it would in your app.