One config. Same chart in email, Figma, your app.

A consistent data visualization system for your product. One grammar unites designers, developers, and AI agents – with tailored themes, rendered everywhere.

11,865 charts served

Mail
FromSarah Chen <sarah@acme.com>
ToLeadership Team
SubjectQ4 Revenue Summary

Hi team,

Quarterly revenue breakdown is below. Americas is up 31% QoQ – strongest region this year.

Full deck attached. Let’s discuss Thursday.

Sarah

Message sent

1 chart attached

Inbox
Alex Kim11:08 AM

Re: Q4 Revenue Summary

This chart is gorgeous – how did you get it into the email? It actually renders in Outlook…

Marcus Wei11:05 AM

Re: Q4 Revenue Summary

Can you send the APAC breakdown too? Want to include it in the board deck on Thursday…

Jamie Chen9:30 AM

Quick question about szum's API

Tried the barY example from the docs, worked first try. How do I add a second series…

Design TeamYesterday

Chart themes for the rebrand

The editorial theme matches our new brand guidelines perfectly. Can we customize the…

Chart system that fits in a URL.

JSON config in, chart out. /c/ returns PNG or SVG. /e/ returns an interactive embed. TypeScript SDK gives you typed configs and autocomplete.

Edit me!

Migrating from Chart.js? Convert configs automatically.

One chart. Every surface.

Same config, same output. Figma, Slack, Notion, or your app.

Figma
Scatter Plot

Available as a Figma plugin. Live preview, templates, editable SVG.

Six themes. Zero compromises.

Not twenty that blur together. Every theme is a deliberate design choice – typography, color palette, spacing, grid. Switch one property, get a completely different chart.

modern
editorial
dark
neon
pastel
technical

Adapt any theme to your brand with themeOverrides.

Ten marks. Infinite charts.

Every chart is a composition of simple marks. Layer them freely.

barY
barX
line
dot
areaY
areaX
pie
text
ruleX
ruleY

Ready for AI agents.

Obvious field names. Pure JSON. No enums to memorize. Point your agent at the schema and get correct charts on the first call.

Show me average monthly temperatures for Lisbon and Berlin as a line chart with dots.

{
  "version": "2026-03-20",
  "format": "svg",
  "title": "Monthly Temperature",
  "subtitle": "Average highs by city, 2025 (°C)",
  "theme": "modern",
  "marks": [
    { "type": "line", "stroke": "city" },
    { "type": "dot", "fill": "city", "r": 4 }
  ],
  "data": [...]
}

JSON Schema · llms.txt · MCP Server

Pay for usage, not seats.

Start free. Upgrade when your product does.

Free

$0

For experimenting

Capabilities
Image rendersPNG, SVG
Interactive embeds
MCP server
Figma plugin
Custom themes & fonts
Usage
Image renders5,000
Embed & image views5,000
Global CDN
Overage
Image renders
Embed & image views
Start for free

Pro

$29/ month

For real products

Capabilities
Image rendersPNG, SVG
Interactive embeds
MCP server
Figma plugin
Custom themes & fonts
Usage
Image renders200,000
Embed & image views200,000
Global CDN
Overage
Image renders$1 / 10,000
Embed & image views$1 / 10,000
Start for free

Unauthenticated requests work without an account – up to 200 renders per month (IP-based limit).

Need a custom SLA or volume pricing? Let’s talk.

Your charts should look as good as everything else you ship.