Render HTML emails across real email clients, capture pixel-accurate screenshots, and get structured rendering analysis back — in one API call.
…or drop a .eml file onto the box, or .
We render in the actual email client, never an engine approximation. Gmail is live today — the rest are landing soon.
The strictest client. Renders in a live, logged-in Gmail session — strips flexbox, grid, position, box-shadow, and animations.
Real Outlook web rendering, with its own quirks around position, animations, and transforms.
Rendered on a real iOS Simulator over an iPhone/iPad device profile. WebKit engine, true-to-device pixel scale.
Real Yahoo Mail rendering for cross-client checks against its CSS handling.
The actual Mozilla Thunderbird desktop client, driven headlessly and screenshotted.
Dark mode, images-disabled, and custom viewport widths. Want a specific client or setup sooner? Get in touch.
Every client strips different CSS. Gmail kills flexbox. Outlook breaks your spacing. Dark mode inverts your logo. An agent writing email HTML is flying blind — there's no way to see the result.
Gmail strips flexbox, grid, position, box-shadow, and animations. Outlook, Yahoo, Apple Mail, and Thunderbird each have their own quirks. "Works in my browser" means nothing.
An LLM can write email HTML, but it has no feedback loop. It can't open Gmail, can't check dark mode, can't tell if images got blocked. It guesses — and ships broken email.
Humans paste HTML into test tools, eyeball a dozen screenshots, and hunt for what broke. It's slow, repetitive, and exactly the kind of work that should be automated.
Post your email HTML to a single endpoint. We render it in parallel across real and simulated clients, screenshot each one at the viewport widths you specify, and return a structured report an agent can act on directly.
# Submit an email for preview curl -X POST https://api.powerline.ai/v1/jobs \ -H "Content-Type: application/json" \ -d '{ "html": "<html>…</html>", "subject": "Welcome aboard", "clients": ["gmail", "outlook-web", "apple-mail", "thunderbird"], "viewport_widths": [360, 600], "options": { "dark_mode": true } }' # → poll the job, then read results { "summary": { "overallScore": 82, "criticalIssues": 1, "warnings": 3 }, "renders": 12 // screenshots }
However you work — pasting HTML, sending an email, or wiring up an agent — there's a native path in. No glue code required.
Drop your email HTML into the box above and get a preview on the spot. Nothing to install.
Send your email to [email protected] and we reply with a preview link. Works from any mail client.
A clean /v1/jobs JSON API with an OpenAPI spec. Submit, poll, fetch screenshots. Works from any language.
Native Model Context Protocol tools for Claude Code, Claude Desktop, Cursor, and any MCP client. Tool-call previews directly.
A drop-in agent skill doc served at /v1/skills.md — point your agent at it and it knows the whole workflow.