# dbt Charts

> A declarative YAML syntax around SQL for making dashboards

- Category: App UIs & Builders / Data App Builders
- Language: Python
- Licence: Apache-2.0
- Repository: https://github.com/dbt-labs/dbt-charts
- Website: https://dbtcharts.com/
- Canonical page: https://ai-tldr.dev/tools/dbt-charts/
- Updated: 2026-09-14

## In short

dbt Charts is an open-source language from dbt Labs that describes a full interactive dashboard in a single YAML file. SQL still says what data you want; the YAML layer says how you want to see it. It sits in the Data App Builders category of the App UIs & Builders tools and is open-source, written in Python and licensed Apache-2.0.

## Overview

dbt Charts is an open-source language from dbt Labs that describes a full interactive dashboard in a single YAML file. SQL still says what data you want; the YAML layer says how you want to see it. The engine compiles that definition into an interactive board, and the bundled dct command-line tool can also render it to HTML, PDF, PNG, SVG or JSON.

The design goal is reviewability. Because a board is one text file, it is version-controlled, diffable, and can be read in a pull request, which means a change to a dbt model and a change to the chart that reads it can travel on the same branch through the same CI run. dbt itself is optional — dbt Charts works with plain SQL — but boards can call ref() and source() when you do run dbt.

As a data-app builder, dbt Charts sits between a warehouse and a published board. Sixteen chart types ship built in, along with five themes, interactive filters and variables. dbt Labs also runs a hosted service at dbtCharts.com, in public beta, that adds hosting, access control, a visual editor, version history, conversational analytics and permissioned sharing on top of the same open language.

## What it does

- A declarative YAML syntax that defines queries, charts and layout in one file
- Sixteen built-in chart types, plus composed charts built from them, and five themes
- The dct CLI validates a board without warehouse access and serves a live preview with working filters
- Renders boards to HTML, PDF, PNG, SVG or JSON for sharing and scheduled reports
- Optional dbt integration: boards can reference existing models through ref() and source()
- Warehouse support for DuckDB, SQLite, Postgres, Snowflake, BigQuery, Redshift, Databricks, Spark and Trino
- dct impact lists the boards a column change would affect before you make it

## Getting started

dbt Charts needs Python 3.10 or newer. Install the dct CLI, point it at a board, and preview it locally.

1. Install the CLI

   Install dbt Charts as a tool. DuckDB and SQLite work out of the box; add a warehouse extra if you need one.

```bash
uv tool install dbt-charts

# or with pip
pip install dbt-charts

# with a warehouse adapter
uv tool install "dbt-charts[snowflake]"
```

2. Check the install

   Confirm the dct command is on your path.

```bash
dct --version
```

3. Validate a board

   Validation checks your YAML for errors and reports error codes, file references and suggested fixes. It does not need warehouse access, so it is cheap to run in CI.

```bash
dct validate
```

4. Preview and export

   Serve the board locally with working filters, then render it to a file when you want to share it.

```bash
dct serve

dct render my_board --format html
dct render my_board --format pdf
```

5. Point an agent at it

   dbt Charts ships agent skills that teach a coding agent the YAML language, which is the workflow the launch post was written around.

```bash
dct skills intro
```

## When to use it

- Keep dashboards in the same repo as your dbt models so a model change and its charts ship on one branch
- Review a dashboard change as a readable diff in a pull request instead of an audit log of UI clicks
- Ask a coding agent for a dashboard and get one auditable YAML file back rather than a pile of HTML, CSS and JavaScript
- Render scheduled PDF or PNG reports from the same board definition that serves the interactive version
- Run dct impact before changing a column to see which boards would break

## Version history

- 2026-09-14 Initial open-source release: dbt Labs open-sourced the dbt Charts language, engine and dct CLI under Apache-2.0, with sixteen chart types, five themes and rendering to HTML, PDF, PNG, SVG and JSON. The hosted dbtCharts.com service, which adds hosting, access control, a visual editor, version history, conversational analytics and permissioned sharing, entered public beta at the same time.
