firebase · firestore · pricing
Firebase Pricing: What the Blaze Plan Charges For
By Aakash Verma ·
Firebase pricing comes down to two plans, and only one of them is really a choice. Spark is free and has hard limits: go over them and, in Firebase’s own words, “your app will be shut off for the remainder of that month.” Blaze is pay as you go. It keeps the same free quotas and bills you for everything above them, at Google Cloud prices. Any app with paying users is on Blaze, and since Cloud Functions and new Cloud Storage buckets need it anyway, most apps are on Blaze from week one.
So the real question is what Blaze charges for. Every price below comes from the Firebase pricing page and the Google Cloud pricing pages it links to, checked on 2026-10-13.
Firestore bills per document, per day
Cloud Firestore (Standard edition) is priced per document read, written or deleted. In us-central1 that is $0.03 per 100,000 reads, $0.09 per 100,000 writes and $0.01 per 100,000 deletes, plus $0.15 per GiB of stored data a month (Firestore pricing). The free quota is 50,000 reads, 20,000 writes and 20,000 deletes per day, 1 GiB stored and 10 GiB of outbound data a month.
Two details in there do most of the damage.
The quota is daily. A busy Monday that does 300,000 reads is not averaged against a quiet weekend. 250,000 of those reads are billed, whatever happened on Sunday.
And the location you picked on the setup screen sets the price. nam5, the US multi-region that a lot of projects choose because it sounds safer, costs exactly double: $0.06 per 100,000 reads, $0.18 per 100,000 writes, $0.02 per 100,000 deletes, $0.18 per GiB. A Firestore database cannot be moved to another location after it is created. Moving means a new database and a data copy, so it is worth knowing which one you are on before you plan anything else.
Why reads run away
People think of a query as one request. Firestore thinks of it as one read per document returned. An admin screen that shows the last 200 orders costs 200 reads every time someone opens it.
Real-time listeners make it worse, and this is the part most bills we see are made of. A listener on a query is charged a read for every document in the result when it starts, and again every time a document in that result changes. Ten people looking at a live dashboard of 200 orders, where orders update all day, multiply each change by ten. Firestore’s docs add one more: if offline persistence is on and a listener is disconnected for more than 30 minutes (a phone going into a pocket), reconnecting is billed like a brand-new query (the billing rules for listeners).
A hypothetical app with 2,000 daily users who each open a 50-document feed four times a day does 400,000 reads a day. After the free 50,000, that is 10.5 million billed reads a month: $3.15 in us-central1, $6.30 in nam5. Small. The same app with a live listener on that feed, where each document changes a few times a day, can do ten times as many. Reads stay cheap per unit right up until nobody is counting them.
Cloud Storage: the download line
Cloud Storage for Firebase now creates *.firebasestorage.app buckets, billed as Google Cloud Storage, and those need Blaze. The free tier is 5 GB stored, 100 GB downloaded, 5,000 uploads and 50,000 download requests a month, and Firebase’s pricing page is explicit that it only applies to buckets in us-central1, us-east1 or us-west1. A bucket in europe-west1 pays from the first byte.
Above that, Standard storage in us-central1 is $0.020 per GB a month and downloads to the internet are $0.12 per GB (Cloud Storage pricing). Storage almost never matters. 50 GB of user files is about a dollar. Downloads do: an app that shows full-size 4 MB phone photos in a list where 300 KB thumbnails would do pays for the difference on every scroll. 300 GB of downloads a month is $24 after the free 100 GB, and resizing on upload usually cuts that by most of it.
Cloud Functions: you pay for waiting
Cloud Functions for Firebase run on Cloud Run functions now. You get 2 million invocations, 400,000 GB-seconds and 200,000 CPU-seconds free a month, then $0.40 per million invocations, $0.000024 per vCPU-second and $0.0000025 per GB-second at Tier 1 prices (Cloud Run pricing).
The memory you choose also sets the CPU. A 256 MB function gets 0.167 of a vCPU, a 1 GB function gets 0.583. CPU is the expensive part, nearly ten times the memory price per second, and you pay it for the whole time the request is open. A function that calls an LLM and waits eight seconds for the answer pays eight seconds of CPU for doing nothing. 5 million calls at 400 ms on 256 MB is about $4.70 a month after the free tier. The same calls waiting two seconds each on an outside API cost about $42, nearly nine times as much.
Minimum instances are the other quiet line. Setting minInstances: 1 to avoid cold starts keeps an instance billed at the idle rate around the clock, per function, per region.
Hosting and Authentication
Hosting is simple: 10 GB stored and 10 GB of transfer a month free, then $0.026 per GB stored and $0.15 per GB served (Hosting quotas and pricing). Note that $0.15 is more than Cloud Storage charges per GB. A site that serves big videos from Hosting is paying a premium for the convenience.
Authentication is free up to 50,000 monthly active users for email, social, anonymous and phone sign-in, then $0.0055 per user up to 100,000, and less above that (Identity Platform pricing). Most apps never pay for users.
They pay for SMS. Phone sign-in sends a code by text, and every text after the first ten a day is billed: $0.01 to a US number, and $0.08 or more to many other countries (the UAE and Andorra are $0.08, Ukraine $0.15). A login screen with a “resend code” button that people press three times, or one that a bot finds, turns into a real line on the bill fast. Rate-limit it and turn on App Check.
Budgets don’t stop anything
This is the one people learn the hard way. A Google Cloud budget alert sends an email. It does not pause anything, and Firebase’s guide to avoiding surprise bills says so directly.
There are now spend caps for Cloud Functions, App Hosting, Extensions and Firebase AI Logic. They are in Preview, and Google’s spend cap docs say plainly that they “are not ‘hard caps’” and that enforcement can lag by several minutes, with the overage billed as normal. The only true off switch Google documents is a function that unlinks billing from the project when a budget fires, which shuts down everything in it and may delete resources. Set a budget alert anyway, low, and treat it as a smoke alarm rather than a fuse.
Where a typical bill comes from
Put the numbers above into one hypothetical app: 400,000 Firestore reads and 60,000 writes a day, 8 GiB stored, 50 GB of files with 300 GB downloaded a month, 5 million function calls at 400 ms, 50 GB of Hosting transfer, 20,000 users and 3,000 sign-in texts a month to US numbers. In us-central1, after the free quotas, that is about $72 a month.

The database is not the biggest line. SMS and file downloads are more than two thirds of it. That is the pattern we expect on most Firebase bills: the expensive line is rarely the one the team has been optimising.
You can change every one of those numbers in our Firebase pricing calculator, which splits the bill the same way and switches Firestore between us-central1 and nam5.
Want us to look at your bill?
No upfront fee: for six months you pay half of what we save you each month, then you keep all of it. Nothing saved, nothing owed.