data-transformation Winner: It Depends Updated: 2026-03-14

dbt Core vs dbt Cloud

dbt Core is free and fully customizable. dbt Cloud adds IDE, scheduling, CI/CD, and governance. Choose Core for cost-conscious teams with DevOps skills; choose Cloud for productivity and enterprise features.

I've run dbt Core on Airflow for years, and I've onboarded teams onto dbt Cloud several times. Both use the same underlying dbt engine — the difference is what you pay for and what you manage yourself. dbt Core is the free CLI; you're responsible for scheduling, CI/CD, IDE, docs hosting, and governance. dbt Cloud bundles all of that into a SaaS product with per-seat pricing. The decision isn't really about the dbt technology — it's about where your organization wants the cost and labor to land.

What actually decides the call

  1. Do you already have Airflow/Dagster/Prefect + a strong platform team? If yes, dbt Core is cheap and integrates beautifully with existing orchestration. If no, dbt Cloud's built-in scheduler saves you from standing up orchestration just for dbt.
  2. How many analytics engineers do you have? dbt Cloud is per-seat. At 3 developers, it's ~$300/month — cheap. At 30 developers, it's $9,000+/month — you could hire a half-time platform engineer for that, which might be more valuable.
  3. Do you need the enterprise features? Column-level lineage, dbt Semantic Layer (MetricFlow), RBAC, SSO, and audit logs live in dbt Cloud Enterprise. dbt Core doesn't have native equivalents — you'd need to glue together Elementary, custom RBAC, and a separate lineage tool. If any of those are must-haves, dbt Cloud's integration matters.

A field story

At one company with a 20-person analytics team, we moved from dbt Cloud to dbt Core + Airflow to save on licensing. The savings were real (~$60K/year) but we underestimated the hidden labor: someone now owned the Airflow DAGs, GitHub Actions for CI, a self-hosted dbt docs site, secrets management, environment promotion scripts. It added up to roughly 0.5 FTE of ongoing platform work. Net-net it was a small win financially, but not the home run we pitched. Lesson: dbt Core is "free" only if you have the platform capacity; otherwise you're just shifting cost to engineering time.

At a smaller five-person shop with no platform team, dbt Cloud was clearly the right call — $500/month bought them scheduler, CI, IDE, and docs without any ops. They shipped faster and nobody had to babysit cron jobs.

Architecture in plain language

  • dbt Core — a Python package (pip install dbt-core + an adapter like dbt-snowflake). You run commands locally or in CI (dbt run, dbt test, dbt docs generate). Scheduling, CI, docs hosting, and governance are your problem to solve. It's a library — you build the platform around it.
  • dbt Cloud — a multi-tenant SaaS platform (there's also a single-tenant Enterprise option). It runs dbt Core under the hood with a managed web IDE, scheduler (dbt Cloud Jobs), Slim CI (tests only changed models), auto-hosted docs, column-level lineage, and the Semantic Layer. Different plans unlock different features, priced per developer seat per month.
Both run exactly the same dbt. What differs is the surrounding experience and who operates it.

Feature Comparison

Featuredbt Coredbt CloudWinner
CostFree and open-sourceFree tier + paid plans ($100+/seat/month)Tie
IDEUse any editor (VS Code, vim)Built-in web IDE with autocompleteTie
SchedulingDIY (Airflow, cron, GitHub Actions)Built-in job schedulerTie
CI/CDDIY (GitHub Actions, GitLab CI)Built-in Slim CI (test only changed models)Tie
DocumentationSelf-hosted (dbt docs generate + serve)Auto-hosted documentation siteTie
Column-Level LineageNot availableEnterprise plan onlyTie
Semantic LayerNot availabledbt Semantic Layer (MetricFlow)Tie
Environment ManagementManual (profiles.yml, env vars)Built-in environment managementTie
SSO / RBACNot applicableEnterprise plan (SSO, RBAC, audit logs)Tie

dbt Core Pros

  • + Completely free — no per-seat licensing costs
  • + Full control over infrastructure and deployment
  • + Use any IDE, any CI/CD system, any scheduler
  • + No vendor dependency — pure open source
  • + Can be containerized and deployed anywhere

dbt Core Cons

  • - Need to build your own CI/CD, scheduling, and hosting
  • - No web IDE — requires local setup for each developer
  • - No column-level lineage
  • - Documentation requires manual hosting
  • - More DevOps burden on data engineering teams

dbt Cloud Pros

  • + Built-in web IDE with SQL autocomplete and preview
  • + One-click job scheduling without Airflow or cron
  • + Slim CI automatically tests only changed models
  • + Auto-hosted documentation with search
  • + Column-level lineage and semantic layer (Enterprise)
  • + Easier onboarding for non-DevOps teams

dbt Cloud Cons

  • - Per-seat pricing gets expensive for large teams
  • - Enterprise features (lineage, RBAC) require expensive plans
  • - Vendor lock-in to dbt Labs platform
  • - Web IDE can feel limiting for power users
  • - Some features lag behind Core CLI releases

Verdict

Choose dbt Core if:

  • Budget is a primary concern — licensing goes to zero
  • You have a platform/DevOps team with Airflow (or Dagster/Prefect), GitHub Actions, and containerization experience
  • You want full control over your deployment environment, secrets, and networking
  • You already have scheduling infrastructure and adding dbt is marginal labor
  • You prefer VS Code (with the dbt extension) or your own editor over a web IDE
  • You're OK glueing together Elementary + dbt-docs + custom CI for lineage and observability
Choose dbt Cloud if:
  • You want an integrated experience without standing up orchestration tooling
  • Your team is analytics-focused rather than DevOps-heavy
  • Built-in scheduling, Slim CI, auto-hosted docs, and environment management are worth the per-seat fee
  • Column-level lineage, the dbt Semantic Layer (MetricFlow), or Explorer matters for your governance story
  • You need SSO/RBAC/audit logs from day one (Enterprise plan)
  • You're small enough that the per-seat economics work in your favor

Gotchas

  • Seat-count math is not just list price. dbt Cloud's Team plan is priced per developer who commits code; read-only viewers don't count. If you have 5 analytics engineers and 40 analysts who only browse docs, the cost is lower than it looks on the surface. Model before you panic.
  • Slim CI is actually valuable. Many Core users underestimate Slim CI (test only changed models and their downstream). Replicating it in GitHub Actions is possible but non-trivial. If CI reliability matters, factor it in.
  • Docs hosting on Core is fiddly. dbt docs serve is a local dev tool, not a production docs site. You'll need an S3 static site, Nginx container, or similar to host org-wide docs. Not hard, but not free time.
  • Migration direction. Moving Core → Cloud is generally easy (point dbt Cloud at your repo). Moving Cloud → Core requires replacing the Cloud scheduler, IDE habits, and potentially features like the Semantic Layer, which has no true Core equivalent today.

What I'd actually recommend

If your team is small (<10 analytics engineers) and you don't already have orchestration, dbt Cloud is almost always the right answer — your time is worth more than the license. If your team is large (20+ analytics engineers) and you have strong platform capacity, dbt Core + Airflow often works out cheaper and more flexible, but budget real FTE time for the platform layer. If you're in between, pilot both: run dbt Cloud for a quarter with a subset, run dbt Core + Airflow for another subset, measure both feature parity and engineering time spent. The decision tends to resolve itself quickly once you have real numbers.

Frequently Asked Questions

Can I start with dbt Core and switch to dbt Cloud later?

Yes — and this is a common path. dbt Cloud runs dbt Core under the hood, so your project files, models, tests, macros, and packages are fully compatible. Migration means connecting your Git repo to dbt Cloud, configuring environments and jobs through their UI, and moving any custom orchestration out of Airflow into dbt Cloud Jobs. Budget 1–2 sprints for the switch; expect the bulk of the effort to be reconfiguring scheduling and environment variables rather than touching your dbt code itself.

Is dbt Core completely free?

The dbt Core software itself is open source under Apache 2.0 — zero license cost. But running it in production means you pay for surrounding infrastructure: an orchestrator (Airflow on EC2, Dagster Cloud, Prefect), CI runners (GitHub Actions minutes or your own CI), secrets management (Vault, AWS Secrets Manager), docs hosting (S3 + CloudFront or Nginx), and engineer time to maintain it all. Realistically, a well-run dbt Core deployment has $2–10K/month of ambient infrastructure and platform cost for a medium team.

What does dbt Cloud offer that dbt Core does not?

The major Cloud-only features are: a web-based IDE with SQL autocomplete and model preview, built-in job scheduler (Jobs), Slim CI (which automatically detects changed models and only tests those plus downstream), auto-hosted documentation site with search, column-level lineage (Team/Enterprise), dbt Explorer (model catalog), the dbt Semantic Layer / MetricFlow for metric definitions, and Enterprise features like SSO/SAML, RBAC with model-level permissions, audit logs, private networking, and dbt Mesh for multi-project governance.

How much does dbt Cloud actually cost?

Pricing is published on the dbt Labs site and changes periodically. At the time of writing, the Team plan is around $100/developer seat/month, and Enterprise is negotiated based on seats, features, and volume. There's also a free Developer plan for a single user (great for individuals and solo evaluations). When modeling cost, remember that seats are per developer who commits code — viewers/analysts who only consume docs don't consume seats.

Can I use dbt Core with an existing Airflow setup?

Yes, and this is arguably the most common production pattern. Use the `cosmos` library (Astronomer's open-source dbt-Airflow integration) or the DbtRunOperator/DbtBashOperator patterns to render your dbt models as Airflow tasks with real dependency graphs and per-model retry/alerting. This gives you dbt's transformation model combined with Airflow's mature orchestration, scheduling, SLAs, and observability. Cosmos in particular has become a de-facto standard.

Does dbt Cloud work with Snowflake, BigQuery, Databricks, and Redshift?

Yes — dbt Cloud supports all the major warehouses (Snowflake, BigQuery, Databricks, Redshift, Postgres, and more), same as dbt Core. The adapter you'd use with Core (`dbt-snowflake`, etc.) is pre-configured in dbt Cloud; you just provide connection credentials through the UI. Feature parity across warehouses is good but not perfect — some advanced features (e.g., certain materialization strategies) may be warehouse-specific.

Is the dbt Semantic Layer available in dbt Core?

Partially. The MetricFlow library itself is open-source and can be used outside of dbt Cloud, but the integrated "dbt Semantic Layer" as a queryable API (used by BI tools like Hex, Mode, Lightdash) is a dbt Cloud product. If you want programmatic metric definitions in Core, you can use MetricFlow standalone — but the hosted query layer that lets tools like Tableau call `sum(revenue)` without rewriting SQL is Cloud-only.

Related Comparisons

dbt vs Dataformdbt vs SQLMesh
Browse All Comparisons Explore Glossary