MJML

MJML

Lifecycle & Email
Write email in a component syntax and MJML compiles it to the table markup old clients still need.
ACCESS
No login
PRICE
Free
HOST
MJML
CATEGORY
Email design & compatibility
Last updated
August 4, 2026

Preview

MJML

What it is.

MJML is an open-source markup language for responsive email. You write semantic components and its engine compiles them into the HTML that email clients render.

What you stop writing by hand is the gain. Nested tables and conditional comments come out of the compiler, so a layout change is an attribute edit in the source.

What you get.

  • A component syntax covering sections, columns, buttons and text
  • Compiled HTML that carries the table markup older clients need
  • A documented component reference with every attribute listed
  • Command line and Node tooling for a build step
  • Plugins for common editors so the compile runs as you write
HOW TO USE IT

How to set it up.

1

Read the component reference at documentation.mjml.io before you start, since the attributes are where the layout control lives.

2

Wrap your layout in mj-section and put each column in an mj-column.

3

Set widths and padding as attributes on the column instead of in inline styles.

4

Compile to HTML with the command line tool or the Node package.

5

Send the compiled file through a spam and rendering check before it goes to a list.

Pricing Plans

MJML

$0

open-source, no account, no send limits

Use cases

Build without hand-writing tables

Write the component syntax and let the compiler produce the markup.

Survive an old client

Send compiled HTML that holds its layout where modern CSS gets stripped.

Hand a template to a developer

Point them at the component reference instead of explaining the nesting.

Best for

Building templates from scratch

You need a responsive email that holds up across clients and don't want to hand-write nested tables.

Templates in version control

The source is text, so an email template reviews like code.

Open the tool

Opens on Google in a new tab.

Open the Tool

Questions about MJML

Does it need a login?

Questions about Lifecycle & Email

Why is email still built with tables?
Before you start
  • A build step or an editor that compiles the syntax.
  • The component reference open, since the tag names are specific.
Strengths
  • Open source with no account and no send limits.
  • The compiler writes the nested tables and conditional comments for you.
  • Command line and Node tooling means a template can live in version control with a build step.
Limitations
  • It's a compiler, so the workflow needs a build step instead of a visual editor.
  • Custom markup outside the component set can still break in a desktop client, so check the compiled file.
  • It writes the template and does nothing about deliverability, which is a separate check.
Skip this if
  • You already have a template system that outputs the table markup old clients need.
Ideal for
  • Email developers
  • Lifecycle engineers
  • Design engineers

Got the free stack.
Need the engine?

Free tools give you the data. We turn it into pipeline for 300+ B2B tech companies, across organic search and paid media.