Email templates that render everywhere
Design in blocks, code, or with AI.
Send your data, get back HTML that survives Outlook.
Send it with whatever you already use.
No credit card required.
Drag-and-drop blocks
16 block kinds: headings, paragraphs, images, buttons, charts, syntax-highlighted code, lists, tables, social icons, store badges, raw HTML, and more. Compose by dragging, no HTML required.
Multi-column rows, no table math
Pick a one, two or three column row and drag the divider to resize it. The render target does the table nesting and the pixel math, and stacks the columns on a phone.
Bind any block to your data
Repeater and Conditional blocks build loops and branching without typing template syntax. Table rows, list items, chart series, image URLs and button links bind to your payload too.
Web or email output
Same template renders as modern HTML/CSS or as table-based, MSO-friendly email. Pick the target at render time.
Plain text, generated for you
Every email render returns a plain-text alternative next to the HTML. Drop it into the text part of a multipart message. No extra call, nothing to convert.
Real templates underneath
Blocks compile to real template source. Open it from the editor, receive it through the API.
Drop down to code anytime
Switch any template to code mode and edit raw HBS + CSS directly. One-way escape hatch for when blocks aren't enough.
Safe by default
Hashed API keys, presigned editor URLs scoped to a single template, sandboxed previews, href and color sanitization.
Your agent edits the same template you do
Connect Claude, Cursor or any MCP client and ask for the change in your own words. The agent reads the block tree, edits it, renders the result to check its work, and leaves a draft for you to review before anything goes live.
- You: Make the receipt template match our new brand: accent #097b50, rounder buttons.
- postcraft.get_templatereceipt · 14 blocks · draft clean
- postcraft.update_template_blockstheme.accent → #097b50 · theme.radius → 12
- postcraft.render_templateemail · 0 diagnostics
Agent: Done. The draft is updated and renders clean for email.
- postcraft.open_in_editorlink to the editor
Building for inboxes is not like building for browsers
Gmail strips your stylesheet. Outlook renders with an engine from 2007. These are constraints, not bugs.
Gmail strips your stylesheet.
Postcraft inlines every rule onto the element.
The Word engine ignores rounded corners and background images.
Postcraft emits a VML button for Outlook.
Canvas and inline SVG do not survive an inbox.
Postcraft renders every chart to a PNG.
Every row in the compatibility matrix is enforced by a test against the real renderer.
Charts that survive Gmail and Outlook
Postcraft builds charts that every inbox can display.
Add a chart block, point it at your numbers, pick a type.
Catch the broken variable before it ships
Rename a field and {{customerName}} quietly renders as nothing. Postcraft flags it as you type, in blocks, code or with AI.
Build your own email, without the markup grind
Design welcome emails, receipts, and notifications in the visual editor, drop to code when you want it, or ask an agent to make the change. Render them through the API when your app sends. Change a line without a deploy.
- Design in blocks, drop to code, or hand it to an agent
- Render through one API at send time
- Anyone on the team can edit copy and layout
- Nested folders, search and sort keep hundreds of templates in order
- The API takes a folder path and creates the folders that don't exist yet
Hand the editor to your users
Generate a presigned editor link scoped to a single template and hand it to a teammate or a customer. Each link is isolated to its template; you keep the render API and the data.
- Scoped, presigned editor links, one per template
- Every user's templates stay isolated
- You own the render API and the data
Formspark builds 50,000 custom email templates on Postcraft, and Postcraft is built by the same team.
Proven on our own production email.
Start from a template
Ready-made starters for welcome emails, receipts, password resets, and more.
One call turns your data into HTML
Post your data to any template and pick a target, web or email. One call, and you get back everything you need to send.
curl -X POST https://postcraft.io/api/v1/templates/{id}/render \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"context": {"name": "Ada"}, "target": "email"}'| Returns | |
|---|---|
| html | A complete document, ready to send |
| text | Plain-text alternative, on email renders |
| subject | The subject line, rendered with the same data |
Request ID on every response · Documented error codes · Published OpenAPI spec · Hashed, revocable keys
Questions
Create your first template today
Design it in the editor and render it through the API. Free to start, no credit card required.