dbt Charts Overview¶
dbt Charts makes it easy to build any Interface for your Database. You (or an AI assistant) write straightforward YAML declaring what you want to see, and dbt Charts renders it as an interactive dashboard, in a variety of formats.
Built on top of dbt, it turns a text file and a SQL query into a live, shareable dashboard: no JavaScript, no drag-and-drop BI tool, no proprietary format.
What is it for?¶
dbt Charts is a visualization and dashboarding layer for data teams. It's good at two things:
Reporting & dashboards¶
Build polished, interactive dashboards and share them in multiple formats. Rich layouts, filters, and styling, all declared in YAML that lives in Git alongside your dbt models.
Data exploration¶
Go from a query to a chart instantly. A fast, iterative loop for exploring data and finding insights without the overhead of building a full report.
How It Works¶
- You write a YAML file describing what data to show and how to visualize it
- dbt Charts compiles it into an interactive board
- The board queries your database via SQL to fetch data
- Users interact with filters, click through charts, and explore the data
Quick Start Example¶
Here's a compact dashboard that runs the moment you install dbt Charts, no database required. Each query embeds its rows inline with type: values, and the charts map query columns to visual encodings. cols places the two charts side by side.
title: "Document activity"
queries:
by_status:
type: values
columns: [status, document_count]
values:
- [Signed, 412]
- [Sent, 168]
- [Draft, 97]
- [Voided, 24]
monthly:
type: values
columns: [month, documents]
values:
- [Jan, 120]
- [Feb, 145]
- [Mar, 138]
- [Apr, 171]
- [May, 189]
- [Jun, 203]
charts:
status_chart:
query: by_status
type: bar
title: "Documents by status"
x: status
y: document_count
trend_chart:
query: monthly
type: line
title: "New documents per month"
x: month
y: documents
rows:
- cols:
- status_chart
- trend_chart
That's it: inline data, two charts, a side-by-side layout, and a live board. When you're ready for real data, swap type: values for SQL against your warehouse; the charts stay the same (see the Quick Guide). Querying the dbt Semantic Layer by metric name is planned; that work is tracked in dbt-labs/dbt-charts#1.
Why dbt Charts¶
- YAML is the source of truth: Dashboards are text files. Version-controlled, diffable, reviewable in a pull request.
- SQL today, dbt metrics next: Write raw SQL against your dbt models now. Asking for a governed metric by name through the dbt Semantic Layer is planned, so the definition stays in the dbt project.
- Dashboards that track your models: Dashboards live alongside your dbt models in Git. When your models change on a branch, the dashboards on that branch change with them; no dangling references to fix after a migration.
- AI-friendly by design: YAML is far easier for an AI assistant to write correctly than JavaScript, a proprietary BI config, or hand-drawn SQL. "Show me sales by region" becomes a valid dashboard an agent can generate, review, and refine.
- Open source: The engine, CLI, and YAML language are free and open source; everything on this site describes them unless marked otherwise. dbt Charts Cloud is the optional hosted product that adds team features (access control, git-backed editing, and a shared warehouse connection) on top of the same YAML.
What You Need to Know¶
To use dbt Charts effectively, it helps to be comfortable with:
- SQL or dbt: a basic grasp of your data models (metrics and dimensions)
- YAML: basic syntax; it's simple
- Git: basic version control
You don't need JavaScript, a frontend framework, or web-deployment know-how; dbt Charts handles rendering and query generation.
Get Started¶
- Install dbt Charts: get set up in your environment
- Quick Guide: learn boards, queries, charts, and variables, and build a dashboard in a few minutes
- FAQ: quick answers to "how do I move a chart?" and a hundred other questions, each linking to the full page
- Examples: complete, working dashboards to copy from
- VS Code & Cursor Extension: highlighting, snippets, and a live dashboard preview while you edit
Once you're building, the Charts, Variables, Themes, Styling, and YAML Reference sections cover everything the language can do.