Evidence and Lightdash are both open-source, dbt-native BI tools, but they solve different jobs. Evidence compiles Markdown and SQL into a static report site — version-controlled, developer-only. Lightdash is a live web app that reads your dbt metrics and gives non-technical users a point-and-click explorer. Pick based on who builds the dashboard, not which tool has more features.
What's the actual split between these two tools?
Both get pitched as "BI-as-code." Both are MIT-licensed. Both plug into dbt. That's about where the resemblance ends.
Evidence treats a report like a blog post. You write a Markdown page, drop a SQL query into a code fence, reference the result in a chart component, and run a build. The output is static HTML and JavaScript you can host anywhere that serves files. Nothing runs your queries after that build finishes. They already ran, once, and the results got baked into the site.
Lightdash treats a dashboard like an app. It's a Node.js server that stays running, connects to your warehouse, and fires a query every time someone opens a chart or drags in a new filter. Its entire reason for existing is to read the metrics and dimensions your team already defined in dbt and turn them into something a non-engineer can click through without writing SQL.
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ SQL + │ ──→ │ evidence │ ──→ │ Parquet +│ ──→ │ Vercel / │
│ Markdown │ │ build │ │ static │ │ Netlify │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
Evidence: the query runs once, at build. No backend after that.
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ dbt │ ──→ │ Lightdash│ ──→ │ live SQL │ ──→ │ your │
│ manifest │ │ server │ │ query │ │ browser │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
Lightdash: the query runs fresh, every time someone opens a chart.That's the fork in the road. Reports as code, deployed like a static site. Or a live explorer, deployed like a web app. Everything else in this comparison follows from that one decision.
How does each one integrate with dbt?
This is where people get the two tools confused, because "reads from dbt" means something different depending on which one you're using.
Evidence's relationship with dbt is optional. dbt builds tables in your warehouse; Evidence just queries them. Point it at a schema dbt never touched, and it won't know the difference. A typical page starts with a query:
select
date_trunc('month', orders.created_at) as month,
sum(orders.amount) as revenue
from orders
where orders.status = 'paid'
group by 1
order by 1That query is now available anywhere on the page as monthly_revenue, in a chart or inline in a sentence:
<LineChart data={monthly_revenue} x=month y=revenue title="Monthly Revenue" />No dashboard builder, no drag-and-drop. The chart is a few lines in a file.
Lightdash's relationship with dbt is mandatory. It reads compiled dbt artifacts (manifest.json and catalog.json) and builds its entire Explore interface from meta: blocks in your schema YAML. No manifest, no metrics, no Lightdash:
# models/marts/orders.yml
models:
- name: orders
columns:
- name: amount
meta:
metrics:
total_revenue:
type: sum
sql: ${TABLE}.amountMerge that into a PR, run dbt compile, and Lightdash's Explore view picks up total_revenue automatically. Add a canceled_at column from your subscriptions model with time_intervals defined the same way, and you get month-over-month churn cohorts without writing any application code. Change the sql: line later, and every dashboard built on that metric updates the moment the PR merges. There's no second place where someone could have quietly redefined "revenue."
If your dbt project breaks, or you never had one, Evidence shrugs and queries the warehouse directly. Lightdash without a compiled dbt project has nothing to explore. That coupling isn't a limitation. It's the entire point of the tool.
Fastero
Connect your database. Ask questions. Get dashboards.
Postgres, BigQuery, Snowflake, and 10+ sources — live-connected, AI-powered, no dashboard builder learning curve.
Try free →Can a non-technical stakeholder use either one?
Lightdash, yes. Evidence, no. That's by design, not an oversight.
Lightdash's Explore view lets someone pick a dbt model, choose dimensions and metrics from a sidebar, add a filter, and get a chart without opening an editor. The catch: the interface is only as readable as your dbt YAML. Name a column dim_cust_acq_dt and that's exactly what shows up in the picker. Rename it for the sales team's benefit and you've renamed it for every downstream model and macro too.
Evidence has no equivalent. Every report is a file. Adding a chart means writing a SQL query and a component, then opening a pull request. That's a feature for a team of analytics engineers who want every change reviewed like code. It's a wall for a sales ops person who just wants to filter by region.
If self-service for non-engineers matters at all, that alone should end the debate before you even get to pricing.
Where does each one run, and what does deployment take?
Evidence needs a build step and somewhere to serve static files. Locally, npm run dev gives you a live preview and npm run sources pulls each configured connection into a Parquet cache. Deploy by pushing the built output to Vercel, Netlify, S3, or Evidence Cloud. No database, no background workers, no uptime to babysit.
One gotcha: a broken query breaks the whole build. If a warehouse connection times out or mart.orders gets dropped, evidence build fails and the deploy never ships. There's no partial site with one broken page and everything else fine.
Lightdash needs real infrastructure. Self-hosting means a Node.js app, a Postgres database for application state, and a headless browser for scheduled exports. You also need your dbt project reachable, either through a Git connection or a mounted filesystem. Lightdash Cloud removes the ops burden, and the 21-day trial starts the moment you connect and compile a dbt project.
There's a matching gotcha here too: a static site only updates when you rebuild it. "Live" in Evidence really means refreshed on whatever schedule you configure: hourly, nightly, or on every merge to main. If your warehouse changes every few minutes and someone needs to see that immediately, a compiled-once architecture is the wrong tool, full stop.
What does each one cost?
Self-hosted, both are free. That part's easy.
Evidence Cloud prices per seat: Team runs $15 per user per month, Pro is $25 per user per month and adds SSO plus private Slack support, and Enterprise is custom with white-labeling and embedding. Every tier bundles a monthly AI-credit allowance per user, which tells you where they think the product is headed next.
Lightdash Cloud prices flat: $3,000 a month for the Pro tier, unlimited users, no per-seat charge. That number looks alarming next to Evidence's $15 seats until you run the math for your actual team. A 15-person data team on Evidence Pro runs about $375 a month. That same team would need to grow past 120 people before Lightdash's flat rate starts looking cheap by comparison. Lightdash's pricing is built for a wide company-wide rollout, not a small analytics team exploring on its own.
How do Evidence and Lightdash compare, feature by feature?
Here's the full picture side by side:
| Dimension | Evidence | Lightdash |
|---|---|---|
| Core model | Reports as code: Markdown + SQL compiled to a static site | Live explorer: reads dbt metrics into a web app |
| dbt requirement | Optional, queries any warehouse table directly | Required, needs a compiled dbt project |
| Authoring | Write Markdown, SQL, and components in a code editor | Define metrics and dimensions in dbt YAML; explore via UI |
| Self-service (non-engineers) | None, every change is a pull request | Yes, point-and-click Explore view |
| Where queries run | Once, at build time | Live, on every request |
| Client-side interactivity | DuckDB-WASM ("Universal SQL") against cached Parquet | Server round-trip to the warehouse |
| Deployment | Static hosting: Vercel, Netlify, S3, Evidence Cloud | Node.js + Postgres self-hosted, or Lightdash Cloud |
| Version control | Reports are files; the whole site lives in Git | Metrics versioned via dbt; dashboards live in the app DB |
| License | MIT | MIT |
| Self-hosted cost | Free | Free |
| Cloud pricing | $15/user/mo (Team), $25/user/mo (Pro) | $3,000/mo flat (Pro), unlimited users |
| Embedding | Basic publish/share; white-label on Enterprise | Basic iframe; paid embed-worker add-on at scale |
| Best for | Narrative reports, investor updates, embedded docs | Self-serve exploration for non-technical stakeholders |
When should you pick Evidence?
Pick Evidence when the people building dashboards and the people reading them are different populations, and the reading population doesn't need to poke at the data themselves.
- You're writing narrative reports: board updates, investor letters, a weekly metrics recap that reads like a memo with charts embedded in it, not a wall of widgets.
- Your team is developer-only. Nobody outside engineering or analytics opens the underlying files, so there's no self-service requirement to design around.
- You want the report versioned exactly like the code that produces it: same PR review, same CI, same rollback story.
- You're embedding analytics into documentation or a marketing page, and a static site is genuinely the simplest way to serve it.
When should you pick Lightdash?
Pick Lightdash when dbt is already your source of truth for metrics and more than just engineers need to explore the results.
- Non-technical stakeholders need to filter, group, and chart data themselves, without filing a ticket for every new cut.
- You've already invested real time in dbt metric definitions and want a tool that treats those definitions as the literal source of truth, not metadata for a tooltip.
- Dashboards need to reflect the warehouse right now, not as of the last deploy.
- Scheduled delivery matters: Slack and email drops on a cron, generated straight from the Explore layer.
- You'd rather pay one flat rate for a wide rollout than track per-seat costs as headcount grows.
Can you run both, or is there a third option?
Some teams do run both: Lightdash for the data team's internal exploration, Evidence for the polished external reports that go to the board or a customer. It works, but it's two tools, two auth systems, and two places metrics can quietly drift apart if nobody's watching.
Who's actually going to build and use this dashboard?
├── Only analytics engineers, forever
│ └── Evidence: reports as code, reviewed in PRs, hosted as a static site
├── Analysts plus non-technical stakeholders who need to explore
│ └── Lightdash: Explore UI reads your dbt metrics directly
└── Stakeholders should just ask a question, not learn either tool
└── Put a semantic layer and natural language on top of either oneThat third branch is worth naming, because neither tool actually solves it. Lightdash gets you self-service, but only through a dimension-and-metric picker that still assumes some data literacy. Evidence doesn't attempt self-service at all.
We built Fastero's semantic layer to import dbt metric definitions directly, so "revenue" means the same thing in Fastero that it means in your dbt YAML. From there, anyone on the team can ask "what was total_revenue last quarter, by month" in plain English and get an answer generated against that actual dbt logic, not an improvised join, with the SQL shown so someone can check it. It's not a replacement for Evidence's narrative reports or Lightdash's exploration depth. It's what you reach for when the real requirement is "let people ask questions," not "let people click through a UI."
So which one should you run?
Ask who's opening the dashboard next Tuesday. If the answer is "an analytics engineer, always," Evidence wins on version control alone. There's no reason to run a server for something a static site handles better and cheaper. If the answer includes anyone who doesn't write SQL, Lightdash's Explore view isn't a nice-to-have, it's the entire value proposition.
Don't let the "BI-as-code" label convince you these are interchangeable. One's a static site generator with a data layer bolted on — the other's a BI app that happens to read its config from Git. Choose the one that matches who's actually going to use it.
For the broader open-source BI landscape, our best open-source dashboard tools roundup covers where Metabase, Superset, and Redash fit next to these two. If Lightdash's traditional-BI counterpart is more your question, we also wrote a dedicated Lightdash vs Metabase comparison. And if "version-controlled SQL" is the part that actually excites you, how to version-control SQL queries with Git goes deeper on that workflow outside of either tool.
FAQ
Does Evidence require dbt? No. Evidence queries whatever tables exist in your warehouse, whether dbt built them or not. dbt is a convenience, not a dependency: you get clean, tested tables to query, but Evidence never reads your dbt YAML or metric definitions directly.
Does Lightdash work without a dbt project?
No. Lightdash reads compiled dbt artifacts (manifest.json and catalog.json) to build its entire Explore interface. Without a working, compiled dbt project, there's nothing for Lightdash to show you.
Is Evidence really free? The core framework is MIT-licensed and free to self-host on any static hosting provider, with no user cap. Evidence Cloud is a separate hosted layer for authoring, access control, and AI features, starting at $15 per user per month.
Is Lightdash really free? The self-hosted, open-source edition (MIT license) is free. You provide the infrastructure: a Node.js app, Postgres, and a headless browser for scheduled exports. Lightdash Cloud starts at $3,000/month for the Pro tier, with unlimited users included.
Which one is better for embedded analytics? Neither has mature embedding compared to a tool built specifically for it. Evidence's static output embeds cleanly into documentation sites since it's just HTML and JS. Lightdash offers iframe embedding with a paid embed-worker add-on at scale. For product-grade embedded dashboards, look at something purpose-built, like Fastero's embedded analytics.
Try Fastero free — import your dbt metrics, ask questions in plain English, get live dashboards. No credit card required.

