MJML is an open-source markup language for building responsive email layouts. Its engine turns MJML into email HTML built with nested tables and inline CSS, with responsive behavior intended for popular email clients including Outlook. Reusable, extensible components provide a starting point, and users can build custom components. MJML is available under the MIT license, with a free online editor for writing and rendering markup and a free REST API for generating responsive HTML. The command-line interface can compile files, watch for changes and save generated HTML to a chosen file. It can be installed with npm on macOS, Linux and Windows; plugins are available for Visual Studio Code and Sublime Text, alongside a desktop app. API accounts receive an Application ID and two keys, with public and secret keys intended for browser and back-end use respectively. MJML ignores includes by default and limits enabled include paths to approved roots. After rendering, users still need an email service provider or a shell to send the HTML. The mj-button component is not fully clickable because of email-client support.
Who it is for
MJML suits developers who want to write responsive email markup using reusable components, a CLI, editor plugins or an API. It is code-first rather than a general-purpose visual email sending service.
What is good
- Open source under the MIT license.
- Online editor and REST API are free to use.
- CLI compiles files and watches for changes.
- Reusable components can be extended or customized.
- Installable on macOS, Linux and Windows.
What to know first
- Rendered HTML must be sent through another service or shell.
- The mj-button component is not fully clickable.
- API accounts receive only one Application ID and two keys.
Freedom251 review
MJML: the full review
MJML provides a free code-first path from markup to responsive email HTML, with editor, CLI and API options. It handles rendering rather than delivery, and email-client support limits the mj-button component.
Overview
MJML is a code-first markup tool for developers and teams building responsive email templates. Its component model reduces the amount of email-specific HTML authors need to write, though it is not a visual design workflow or a sending service.
Authors write MJML, then its engine renders HTML built with nested tables and inline CSS for popular email clients, including Outlook. Reusable components encourage consistent layouts, and custom components let teams extend the system. MJML has been open source under the MIT license since 2015.
The boundary matters: MJML produces the template, not the campaign delivery. The rendered HTML must be sent through an email service provider or directly from a shell.
Key features
- Responsive rendering: The engine handles the table-based markup and inline styling commonly required for email HTML. That makes MJML useful when a team wants to work in a higher-level markup language rather than maintain that output by hand; it does not remove client-specific limitations.
- Reusable components: Built-in and custom components support repeatable layouts and project-specific extensions. This is a better fit for developers who value structured, reusable code than for designers seeking a drag-and-drop canvas.
- Flexible authoring: The free online editor can write and render MJML. Local installation through npm works on macOS, Linux, and Windows, while plugins are available for Visual Studio Code and Sublime Text alongside a desktop app.
- CLI and API: The command-line interface can compile files, watch for changes, and write HTML to a chosen file. The free REST API also renders MJML into responsive HTML; each account receives one Application ID and two keys, with public and secret keys intended for browser and back-end use respectively.
- Include safeguards: Includes are ignored by default. When enabled, include paths are limited to approved roots with canonical boundary checks, a useful constraint for projects that rely on includes.
- Rendering is not delivery: MJML leaves sending to an email service provider or a shell-based workflow, so teams needing a single tool for template creation and campaign delivery will need another solution.
- Button caveat: The mj-button component is not fully clickable because of email-client support. That limitation can affect calls to action and should be considered before standardizing on the component.
Pricing
MJML is free to use. The Free plan costs 0.00 USD per free and includes the free-to-use REST API. The online editor is also free, and the open-source MIT license provides a path to local use and extension without a paid tier.
There is no paid plan to weigh against the free option. The trade-off is operational rather than tier-based: MJML covers markup and rendering, while sending requires an external provider or shell workflow. Its documented ecosystem includes Mailjet, Parcel, IntelliJ IDEA, Gradle, Neos CMS, and Easy-email.
Platforms
MJML is available on the web, through an API and editor extension, and on Linux, macOS, and Windows. Local npm installation, the CLI, editor plugins, and desktop app give developers options to fit an existing coding setup.
Who it's for
MJML suits developers and teams comfortable with markup who need reusable email layouts and a repeatable rendering workflow. It is less suitable for people who want to design visually without code, or who expect the same product to render and send email. Support and community participation are available through [email protected], Slack, and GitHub.
Pros and cons
Pros
- Free across core workflows: The online editor and REST API are free, and the MIT-licensed project can be installed locally.
- Fits development workflows: CLI compilation and file watching, editor plugins, and custom components support teams building and maintaining templates as code.
- Structured output: MJML generates nested-table, inline-CSS HTML intended for popular email clients, including Outlook.
Cons
- Requires code: MJML is code-first, so it does not serve readers looking for a visual email-design workflow.
- Delivery is separate: Rendering does not send messages; an email service provider or shell-based sending process is still required.
- Button behavior is constrained: The mj-button component is not fully clickable due to email-client support.
Alternatives
For a visual email-building workflow, consider Blocks Edit, which offers web access, a free plan, and paid collaboration options. Its Collaborate plan is 20.00 USD per year, billed yearly, with 250 GB storage; the 5 users plan is 99.00 USD per year, billed yearly. Choose it when those visual and collaboration options suit better than MJML's code-first workflow.
Dragble is a web, API, and self-hosted option with a free plan capped at 3 projects, 10 GB storage, 10 core content blocks, and Dragble branding. It may fit better when those project and storage limits meet your needs and you prefer its content-block workflow.
MailEditor offers web, API, and extension access. Its Starter plan is 9.00 USD per month, billed yearly, and includes 2 members, 100 HTML exports, 50 ESP exports, 200 test emails, 60 saved templates, 700 MB storage, 10 AI templates, and 30 p. It is a candidate when export and test-email allowances are more relevant than MJML's code-rendering focus.
Postcards has web, API, and extension access; its free Start plan allows 10 template projects, 5 monthly exports, 10 daily test emails, unlimited teammates, and 0 AI credits per month. It may suit a team that wants a free visual template workflow with those export limits.
Serious Email Studio is web-based and includes responsive previews on its free plan, capped at 1 user, 3 projects, and 10 templates. It is worth considering when those project limits and preview workflow fit better than authoring markup.
Stripo is a web and API option whose free plan allows 2 members, 4 monthly exports, 5 daily test emails, and 10 stored emails. It may fit teams prioritizing that web-based export and test-email workflow.
Unitpost offers a free plan with monthly email, daily email, contact, domain, webhook, and hosted-image-storage caps. It is a better direction to consider when those sending-oriented limits align with the need, rather than MJML's template rendering role.
Unlayer is available on web, API, and self-hosted deployments, with a free plan covering email, page, popup, and document builders. It may be a better fit when a broader builder set matters more than MJML's markup-first approach.
Browse more options in Email Template Software and Email Design Software.
Verdict
Choose MJML if you want a free, extensible code-first route to responsive email HTML, with editor, CLI, and API options that fit developer workflows. Look elsewhere if you need visual authoring or sending built into the same product, or if the mj-button limitation is unacceptable for your calls to action.
MJML plans and pricing
All plansCompared on email design software
- Free plan
- Yes
- Editor type
- code-first
- Reusable content blocks
- Yes
- HTML export
- Yes
- Custom code editing
- Yes
- Custom fonts
- Yes



