Snowflake credit calculator: compare Snowflake, BigQuery and Databricks SQL cost
Estimate monthly compute and storage on Snowflake, BigQuery and Databricks SQL, see what idle time costs, and find the scan volume where the cheapest option changes.
How to verify this
Open your browser's network tab and change an input: nothing is sent. The page computes with the formulas and the dated price table below. Some entries in that table could not be checked against an official page and are labelled. The same engine answers the API and the MCP tool, so you can reproduce any scenario from code.
At 4 TB scanned per day, BigQuery on-demand is cheapest at $1,343/month. They cross at 19.23 TB/day.
- Note:Assumes the selected warehouse can serve the stated scan volume.
- Note:Idle time is an upper bound: it assumes each of the 12 daily resumes is followed by a full 10-minute suspend window. Queries that arrive sooner cost less.
- Note:Some prices used here are estimates or could not be read from an official page: Snowflake size to Databricks SQL warehouse size; Databricks SQL price per DBU by tier; Storage under Databricks (your cloud object store). Treat the result as indicative and check your own rates.
Lowering auto-suspend from 10 minutes to 1 minute saves 216 credits ($648.00) a month, 18% of Snowflake compute.
| Platform | Compute | Storage | Total | Per TB scanned | Notes |
|---|---|---|---|---|---|
| BigQuery on-demand | $743.75 | $599.04 | $1,343 | $11.19 | 119 billable TB a month at $6.25/TB (1 TB free) |
| Databricks SQL | $2,520 | $690.00 | $3,210 | $26.75 | Small warehouse, 12 DBU/hour, $0.70/DBU, cloud compute included |
| Snowflake | $3,600 | $690.00 | $4,290 | $35.75 | M at 4 credits/hour, 10 billed hours/day, $3.00/credit |
Warehouse size and TB scanned are different cost drivers, so this comparison assumes the warehouse you chose can serve the scan volume you entered. Check that before you rely on the ranking.
Monthly cost by daily scan volume
- BigQuery on-demand
- Snowflake
- Databricks SQL
Snowflake hours in a day
- Active: 8 h (33%)
- Idle after queries: 2 h (8%)
- Suspended, not billed: 14 h (58%)
Monthly cost as one input changes
Calculating the range…
How it is calculated
Snowflake billed hours
h_idle = r × max(s, 1) ÷ 60 h_billed = min(24, a + h_idle) (24 when auto-suspend is off) a = active hours per day, r = resumes per day, s = auto-suspend minutes
Snowflake cost
Credits = h_billed × c × n C_SF = Credits × price_per_credit + TB_stored × storage_rate c = credits per hour for the size (XS 1, S 2, M 4, L 8, XL 16, 2XL 32, 3XL 64, 4XL 128), n = working days
BigQuery on-demand
TB_month = tb_scanned_per_day × n Compute = max(TB_month − free_TB, 0) × usd_per_TB Storage = active GiB × active rate + long-term GiB × long-term rate
BigQuery editions
Slot-hours = avg_slots × 24 × n Compute = Slot-hours × slot_hour_rate × (1 − commitment_discount)
Databricks SQL
DBU = dbu_per_hour(size) × h_billed × n Compute = DBU × (usd_per_DBU + cloud_usd_per_DBU_hour) The cloud term is 0 on serverless; classic and pro add an estimated cloud compute cost.
Idle saving at 1-minute auto-suspend
saved credits = (h_billed − h_billed with s = 1) × c × n saved USD = saved credits × price_per_credit saving % = saved USD ÷ Snowflake compute
Break-even scan rate
scan* = (Snowflake compute ÷ usd_per_TB + free_TB) ÷ n TB per day Below scan*, BigQuery on-demand costs less than Snowflake compute; above it, Snowflake costs less.
Assumptions
- The comparison assumes the stated warehouse can serve the stated scan volume. Warehouse size and bytes scanned are different cost drivers, and no size is checked against the volume.
- Idle time is an upper bound: every resume is assumed to be followed by a full auto-suspend window. Real idle time is lower when queries arrive before the window ends.
- Billed hours are capped at 24 a day. Auto-suspend set to 0 is treated as 1 minute, because Snowflake bills at least 60 seconds per resume. The never-suspend switch bills all 24 hours.
- Databricks SQL uses the same billed hours as Snowflake, with its auto stop taken to equal the auto-suspend setting. Its warehouse size is the nearest one on the same doubling ladder (a modelled pairing, not a performance equivalence).
- Snowflake prices are On Demand list prices for standard (Gen1) warehouses. Gen2 and Snowpark-optimized warehouses, multi-cluster scaling, serverless features, data transfer and cloud services are not modelled.
- BigQuery is priced in binary units; one TB here is one TiB (1,024 GiB). Storage uses logical bytes. The 10 MB per-query minimum and the free 10 GiB of storage are ignored. BigQuery editions price the average slots around the clock; autoscaling spikes are not modelled.
- Databricks cloud compute for classic and pro warehouses is an estimate; Databricks storage is your own cloud storage at an assumed object-store rate.
- Prices are USD list prices. Negotiated discounts, free credits and taxes are not applied; enter your Snowflake contract price to override the list price.
The data behind it
| Snowflake size | Credits per hour | Databricks SQL size (modelled pairing) * | DBU per hour |
|---|---|---|---|
| XS | 1 | 2X-Small | 4 |
| S | 2 | X-Small | 6 |
| M | 4 | Small | 12 |
| L | 8 | Medium | 24 |
| XL | 16 | Large | 40 |
| 2XL | 32 | X-Large | 80 |
| 3XL | 64 | 2X-Large | 144 |
| 4XL | 128 | 3X-Large | 272 |
| Region | Standard | Enterprise | Business Critical | Storage per TB-month |
|---|---|---|---|---|
| AWS US East (N. Virginia) | $2.00 | $3.00 | $4.00 | $23.00 |
| AWS US East (Ohio) | $2.00 | $3.00 | $4.00 | $23.00 |
| AWS US West (Oregon) | $2.00 | $3.00 | $4.00 | $23.00 |
| AWS Canada Central | $2.25 | $3.50 | $4.50 | $25.00 |
| AWS South America East (Sao Paulo) | $3.10 | $4.65 | $6.20 | $40.50 |
| AWS EU (Dublin) | $2.60 | $3.90 | $5.20 | $23.00 |
| AWS Europe (London) | $2.70 | $4.00 | $5.40 | $24.00 |
| AWS EU (Paris) | $2.60 | $3.90 | $5.20 | $24.00 |
| AWS EU (Frankfurt) | $2.60 | $3.90 | $5.20 | $24.50 |
| AWS EU (Zurich) | $3.10 | $4.65 | $6.20 | $26.95 |
| AWS Europe (Stockholm) | $2.40 | $3.60 | $4.80 | $23.00 |
| AWS Africa (Cape Town) | $2.80 | $4.20 | $5.60 | $27.40 |
| AWS Asia Pacific (Mumbai) | $2.00 | $3.00 | $4.00 | $23.00 |
| AWS Asia Pacific (Singapore) | $2.50 | $3.70 | $5.00 | $25.00 |
| AWS Asia Pacific (Sydney) | $2.75 | $4.05 | $5.50 | $25.00 |
| AWS Asia Pacific (Jakarta) | $2.50 | $3.70 | $5.00 | $25.00 |
| AWS Asia Pacific (Malaysia) | $2.40 | $3.60 | $4.80 | $22.50 |
| AWS Asia Pacific (New Zealand) | $2.75 | $4.05 | $5.50 | $26.25 |
| AWS Asia Pacific (Thailand) | $2.40 | $3.60 | $4.80 | $22.50 |
| AWS Asia Pacific (Tokyo) | $2.85 | $4.30 | $5.70 | $25.00 |
| AWS Asia Pacific (Seoul) | $2.75 | $4.05 | $5.50 | $25.00 |
| AWS Asia Pacific (Osaka) | $2.85 | $4.30 | $5.70 | $25.00 |
| Azure East US (Virginia) | $2.00 | $3.00 | $4.00 | $23.00 |
| Azure East US 2 (Virginia) | $2.00 | $3.00 | $4.00 | $23.00 |
| Azure Central US (Iowa) | $2.00 | $3.00 | $4.00 | $23.00 |
| Azure South Central US (Texas) | $2.00 | $3.00 | $4.00 | $23.00 |
| Azure West US 2 (Washington) | $2.00 | $3.00 | $4.00 | $23.00 |
| Azure Canada Central (Toronto) | $2.25 | $3.50 | $4.50 | $25.00 |
| Azure West Europe (Netherlands) | $2.60 | $3.90 | $5.20 | $23.00 |
| Azure UK South (London) | $2.70 | $4.00 | $5.40 | $24.00 |
| Azure Sweden Central | $2.40 | $3.60 | $4.80 | $23.00 |
| Azure Switzerland North | $3.10 | $4.65 | $6.20 | $28.80 |
| Azure UAE North (Dubai) | $2.70 | $4.00 | $5.40 | $25.40 |
| Azure Central India (Pune) | $2.00 | $3.00 | $4.00 | $23.00 |
| Azure Southeast Asia (Singapore) | $2.50 | $3.70 | $5.00 | $25.00 |
| Azure East Asia (Hong Kong) | $3.00 | $4.50 | $6.00 | $30.00 |
| Azure Japan East (Tokyo) | $2.85 | $4.30 | $5.70 | $25.00 |
| Azure Korea Central | $2.75 | $4.05 | $5.50 | $25.00 |
| Azure Australia East (New South Wales) | $2.75 | $4.05 | $5.50 | $25.00 |
| GCP US Central 1 (Iowa) | $2.00 | $3.00 | $4.00 | $20.00 |
| GCP US East 4 (N. Virginia) | $2.00 | $3.00 | $4.00 | $23.00 |
| GCP Europe West 2 (London) | $2.70 | $4.00 | $5.40 | $23.00 |
| GCP Europe West 3 (Frankfurt) | $2.60 | $3.90 | $5.20 | $23.00 |
| GCP Europe West 4 (Netherlands) | $2.60 | $3.90 | $5.20 | $20.00 |
| GCP Middle East Central 2 (Dammam) | $3.25 | $4.90 | $6.50 | $30.00 |
| GCP Australia Southeast 2 (Melbourne) | $2.75 | $4.05 | $5.50 | $23.00 |
| Item | Price | Basis |
|---|---|---|
| On-demand analysis | $6.25 per TiB | First 1 TiB each month free |
| Storage, active logical | $0.023 per GiB-month | Hourly rate × 730 hours |
| Storage, long-term logical | $0.016 per GiB-month | Not modified for 90 days |
| Editions slot-hour, standard | $0.04 per slot-hour | Commitment discount 10% (1 year), 20% (3 years) * |
| Editions slot-hour, enterprise | $0.06 per slot-hour | Commitment discount 20% (1 year), 40% (3 years) |
| Editions slot-hour, enterprise plus | $0.10 per slot-hour | Commitment discount 20% (1 year), 40% (3 years) |
| Tier | Price per DBU | Cloud compute per DBU-hour |
|---|---|---|
| Classic * | $0.22 | $0.312 (estimate) |
| Pro * | $0.55 | $0.312 (estimate) |
| Serverless * | $0.70 | included |
| Prices | Status | Checked | Basis |
|---|---|---|---|
| Snowflake credits per hour by warehouse size | Read from vendor page | 2026-11-05 | Standard (Gen1) warehouses, XS to 4XL. Snowflake lists separate rates for Gen2 and Snowpark-optimized warehouses; they are not modelled. |
| Snowflake 60-second minimum billing on each resume | Read from vendor page | 2026-11-05 | Per-second billing with a 60-second minimum each time the warehouse starts. |
| Snowflake On Demand price per credit by edition and region | Read from vendor page | 2026-11-05 | Service Consumption Table effective 2026-11-04, On Demand column. Capacity (contract) prices are the On Demand price minus your Platform Credit Discount and are not listed; use credit_price_override_usd. Government and FedRAMP regions are left out because they have no Standard or Enterprise price. |
| Snowflake storage price per TB per month by region | Read from vendor page | 2026-11-05 | Table 3(a), Standard Storage, On Demand. Capacity Tier 1 is the same figure. |
| BigQuery on-demand price per TiB and free TiB per month | Read from vendor page | 2026-11-05 | $6.25 per TiB, first 1 TiB per month free. The page shows the figure without naming a region in the extracted text; it lists Iowa (us-central1) first. Other regions can differ. A 10 MB minimum per table per query is not modelled. |
| BigQuery storage price per GiB per month (logical bytes) | Read from vendor page | 2026-11-05 | The page quotes hourly rates for us-central1: active logical $0.000031507 and long-term logical $0.000021918 per GiB-hour. Multiplied by 730 hours they give $0.023 and $0.016 per GiB-month; the page's own example (1 TiB active for a month = $23.552) matches. The first 10 GiB per month is free and is ignored. Physical-byte billing ($0.040 active, $0.020 long-term per GiB-month) is not modelled. |
| BigQuery editions pay-as-you-go price per slot-hour | Read from vendor page | 2026-11-05 | Standard $0.04, Enterprise $0.06, Enterprise Plus $0.10 per slot-hour, billed per second with a 1-minute minimum. The tool prices average slots around the clock; autoscaling spikes are not modelled. |
| BigQuery Enterprise commitment discount | Read from vendor page | 2026-11-05 | Resource CUD rates: 1-year $0.048 and 3-year $0.036 per slot-hour against $0.06 pay-as-you-go, which is 20% and 40% off. |
| BigQuery Enterprise Plus commitment discount | Read from vendor page | 2026-11-05 | Resource CUD rates: 1-year $0.08 and 3-year $0.06 per slot-hour against $0.10 pay-as-you-go, which is 20% and 40% off. |
| BigQuery Standard commitment discount | Estimate | not checked | The page lists spend-based 'BigQuery CUD' rates for Standard (1-year $0.036, 3-year $0.032 per slot-hour against $0.04, which is 10% and 20% off), but its text says slot commitments exist only for Enterprise and Enterprise Plus. Treated as an estimate. |
| Databricks SQL warehouse DBU per hour by size | Read from vendor page | 2026-11-05 | Read from Microsoft's Azure Databricks pricing page (the same figures for SQL, SQL Pro and Serverless SQL). Databricks' own AWS page did not render them. They match the worker counts on the Databricks docs page (driver plus workers on i3 instances). |
| Snowflake size to Databricks SQL warehouse size | Estimate | not checked | Modelled. Both ladders double with each step, so Snowflake XS (1 credit per hour) is paired with Databricks 2X-Small (1 worker), S with X-Small (2), M with Small (4) and so on up to 4XL with 3X-Large (128). Neither vendor publishes a performance equivalence. |
| Databricks SQL price per DBU by tier | Estimate | not checked | Databricks' pricing page is rendered by script and shows no prices to a fetch. The figures ($0.22 classic, $0.55 pro, $0.70 serverless per DBU, AWS US regions) come from a third-party tracker (CostBench, last verified 2026-07-25 by that site). Prices vary by cloud, region, plan and contract. |
| Cloud compute added to classic and pro warehouses, per DBU-hour | Estimate | not checked | Modelled at $0.312 per DBU-hour: an i3.2xlarge instance assumed at $0.624 per hour on demand in us-east-1 (AWS's pricing page showed no prices to a fetch, so this figure is not checked) divided by 2 DBU per instance, which is what the sizes imply (a 2X-Small is a driver plus one i3.2xlarge worker for 4 DBU). Spot, reserved and newer instance types are not modelled. Serverless includes this cost. |
| Storage under Databricks (your cloud object store) | Estimate | not checked | Databricks does not bill storage; the data sits in your own cloud account. Modelled at the S3 Standard list price of $0.023 per GB-month ($23 per TB) for the first 50 TB, applied flat. AWS's page did not show prices this session. |
| Topic | What catches people out |
|---|---|
| Snowflake idle tail | The minutes a warehouse stays on after the last query are billed. With many short bursts, that idle tail is often the silent cost. |
| Multi-cluster warehouses | A multi-cluster warehouse multiplies credits by the number of clusters running. This estimator prices one cluster. |
| BigQuery bytes scanned | On-demand bills bytes scanned, not bytes returned, so SELECT * on an unpartitioned table is expensive. A LIMIT clause on its own does not reduce the bytes billed. |
| BigQuery storage billing | Storage can bill logical or physical bytes. Physical can be cheaper for well-compressed data but includes time-travel and fail-safe copies. |
| Databricks classic and pro | Classic and pro warehouses add the cloud provider's compute bill on top of DBUs. Serverless folds it into a higher DBU price. |
| Cross-region data movement | Moving data between regions or clouds is billed separately by the cloud provider and is not in these totals. |
Last updated 2026-11-05 (dataset 2026-11, refreshed monthly). Entries marked unverified or modelled could not be checked against an official page.
- https://www.snowflake.com/legal-files/CreditConsumptionTable.pdf
- https://docs.snowflake.com/en/user-guide/warehouses-overview
- https://docs.snowflake.com/en/sql-reference/sql/create-warehouse
- https://cloud.google.com/bigquery/pricing
- https://azure.microsoft.com/en-us/pricing/details/databricks/
- https://docs.databricks.com/aws/en/compute/sql-warehouse/warehouse-behavior
- https://www.databricks.com/product/pricing/databricks-sql
- https://www.costbench.com/software/business-intelligence/databricks-sql/
- https://aws.amazon.com/ec2/pricing/on-demand/
- https://aws.amazon.com/s3/pricing/
Three ways to reduce this number
- Set auto-suspend to 60 seconds so idle tails stop billing.
- Partition and cluster tables, and select only the columns you need, so each query scans fewer bytes.
- Commit capacity (a Snowflake capacity contract or a BigQuery slot commitment) once usage is predictable.
Use it from code
The same engine is available as a REST endpoint and as an MCP tool named calc_data_warehouse_credit_estimator. Your scenario as an API call:
curl -X POST 'https://api.x12i.com/v1/calc/data-warehouse-credit-estimator' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"input": {
"platforms": [
"snowflake",
"bigquery_on_demand",
"databricks_sql"
],
"warehouse_size": "M",
"snowflake_edition": "enterprise",
"cloud_region": "aws-us-east-1",
"active_hours_per_day": 8,
"resumes_per_day": 12,
"auto_suspend_minutes": 10,
"auto_suspend_never": false,
"working_days_per_month": 30,
"tb_scanned_per_day": 4,
"storage_tb": 30,
"long_term_storage_pct": 50,
"bq_edition": "enterprise",
"bq_commitment": "none",
"databricks_tier": "serverless",
"data_warehouse_stack": "none"
},
"options": {
"explain": false
}
}' Schema: GET /v1/calc/data-warehouse-credit-estimator/schema
Frequently asked questions
How much does a Snowflake credit cost?
It depends on the edition, the cloud and region, and whether you pay On Demand or under a capacity contract. In Snowflake's Service Consumption Table effective 4 November 2026, a credit in AWS US East (N. Virginia) lists at $2.00 on Standard, $3.00 on Enterprise and $4.00 on Business Critical, and other regions cost more (AWS EU Frankfurt is $2.60, $3.90 and $5.20). Capacity contracts are priced as the On Demand price minus your discount. Enter your own price in the override field and the calculator uses it.
Is BigQuery on-demand cheaper than Snowflake?
For light scanning, often yes; for heavy scanning, no. On-demand bills per TiB scanned (after the first TiB each month), while Snowflake bills warehouse hours whatever you scan. The two cost the same at scan* = (Snowflake compute ÷ price per TB + free TB) ÷ days, which the calculator prints. Below that daily volume on-demand is cheaper. Check that your warehouse can really serve the volume you enter, because the comparison assumes it can.
When does Databricks SQL beat both?
Databricks SQL bills DBUs for the hours a warehouse runs, so like Snowflake its cost does not grow with bytes scanned. It tends to win when queries keep a right-sized warehouse busy for many hours, when the data already sits in a lakehouse so nothing is copied, and on serverless where cloud compute is included. The Databricks prices here come from a third-party tracker and a modelled size pairing, so confirm them against your own quote before deciding.