DEV Community

Andrea Roversi
Andrea Roversi

Posted on • Originally published at roversia.it

Spark vs Blaze: The Firebase Pricing Guide I Wish I'd Read Sooner

"Firebase is free until it isn't" is the kind of sentence that scares more than it informs. Here I try to strip away the marketing jargon: what Spark actually includes, how Blaze's pay-as-you-go really works, what Firestore, Hosting, Storage and Authentication actually cost — and the February 2026 change that shifts the picture on Cloud Storage.

Why Firebase looks riskier than it is

The most common fear is "pay-as-you-go with no ceiling" — and it's not unfounded: Firebase has no built-in spending cap, a bug that triggers an infinite read loop on Firestore really can produce a four-figure bill in a day. But that scenario has little to do with normal use on a personal project or a small product: it's a monitoring and guardrail problem, not an intrinsic property of Firebase's pricing.

Some of the confusion also comes from "Spark" and "Blaze" being presented as two alternative plans, as if one were "free" and the other "paid". In practice they're more like two modes sharing the same free-quota base: Blaze adds the ability to go over them by paying, and unlocks products that aren't available on Spark at all.

The Spark plan: what it actually includes

Spark is the default plan when creating a Firebase project. No credit card required, and it can never generate a bill: when a product exhausts its daily or monthly quota, it simply stops responding until the next reset. It's the right choice for prototypes, personal portfolios, and low-traffic tools.

It includes, with no time limit: Authentication with standard providers (email/password, Google, Apple, GitHub, anonymous), Cloud Messaging, Analytics, Crashlytics, Performance Monitoring — all free regardless of volume. Firestore, Hosting, and Cloud Functions instead have precise quantitative quotas:

  • Firestore: 1 GiB storage, 50,000 reads/day, 20,000 writes/day, 20,000 deletes/day, 10 GiB egress/month
  • Hosting: 10 GB storage, 10 GB transfer/month
  • Cloud Functions: 2 million invocations/month

⚠️ Cloud Storage is no longer included on Spark. More on this below: since February 3, 2026, it always requires Blaze, even at minimal volumes.

The Blaze plan: pay-as-you-go, not "paid"

Moving to Blaze doesn't mean you start paying immediately. It means linking a Google Cloud billing account and getting two things: the same free quotas from Spark stay valid (calculated daily for most products), and exceeding them no longer blocks the service but bills the overage at pay-as-you-go rates. On top of that, Blaze unlocks products unavailable on Spark: Cloud Storage, Cloud Functions beyond the base quota, outbound calls to external services from Cloud Functions, and access to broader Google Cloud products (Pub/Sub, Cloud Run, BigQuery streaming).

If the project stays within the free quotas even on Blaze, the bill is zero — the difference is that a valid credit card must now be linked to the project, and Google often offers $300 in initial credit for those upgrading to Blaze for the first time.

Pricing table by service

Official Google Cloud pricing for the nam5/us-central1 region, updated as of June 2026. Other regions may have slightly different rates.

Service Free tier (Spark & Blaze) Price above quota (Blaze)
Firestore — reads 50,000/day $0.03 / 100,000
Firestore — writes 20,000/day $0.09 / 100,000
Firestore — deletes 20,000/day $0.01 / 100,000
Firestore — storage 1 GiB ≈ $0.15 / GB / month
Hosting — storage 10 GB $0.026 / GB
Hosting — transfer 10 GB / month $0.15 / GB
Cloud Storage — storage 5 GB-months (Blaze only) ≈ $0.02 / GB / month
Cloud Storage — download 100 GB / month (Blaze only) $0.12 / GB
Standard Authentication Unlimited Always free
Authentication — SMS 10/day (test only) $0.01–0.06 / verification

Use the interactive calculator to estimate your specific case.

The 2026 change: Cloud Storage always requires Blaze

Until February 2, 2026, Cloud Storage for Firebase was also available on Spark with its own dedicated free quota. Since February 3, 2026, Google has aligned Cloud Storage with standard Google Cloud Storage rules: creating or maintaining a bucket requires a linked billing account, meaning the Blaze plan, regardless of usage volume.

This isn't a disguised price increase: if you stay within Google Cloud Storage's "Always Free" tier — 5 GB-months of storage and 100 GB of egress to North America per month — the bill stays at zero. What changes is the entry threshold: a project that previously used Storage while staying on Spark now must link a credit card, even just to save a few profile pictures.

How to set up a budget alert on Google Cloud

The simplest way to avoid being surprised by Blaze is to set up a budget with notification thresholds, directly from the billing console:

  1. Go to Google Cloud Console → Billing → Budgets & alerts
  2. Create a new budget, choose the scope (specific project or entire billing account)
  3. Set the monthly target amount — even just €5-10 for a personal project is a good warning signal
  4. Configure notification thresholds at 50%, 90%, and 100% of the amount
  5. Link a monitoring email address, not just the account owner's

💡 The budget alert doesn't block spending, it only sends a notification. For an actual cutoff you need a Cloud Function linked to Pub/Sub that disables billing when the threshold is exceeded — useful for hobby projects, not recommended for production products since it would shut off the service for real users.

Frequently asked questions

Do I have to move to Blaze if my project is small?
No, if you only use Firestore, Hosting and standard Authentication under the free quotas, Spark is enough and stays at guaranteed zero cost, no card required. Blaze is only needed for Cloud Storage, Cloud Functions beyond the base quota, or if you exceed Firestore's daily quotas.

Does moving to Blaze mean I start paying immediately?
No. Blaze includes the same free quotas as Spark plus pay-as-you-go for the overage. If you stay within those quotas the bill is zero even on Blaze — the only difference is a linked card and no more automatic block at the limits.

Why does Cloud Storage always require Blaze since 2026?
Since February 3, 2026, Google aligned Cloud Storage for Firebase with standard Google Cloud Storage rules, which require a linked billing account to create a bucket, even while staying in the "Always Free" tier. It's a policy change, not a price increase: under 5 GB-months and 100 GB of transfer the bill stays zero.

How do I avoid a surprise bill on Blaze?
Set a budget with alert thresholds in the Google Cloud billing console — it notifies by email but doesn't block spending. Also monitor the Firestore and Storage dashboards periodically: an unclosed listener or a read loop can generate thousands of operations in a few hours.

Which service most often causes unexpected costs?
Firestore, almost always for reads — a realtime listener left active on a growing collection multiplies reads much faster than the app's actual traffic would suggest. The second candidate is Hosting or Storage egress when large files are served without a CDN or compression.


Originally published on roversia.it

Top comments (0)