Your SQL query is already a chart.
Plotbase just renders it.
Connect a database, write the query you were going to write anyway, and get a production-ready, embeddable chart in seconds. No BI tool bloat, no drag-and-drop purgatory.
2SELECT
3 date_trunc('week', paid_at) AS week,
4 sum(amount_usd) AS revenue
5FROM payments
6WHERE paid_at > now() - INTERVAL '8 weeks'
7GROUP BY 1 ORDER BY 1;
8
9-- @plotbase: type=bar, x=week, y=revenue
Weekly revenue
postgres · prod-replicaTrusted by data teams shipping fast
// features
Built for people who think in SELECT statements
Plotbase stays out of your way. Write SQL, add one comment directive, and the chart, the caching, and the sharing are handled.
One-comment charting
Append -- @plotbase: type=line to any query and Plotbase infers axes, formats, and series from your result set. Override anything when you want control.
Every warehouse you use
Postgres, MySQL, SQLite, DuckDB, BigQuery, Snowflake, ClickHouse, Trino, and Redshift. Read-only connections by default, with credential vaulting built in.
Charts as code
Every chart is a .sql file in your repo. Version it, review it in PRs, and deploy dashboards through CI like any other artifact.
Embed anywhere
Drop charts into your app with a signed iframe, a React component, or a plain image URL that re-renders on a schedule. Dark and light themes included.
Smart caching
Plotbase fingerprints each query and caches results at the edge. Heavy aggregations run once per interval, not once per viewer. Your DBA will thank you.
Alerts on any series
Turn a chart into a monitor with a threshold rule. Get pinged in Slack or PagerDuty when signups dip or p95 latency climbs out of band.
// how it works
Query to chart in three steps
Median time from install to first shared chart: 4 minutes 32 seconds, measured across the last 10,000 signups.
Connect a source
Point Plotbase at any database with a single command. Credentials are encrypted locally and never leave your machine on the free tier.
Write your query
Use the SQL you already know. Plotbase reads the result shape: a date column becomes the x-axis, numerics become series.
Ship it
Publish to a live URL, embed in your product, or pipe a PNG straight into a Slack standup. The chart stays in sync with the data.
// gallery
Every chart type your data deserves
Twenty-six chart types, all rendered server-side as crisp SVG. Here are four favorites.
SELECT hour, p50_ms, p95_ms FROM latency_hourly ORDER BY hour; -- @plotbase: type=line
SELECT month, plan, mrr FROM mrr_by_plan; -- @plotbase: type=bar, stack=plan
SELECT day, active_users FROM dau ORDER BY day; -- @plotbase: type=area
SELECT source, count(*) FROM signups GROUP BY 1; -- @plotbase: type=donut
// for developers
A CLI and API that respect your workflow
Everything in Plotbase is scriptable. If you can cron it, pipe it, or commit it, Plotbase fits.
→ connecting to bigquery:prod-analytics
→ query fingerprint a91f…c2 (cache miss)
→ scanned 2.1 GB in 1.8 s, 31 rows returned
✔ wrote churn.svg (12.4 KB)
$ plotbase publish churn.sql --refresh 1h --slack #growth
✔ published https://plotbase.app/c/churn-q2
✔ posting to #growth every weekday at 09:00 UTC
// pricing
Free until your team can't live without it
No credit card to start. Usage is measured in published charts, never in query volume.
Hacker
For side projects and solo analysts
- Unlimited local rendering
- 10 published charts
- 2 database connections
- 15-minute refresh interval
- Community support
Team
For product and data teams shipping dashboards
- Unlimited published charts
- Unlimited connections
- 1-minute refresh and alerts
- Signed embeds and SSO
- Versioned dashboards in CI
- Priority support, 4h SLA
Enterprise
For regulated and air-gapped environments
- Self-hosted render runners
- SCIM, audit logs, data residency
- VPC peering and PrivateLink
- 99.95% uptime SLA
- Dedicated solutions engineer
// loved by query writers
Don't take our word for it
"We deleted a 40-dashboard BI instance and replaced it with a folder of SQL files. Code review for charts sounded weird until we tried it; now it's the only way we work."
"The comment directive is genius. My queries were already in the repo, so adding charts took one line each. Our exec dashboard shipped in an afternoon."
"Edge caching alone paid for the Team plan. Our warehouse bill dropped 31% the first month because dashboards stopped hammering BigQuery on every page load."
// ready when you are
Your next chart is one query away
Install the CLI, connect a database, and publish your first live chart before your coffee cools.
$ npm install -g plotbase