Skip to content


Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time
Jun 10, 2022

Mosaico - Responsive Email Template Editor

Mosaico is a JavaScript library (or maybe a single page application) supporting the editing of email templates. The great thing is that Mosaico itself does not define what you can edit or what styles you can change: this is defined by the template. This makes Mosaico very flexible.

Mosaico Screenshot

At this time we provide a single "production ready" template to illustrate some best practice examples: more templates will come soon! Have a look at Template Language and get in touch with us if you want to make your email html template "Mosaico ready".

Live demo

On you can see a live demo of Mosaico: the live deploy has a custom backend (you don't see it) and some customization (custom Moxiemanager integration for image editing, customized onboarding slideshow, contextual menu, and some other small bits), but 95% of what you see is provided by this opensource library. You will also see a second working template there (versafluid) that is not part of the opensource distribution.


Subscribe to our newsletter to get updates:

More Docs from the Wiki

Mosaico Basics

Developer Notes

Build/Run with the development backend Build Status

You need NodeJS v8.0 or higher + NPM 8.3 (because of "overrides" support in package.json you need npm 8.3 if you want to change/upgrade dependencies, but it should work with older npm, too, if you rely on package-lock.json)

Download/install the dependencies (run again if you get an error, as it probably is a race issues in npm)

  npm install

if you don't have it, install grunt-cli globally

  npm install -g grunt-cli

compile and run a local webserver ( with incremental build and livereload


NOTE we have reports that default Ubuntu node package have issues with building Mosaico via Grunt. If you see a Fatal error: watch ENOSPC then have a look at #82


We bundle a Dockerfile based on Alpine linux and another based on Centos 7 to test mosaico with no need to install dependencies.

docker build -t mosaico/mosaico .
docker run -p 9006:9006 mosaico/mosaico

then open a browser to point to the port 9006 of your docker machine IP.

Deploying Mosaico via Apache PHP or Django or something else?

First you have to build it using grunt, then you MUST read Serving Mosaico.

OpenSource projects including/using Mosaico

MailTrain is a full featured newsletter web application written in Node and support email editing via Mosaico since their 1.23.0 release.

GoodEnough's Mosaico born as a Mosaico fork, now have become a full web application product built around Mosaico editing targeting agencies.

CiviCRM is an open source CRM built by a community of contributors and supporters, and coordinated by the Core Team. CiviCRM is web-based software used by a diverse range of organisations, particularly not-for-profit organizations (nonprofits and civic sector organizations). CiviCRM offers a complete feature set out of the box and can integrate with your website.

Are you having issues with Mosaico?


Contact Us

Please contact us if you have ideas, suggestions or, even better, you want to collaborate on this project ( feedback at ) or you need COMMERCIAL support ( sales at ) . Please DON'T write to this email to get free support: use Git issues for that, start the issue subject with "[help] " prefix, and write something to let us know you already read the CONTRIBUTING file.