---
title: "Evidence"
description: "Evidence is an open-source \"BI-as-code\" framework for building data reports and dashboards using just SQL queries and Markdown, compiled into a static website."
canonical: "https://motherduck.com/glossary/evidence/"
related:
  - title: "Evidence | MotherDuck Docs"
    url: "https://motherduck.com/docs/integrations/bi-tools/evidence/"
  - title: "Evidence + MotherDuck Integration | DuckDB Analytics"
    url: "https://motherduck.com/ecosystem/evidence/"
  - title: "A new paradigm for data visualization with just SQL + Markdown | MotherDuck"
    url: "https://motherduck.com/videos/a-new-paradigm-for-data-visualization-with-just-sql-markdown/"
gated_asset:
  title: "DuckLake on MotherDuck"
  url: "https://motherduck.com/product/ducklake/"
---

# Evidence

> Evidence is an open-source "BI-as-code" framework for building data reports and dashboards using just SQL queries and Markdown, compiled into a static website.

## Overview

Evidence (evidence.dev) is an open-source framework for building data products — reports, dashboards, internal tools — by writing SQL and Markdown instead of dragging widgets around a BI tool's canvas. A page is a `.md` file: prose written in Markdown, with SQL queries fenced off to fetch data, and components (charts, tables, big-number callouts) that reference those query results by name. The whole project builds into a static site that can be deployed to any static host.

## Why "BI as code"

Treating reports as source-controlled files means dashboards get the same workflow as application code: diffs in pull requests, code review, CI, and rollback. There's no proprietary binary format hiding what a chart actually computes — the SQL is right there in the file.

````markdown
# Weekly Revenue

```sql weekly_revenue
select
  date_trunc('week', order_date) as week,
  sum(order_total) as revenue
from orders
group by 1
order by 1
```

<LineChart data={weekly_revenue} x=week y=revenue />
````

## Evidence and DuckDB

Evidence uses DuckDB in two distinct ways. First, as a data source connector: Evidence can point directly at DuckDB database files, or at CSV/Parquet files, and query them without a separate database server. Second, and more distinctively, Evidence runs a copy of DuckDB compiled to WebAssembly **in the browser**, so that filters, dropdowns, and other interactive elements on a published page can re-query and join data client-side, instantly, with no round trip back to a server. That combination — DuckDB as the local dev/build engine and DuckDB-WASM as the in-browser interaction engine — is central to how Evidence delivers fast, interactive static reports. Evidence also connects to MotherDuck for projects that need a shared, larger-than-local dataset behind the same SQL+Markdown workflow.