Skip to main content

Our email CSS engine is open source. Give it a star on GitHub 

Emailens
MIT licensed on github.com/emailens

Open-source email QA
for developers.

Find what breaks in Outlook while the email is still a pull request, not after your client opens it. The rendering engine, CLI, MCP server, VS Code extension and GitHub Action are free and open source: run them locally, in CI, or inside Claude and Cursor. Add the hosted app when you need screenshots and share links.

Three commands developers actually run

Analyze a template with no account, give your assistant the linter, or gate every pull request.

terminal

# analyze a template locally (no account)npx @emailens/cli analyze ./emails/welcome.html --json

Add the hosted app when your team needs the browser

Open source covers analysis and CI. Sign up when collaborators need links, screenshots or API keys, still powered by the same @emailens/engine.

  1. 1

    Stakeholders need a link, not a terminal

    Generate shareable preview URLs so PMs and designers review scores and warnings in the browser without installing anything.

    Try shareable previews
  2. 2

    You need real browser screenshots

    Live previews catch most CSS bugs; hosted capture renders light and dark mode PNGs across 21 clients when you need pixel proof.

    Try screenshot previews
  3. 3

    Team API keys and preview history

    Free tier includes 30 hosted checks a day. Upgrade when you need more keys, CI screenshot gates, or dashboard history.

    Create free account

Open-source tools: local vs optional cloud API

Only the MIT repos on github.com/emailens. Cloud API rows need an Emailens account; the web app itself is not open source.

Capability Engine CLI MCP VS Code Action
CSS/HTML analysis Local Local Local Local Cloud API
CI lint exit codes Local Local Not included Not included Cloud API
Dark mode preview Local Local Local Local Not included
Deliverability checks Local Not included Local Not included Not included
Browser screenshots (cloud) Not included Not included Cloud API Not included Not included
Share preview links (cloud) Not included Not included Cloud API Not included Not included

MCP can call hosted screenshots and shares with an API key. The proprietary app adds the dashboard, team usage, and the Figma and Builder integrations. API access

Five projects, one compatibility engine

Each repo is maintained on github.com/emailens. The npm packages are @emailens/engine, @emailens/cli and @emailens/mcp.

@emailens/engine

MIT · 300 features · 21 clients welcome.html, checked five ways
  • @emailens/cli

    $ emailens lint welcome.html local

    Works in 16 of 21, exit 1

  • @emailens/mcp

    analyze_email, from your assistant local

    Works in 16 of 21

  • VS Code extension

    on save, beside the editor local

    Works in 16 of 21

  • emailens/action

    pull request #128 hosted

    Works in 16 of 21, check failed

  • app.emailens.dev

    POST /api/preview hosted

    Works in 16 of 21

Same email, same engine, same answer. The CLI, MCP server and editor run it on your machine; the Action and the app call it hosted.

  • @emailens/engine

    MIT 18

    Core compatibility engine

    Parses HTML email, evaluates CSS against 21 client support matrices, transforms markup per client, scores compatibility, previews dark mode, and emits framework-native fix hints. The same engine powers the CLI, MCP server, VS Code extension, and hosted preview API.

    298+ CSS and HTML compatibility rules · Per-client transforms and worst-client scoring · React Email, MJML, and Maizzle compile hooks · Runs fully offline in Node.js

    $ npm install @emailens/engine
  • @emailens/cli

    MIT 15

    Terminal lint and CI reports

    Preview and analyze emails from the terminal. Pipe HTML in, get structured scores and warnings out. The lint command exits with codes your CI pipeline can gate on.

    emailens preview, analyze, and lint subcommands · JSON output for automation · Works with HTML, MJML, Maizzle, and exported React Email · No account required for local analysis

    $ npm install -g @emailens/cli
  • @emailens/mcp

    MIT 8

    Email QA inside AI assistants

    Model Context Protocol server with thirteen tools: analyze, preview, audit, fix, diff, deliverability, and client list run locally; hosted screenshots, share links, and SMTP sandbox inbox tools unlock when you add an API key.

    Seven tools run 100% locally via @emailens/engine · Claude Desktop, Claude Code, Cursor, Windsurf · Optional EMAILENS_API_KEY for screenshots, sharing, and sandbox inboxes · Remote MCP endpoint at app.emailens.dev/api/mcp

  • Emailens VS Code extension

    MIT 2

    Live preview in your editor

    Side-by-side email preview and compatibility scores while you edit HTML, MJML, or React Email. Uses the open-source engine locally so your source never leaves the machine for analysis.

    Live reload on save · Per-client scores and CSS warnings · Inspect elements inside the preview · Published on the VS Code Marketplace

  • emailens/action

    MIT 5

    GitHub Action CI gate

    Fail pull requests when email HTML drops below your compatibility threshold. Sends each template to the Emailens preview API and reports per-client scores as annotations and a job summary.

    Score thresholds and client filters · Annotations and a job summary per file · Glob pattern input, including ** for nested folders · Open source, no vendor lock-in

Local-first open core, optional cloud

CSS and HTML analysis, per-client transforms, CLI lint gates, MCP tools without an API key and your editor workflow all run on the open-source stack.

Engine CLI MCP VS Code

The hosted app adds

  • Browser screenshots across 21 clients, light and dark
  • Shareable preview links for stakeholders
  • Dashboard history, API keys and team usage
  • AI Builder and Figma plugin, on the same engine with a proprietary UI

The hosted app is not open source. The free tier includes 30 checks a day. See pricing or check your email, free.

Common questions

Is Emailens open source? +

The email compatibility engine and developer tooling (@emailens/engine, @emailens/cli, @emailens/mcp, the VS Code extension, and the GitHub Action) are open source under the MIT license on github.com/emailens. The hosted web app, screenshot rendering farm, and team features are the commercial SaaS product.

Do I need an Emailens account to use the open-source tools? +

No. Local preview, analysis, linting, and MCP tools that run on @emailens/engine work without signup. Optional hosted features (browser screenshots, shareable preview links, REST API quotas) use the Emailens cloud and may require a free or paid API key.

How does the open-source engine relate to emailens.dev? +

The SaaS at emailens.dev runs the same @emailens/engine logic server-side, adds authenticated storage, share links, screenshot capture across real browser profiles, billing, and team workflows. You can use only the open-source stack, only the cloud, or both.

Where should I start? +

Install @emailens/cli for terminal workflows, add @emailens/mcp if you use Claude or Cursor, or read the @emailens/engine docs if you want to embed scoring in your own product. The documentation at docs.emailens.dev covers each path.

When should I sign up for the hosted app? +

Stay on open source for local linting, CI gates, and editor workflows. Create a free Emailens account when you need shareable preview links for teammates, browser screenshots across clients, or API keys for MCP screenshot and share tools. The free plan includes 30 hosted checks a day.

Does starring the GitHub repos help? +

Yes. Stars on github.com/emailens help other developers discover the engine and tools, signal maintenance to employers evaluating the stack, and notify you of releases. The product roadmap for open-source packages is public in each repo.

Stop it reaching production, from your own terminal.

Start with the CLI or MCP locally, or check one email in the browser first. Create a free account when you need share links, screenshots or team API keys.

Want to contribute rules or fixes? Read the contributing guide