MJML
mjml.io
What it is
MJML is a markup language for building responsive email layouts. Its engine converts MJML into email HTML made with nested tables and inline CSS, with responsive behavior for popular email clients, including Outlook. Reusable, extensible components provide a starting point, and users can create their own components. MJML is open source under the MIT license and free to use. Its online editor supports writing and rendering MJML, and its free REST API renders markup into responsive HTML. The command-line interface can compile files, watch for changes, and save generated HTML to a chosen file. Local installation is available through 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 API keys, with public and secret keys intended for browser and back-end use. Includes are ignored by default, and enabled include paths are restricted to approved roots. Once the HTML is rendered, users must send it through an email service provider or directly from a shell. The mj-button component is not fully clickable because of email-client support.
Spec sheet
- What it does
- MJML is a markup language and compiler that turns semantic email markup into responsive HTML using nested tables, inline CSS and client-specific workarounds.Read 15 Oct 2026 · mjml.io
- Purpose
- MJML is a markup language designed to reduce the difficulty of coding responsive email.Read 30 Sep 2026 · documentation.mjml.io
- API
- The MJML REST API is free to use and renders MJML into responsive HTML.Read 30 Sep 2026 · mjml.io
- Integrations
- The documented ecosystem includes Mailjet, Parcel, IntelliJ IDEA, Gradle, Neos CMS, and Easy-email.Read 30 Sep 2026 · documentation.mjml.io
- Security
- MJML ignores includes by default and restricts enabled include paths to approved roots with canonical boundary checks.Read 30 Sep 2026 · documentation.mjml.io
- Support
- MJML invites users to contact [email protected] and participate through Slack and GitHub.Read 30 Sep 2026 · mjml.io
- License
- The main MJML repository is released under the MIT license.Read 15 Oct 2026 · github.com
- Founded
- 2015Read 28 Sep 2026 · mjml.io
- API authentication
- Each API account receives one Application ID and two API keys, with public and secret keys intended for browser and back-end use respectively.Read 30 Sep 2026 · mjml.io
- API response
- API render responses contain generated HTML, the MJML source used, the transpiler version and possible markup errors.Read 15 Oct 2026 · mjml.io
- Browser SDK
- The mjml-browser package compiles MJML in a browser context and returns generated HTML and diagnostics.Read 15 Oct 2026 · github.com
- CLI
- The command-line tool compiles files, writes HTML or stdout, watches files, supports minification and can process allowlisted includes.Read 15 Oct 2026 · documentation.mjml.io
- Client limitation
- The mj-button component is not fully clickable because of email-client support.Read 30 Sep 2026 · documentation.mjml.io
- Command line
- The CLI can compile files, watch for changes, and write generated HTML to a chosen file.Read 30 Sep 2026 · mjml.io
- Component model
- Built-in reusable components include sections, columns, text, images, buttons, social elements, accordions, carousels and heroes.Read 15 Oct 2026 · documentation.mjml.io
- Components
- MJML provides reusable, extensible components and lets users build custom components.Read 30 Sep 2026 · mjml.io
- Current owner
- LinkedIn describes Mailjet as a Sinch product.Read 15 Oct 2026 · linkedin.com
- Custom components
- Developers can create and register their own MJML components through configuration files and JavaScript modules.Read 15 Oct 2026 · github.com
- Desktop app
- The separate MJML App repository distributes an Electron desktop editor with platform-specific releases and source-build instructions.Read 15 Oct 2026 · github.com
- Documentation depth
- Documentation covers component attributes, CLI options, Node usage, browser usage, JSON input, custom components, tooling and compatibility charts.Read 15 Oct 2026 · documentation.mjml.io
- Editor integrations
- Official documentation lists Visual Studio Code and Sublime Text plugins, plus Gulp integration and Open VSX availability.Read 15 Oct 2026 · documentation.mjml.io
- Editor plugins
- MJML offers plugins for Visual Studio Code and Sublime Text, plus a desktop app.Read 30 Sep 2026 · mjml.io
- Independent score
- FAUN.dev gives MJML an 83/100 community score, with strongest results for pricing transparency and maturity and weakest results for components and templating.Read 15 Oct 2026 · faun.dev
- Installation platforms
- The official download instructions support installation with npm on macOS, Linux and Windows.Read 15 Oct 2026 · mjml.io
- Limit: breakpoint model
- Topol reports that MJML uses a default 480-pixel breakpoint, making desktop-versus-mobile layouts easier than multi-tier tablet-specific designs.Read 15 Oct 2026 · topol.io
- Limit: generated boilerplate
- Topol notes that a short MJML document can compile into much larger HTML containing nested tables, Outlook conditional blocks and media queries.Read 15 Oct 2026 · topol.io
- Limit: no application logic
- Alterable says MJML itself has no loops, conditions or data logic, so teams need a separate templating layer or ESP processing step.Read 15 Oct 2026 · alterable.com
- Limit: Outlook workarounds
- The same G2 reviewer said extra work is still needed to make Outlook behave correctly.Read 15 Oct 2026 · g2.com
- Limit: output size
- Alterable warns that generated HTML can become large enough for Gmail clipping, so teams should monitor compiled size rather than source size.Read 15 Oct 2026 · alterable.com
- Local installation
- MJML can be installed with npm on OSX, Linux, and Windows.Read 30 Sep 2026 · mjml.io
- Mailjet integration
- Mailjet's email editor accepts MJML templates and provides responsive previews across devices and clients.Read 15 Oct 2026 · documentation.mailjet.com
- Maker headquarters
- LinkedIn lists Sinch Mailjet headquarters in Paris, Île-de-France.Read 15 Oct 2026 · linkedin.com
- Maker legal name
- Contest terms identify Mailjet SAS as the legal entity associated with MJML, registered at 13 bis rue de l’Aubrac, 75012 Paris.Read 15 Oct 2026 · mjml.io
- Maker size
- LinkedIn lists Sinch Mailjet's company size as 51–200 employees.Read 15 Oct 2026 · linkedin.com
- Node.js SDK
- The npm package exposes the mjml2html function for compiling MJML strings inside Node.js applications.Read 15 Oct 2026 · github.com
- Notable release
- MJML 5.4.1 was released on September 10, 2026 with a strict-validation crash fix, dependency vulnerability updates, documentation changes and an Emjay Ruby port note.Read 15 Oct 2026 · github.com
- Online editor
- MJML provides a browser editor that renders MJML and lets users inspect the generated HTML without installing the engine.Read 15 Oct 2026 · mjml.io
- Open source
- MJML is open source under the MIT license.Read 30 Sep 2026 · mjml.io
- Origin
- Mailjet developers created MJML in early 2015 while building the Passport email editor, and it was released as open source in 2016.Read 15 Oct 2026 · mjml.io
- Output
- The MJML engine transpiles MJML markup into responsive email HTML with nested tables and inline CSS.Read 30 Sep 2026 · mjml.io
- Praise: documentation and onboarding
- The sole G2 reviewer praised the documentation, community support, quick setup for people with HTML and CSS experience and the live try-it feature.Read 15 Oct 2026 · g2.com
- Praise: responsive compilation
- Alterable reports that MJML makes columns responsive by default and handles Outlook, Gmail and Apple Mail compatibility in generated output.Read 15 Oct 2026 · alterable.com
- Praise: version-control workflow
- Alterable notes that MJML files are text-based, work well with Git diff and branching, and support shared partials through mj-include.Read 15 Oct 2026 · alterable.com
- Rating on G2
- 5.0 out of 5 from 1 reviewRead 15 Oct 2026 · g2.com
- Responsive design
- MJML is responsive by design on popular email clients, including Outlook.Read 30 Sep 2026 · mjml.io
- Responsive layouts
- Columns automatically stack for mobile layouts and the framework targets major email clients including Outlook.Read 15 Oct 2026 · mjml.io
- REST API
- The public API is available at https://api.mjml.io/v1, authenticates with an application ID and API keys, and exposes POST /render.Read 15 Oct 2026 · mjml.io
- Security controls
- Documentation says includes are ignored by default and that enabled include paths are restricted to validated allowlisted roots with traversal and absolute-path checks.Read 15 Oct 2026 · documentation.mjml.io
- Self-hosting
- Because the compiler is open source and installable from npm, teams can run MJML locally or in their own build and CI systems.Read 15 Oct 2026 · github.com
- Sending limitation
- After rendering MJML to HTML, users must send the result through an email service provider or directly from a shell.Read 30 Sep 2026 · mjml.io
- Support channels
- Official support options include documentation, a community Slack workspace, GitHub contributions and the [email protected] contact address.Read 15 Oct 2026 · mjml.io
- System requirement
- MJML 5 packages require Node.js 22 or later, while CI tests Node 22, 24 and 26.Read 15 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free and open source under the MIT license.
- Converts markup into responsive email HTML.
- Supports custom reusable components.
- CLI can compile files and watch for changes.
- Available through an online editor and REST API.
Limits
- Rendered HTML still needs an email sending method.
- The mj-button component is not fully clickable.
- Local npm installation is listed for macOS, Linux, and Windows.
Who it suits
MJML suits developers who prefer writing email layouts as code and want reusable components or a command-line workflow. It also offers an online editor and API for rendering markup into HTML.
MJML in depth
Read the full write-up
Overview
MJML is best suited to developers and teams who want to build responsive email layouts in markup rather than a visual editor. Its free rendering tools and extensible components make it a practical way to produce email HTML; it stops before delivery.
Instead of writing email layout tables and inline styles directly, authors work in MJML and compile it into HTML designed for popular email clients, including Outlook. The component approach offers reusable structure, while custom components give teams room to adapt it. MJML has been open source under the MIT license since 2015.
Key features
Responsive email output: The engine generates HTML with nested tables and inline CSS. That lets developers work at a higher level than the output markup, though the mj-button component is not fully clickable because of email-client support.
Reusable, extensible components: Built-in components and the ability to create custom ones suit teams that want consistent, code-managed templates. This is less compelling for people who prefer to lay out emails visually.
Flexible authoring: Users can write and render MJML in the free online editor, install it through npm on macOS, Linux, or Windows, or use plugins for Visual Studio Code and Sublime Text. A desktop app is also available.
CLI and API rendering: The CLI compiles files, watches for changes, and writes generated HTML to a chosen file. The free REST API also renders MJML; each account gets one Application ID and two API keys, with public and secret keys intended for browser and back-end use. MJML ignores includes by default and limits enabled include paths to approved roots with boundary checks.
Integration and community: The documented ecosystem includes Mailjet, Parcel, IntelliJ IDEA, Gradle, Neos CMS, and Easy-email. Users can contact MJML by email or take part through Slack and GitHub.
Pricing
MJML is free to use, including its REST API. The Free plan costs nothing. There is no paid tier described, so teams choosing MJML do not have to weigh feature access against a subscription price.
The trade-off is scope rather than price: MJML renders templates but does not send them. After compilation, users must deliver the HTML through an email service provider or directly from a shell, adding a separate step for anyone seeking an all-in-one workflow.
Platforms
MJML is listed for API, extension, Linux, macOS, web, and Windows use. The online editor provides a browser-based route, npm supports local installation on macOS, Linux, and Windows, and editor plugins support Visual Studio Code and Sublime Text. A desktop app is also offered.
Who it's for
MJML fits developers and teams comfortable with code who need reusable email layouts and control over generated HTML. The CLI suits file-based workflows, while the API supports rendering from browser or back-end applications. It is not the right fit for readers who need email sending built into the same product, or who want to create layouts without markup.
Pros and cons
Pros
Free authoring and rendering: The online editor, local tooling, and REST API let teams choose a workflow without a listed subscription cost.
Structured output: MJML compiles components into responsive email HTML, avoiding direct authoring of the nested tables and inline CSS it generates.
Extensible markup: Custom components help teams build on the reusable component system rather than rely only on its built-ins.
Cons
Delivery is separate: MJML produces HTML but leaves sending to an email service provider or shell-based process.
One component has a client constraint: The mj-button is not fully clickable across email clients.
Code-first workflow: Markup is central to MJML, making it a poor match for readers seeking a visual designer.
Alternatives
For a browser-based email design workflow, compare Email Design Software and Email Template Software.
Canary is an email client with a free plan that includes inbox features and templates, making it a different option for managing email rather than compiling markup. Beefree (now RGE Studio) offers a web-based design tool with a free Starter plan capped at 10 designs and 6 exports per month; consider it when those visual-design limits fit the work. Blocks Edit is another alternative to consider.
Dragble offers web, API, and self-hosted access, with a free plan limited to 3 projects and 10 GB of storage. Unlayer provides web, API, and self-hosted options; its free plan includes email, page, popup, and document builders. EmailBuilder.ai has a web-based free Playground plan capped at 10 emails, 3 templates, 50 AI Assistant calls, and 5 sends or exports. MailForge is a web option with a free plan allowing 5 exports per month, 3 projects, and HTML and MJML export. Parcel offers a web-based free Community plan with 50 emails and 50 snippets, plus HTML problem checking, test sends, previews, and accessibility testing.
Verdict
Choose MJML if you want a free, code-first way to create responsive email HTML from reusable markup, especially when you need local, CLI, or API rendering. Look elsewhere if you need visual-first design or email delivery in the same tool.
Verdict
MJML focuses on authoring and rendering responsive email markup, not sending the finished message. Its component system and editor choices suit code-first workflows, with a documented limitation for mj-button.
Where Specifiction places it
- Email Design Software#7 of 638.6
- Email Template Software#6 of 268.7