Skip to main content
Emailens
MIT · github.com/emailens

Open-source email QA
for developers.

The rendering engine, CLI, MCP server, VS Code extension, and GitHub Action are free and open source. Run compatibility checks locally, in CI, or inside Claude and Cursor, then optionally plug into the hosted Emailens app when you need screenshots and share links.

same engine as the SaaS, no lock-in

Read the engine docs

npm org @emailens 21 inbox clients 298+ CSS/HTML rules

Copy & paste

Three commands developers actually run

@emailens/cli

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

@emailens/mcp

bash
2 lines
# add to Claude Code in one line
claude mcp add emailens -- npx -y @emailens/mcp

emailens/action

.github/workflows/emailens.yml
4 lines
- uses: emailens/action@v1
  with:
    pattern: "emails/**/*.html"
    threshold: "70"

When OSS is not enough

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.

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

You need real browser screenshots

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

Try screenshot previews

Team API keys and preview history

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

Create free account

Honest comparison

Open-source tools: local vs optional cloud API

Only 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 Local
CI lint exit codes Local Local — — Local
Dark mode simulation Local Local Local Local Local
Deliverability checks Local Local Local — —
Browser screenshots (cloud) — — Cloud API — —
Share preview links (cloud) — — Cloud API — —

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

Repositories

Five projects, one compatibility engine

Each repo is maintained on github.com/emailens . Published npm packages ship from @emailens/engine, @emailens/cli, and @emailens/mcp.

@emailens/engine

MIT 14

Core compatibility engine

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

npm install @emailens/engine
  • 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

@emailens/cli

MIT 12

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.

npm install -g @emailens/cli
  • emailens preview, analyze, and lint subcommands
  • JSON output for automation
  • Works with HTML, MJML, and React Email sources
  • No account required for local analysis

@emailens/mcp

MIT 7

Email QA inside AI assistants

Model Context Protocol server with nine tools: analyze, preview, audit, fix, diff, deliverability, client list, and optional hosted screenshots and share links when you add an API key.

npx -y @emailens/mcp
  • Seven tools run 100% locally via @emailens/engine
  • Claude Desktop, Claude Code, Cursor, Windsurf
  • Optional EMAILENS_API_KEY for screenshots and sharing
  • Remote MCP endpoint at emailens.dev/api/mcp

Emailens VS Code extension

MIT 1

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. Runs @emailens/cli in GitHub Actions with cached installs and structured annotations.

  • Score thresholds and client filters
  • PR comments with regression details
  • Monorepo-friendly path inputs
  • Open source, no vendor lock-in

Architecture

Local-first open core, optional cloud

Open source (offline-capable)
  • CSS/HTML analysis and per-client transforms
  • CLI lint gates and GitHub Actions
  • MCP tools without an API key
  • VS Code and editor workflows
Hosted app (not open source)
  • Browser screenshots across 21 clients (light + dark)
  • Shareable preview links for stakeholders
  • Dashboard history, API keys, and team usage
  • AI Builder and Figma plugin (same engine, proprietary UI)

Free tier includes 30 previews per day. See pricing or try the web app .

FAQ

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 previews per 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.

Star the repos, or try the cloud in one click

Most developers start with the CLI or MCP locally. Create a free account when you need share links, screenshots, or team API keys.

Want to contribute rules or fixes? Contributing guide