Mosaico - Responsive Email Template Editor
JavaScript HTML CSS
Latest commit d78ff8e Jan 8, 2017 @bago bago Prepare 0.16.0 release

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 template to illustrate some best practice examples: more templates will come soon! Please 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, customized onboarding slideshow, contextual menu, and some other small bits), but 95% of what you see is provided by this library. You will also see a second working template there: we are still working to open source it. Stay tuned!


Subscribe to our newsletter to get updates:

More Docs from the Wiki

Mosaico Basics

Developer Notes

Build/Run Build Status

You need NodeJS v6.0 or higher + ImageMagick

this may raise warnings about Knockout, ignore them. It will probably fail on some colorpicker dependency, just run it again and will work:

  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


IMPORTANT in order to use image uploading/processing feature in Node you need imageMagick installed in your environment. e.g. running "convert" and "identify" on the command line should output imageMagick command line help (if you are on Windows and install imageMagick 7.x then make sure to install "legacy utilities").

If you create your own template you can generate the needed "thumbnails"/"block thumbnails" by running:

grunt makeThumbs:main:yourtemplatename

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


We bundle a small Dockerfile based on centos7 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.

Serving via Apache PHP or Django?

First you have to build it using grunt, then you can read (

Access Interpreting wrote a sample PHP backend so you can start from there if you want to use Mosaico with an Apache/PHP backend.

Ryan Nowakowski wrote a Python/Django backend and also wrote a test-suite in Python to help testing Mosaico backends

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 or you need COMMERCIAL support: . Please DON'T write to this email to get free support: use Git issues for that.