Firestore Cost & Usage Estimator
Project your monthly Firebase bill before it arrives.
Enter your expected monthly Firestore reads, writes, deletes, stored data, and outbound bandwidth. The estimator applies the current Firestore pricing tiers, subtracts the free allowance, and shows you the cost breakdown by line item — so you can optimise before you scale.
Monthly usage inputs
How Firestore billing works
Firestore charges on four independent meters. Understanding each one is the difference between a $5 bill and a $500 surprise at end of month.
$0.06 per 100,000 reads
Every document returned by a get, query, or real-time listener snapshot counts as one read. A query returning 200 documents costs 200 reads regardless of how many fields you actually access. The free tier gives 50,000 reads per day (~1.5M/month).
$0.18 per 100,000 writes
Each set, add, or update counts as one write — even if you only change a single boolean field. Transactions count each write separately. Multi-region deployments (nam5, eur3) multiply writes by ~1.2× due to replication overhead. Free tier: 20,000 writes/day.
$0.18 per GB stored
Storage includes document data, indexes, and metadata. Indexes are often larger than the raw document data — every array field and map creates additional index entries. The free tier includes 1 GB of total storage. Deleting documents reduces storage costs but not immediately.
$0.12 per GB egress
Data transferred from Firestore to your clients counts as egress. Reads from the same Google Cloud region as your Firestore instance are free. Cross-region reads within GCP are reduced rate. Reads from outside GCP (mobile apps, browsers) incur the full $0.12/GB rate. Free tier: 10 GB/month.
Firestore pricing reference (2026)
| Meter | Free tier | Paid rate |
|---|---|---|
| Document reads | 50,000 / day | $0.06 / 100K |
| Document writes | 20,000 / day | $0.18 / 100K |
| Document deletes | 20,000 / day | $0.02 / 100K |
| Storage | 1 GB | $0.18 / GB |
| Outbound bandwidth | 10 GB / month | $0.12 / GB |
Source: Firebase pricing page. Free tier amounts are daily limits for reads/writes/deletes and a monthly limit for storage and bandwidth. Multi-region instances (nam5, eur3) apply a ~1.2× multiplier to write operations only.
How to reduce your Firestore bill
Use Firestore offline persistence
Firestore's built-in offline cache serves documents from local storage without hitting the network. For read-heavy apps, this alone can reduce billed reads by 30–70%. Enable it with enableIndexedDbPersistence() on web or the default SDK cache on iOS/Android.
Reduce documents per screen
Each document read in a query costs one read. A screen loading a list of 20 items reads 20 documents. Denormalising frequently co-read data into fewer documents can cut reads dramatically. Store derived counts and summaries directly in parent documents rather than aggregating from subcollections.
Always use .limit() on queries
An unbounded query on a collection that grows over time will progressively increase read counts. Paginate with .limit(25) and cursor-based pagination. A feed of 100 posts returning 100 documents per load at 10,000 daily active users = 1 million reads per day, just for one screen.
Batch updates instead of per-keystroke writes
Real-time sync features (collaborative editing, live presence) can generate enormous write counts. Use debounce timers (500ms–2s) to batch rapid state changes into single writes. Firestore's WriteBatch API lets you bundle up to 500 writes into a single atomic operation counted as 500 writes — but it eliminates round-trip overhead.
Disable single-field index exemptions
Firestore automatically creates indexes on every field in every document. For large text fields, array fields, and map fields with high cardinality, these auto-indexes consume significant storage and add write overhead. Use the Firestore console to add single-field index exemptions for fields you never query.
Watch usage trends on your phone
Firestore cost surprises usually follow a usage spike — a blog post goes viral, a feature ships with a missing .limit() call, or a new release triggers a read storm. The Firepulse app tracks Firestore reads and writes across all your projects. Get a daily digest notification before the month-end bill arrives.
How to use this estimator
Pull metrics from Firebase console
Open the Firebase console → Usage and billing tab. The "Firestore" section shows reads, writes, deletes, storage, and network egress for the current billing month. Use 30-day averages rather than peak-day values for realistic estimates.
Project reads per DAU
Reads are usually the largest line item. Estimate reads per daily active user per session (typical range: 20–200 reads per user). Multiply by your DAU and 30 days. For a new project, use the "Load example" button to start with a realistic 50K DAU scenario.
Enter values and review the breakdown
Fill in each field and click "Calculate cost." The results show each line item, how much is covered by the free tier, and the billable cost. The bar chart lets you see which meter dominates your bill — usually reads for consumer apps, writes for collaboration tools.
Track actuals with Firepulse
Once live, the Firepulse app shows Firestore reads and writes across your Firebase projects. Set up a daily digest notification to get a morning summary of usage across all projects — without logging into the Firebase console. Free on Google Play.
Common Firestore cost scenarios
Real Firestore bills vary enormously by app type. These illustrative scenarios help calibrate your estimates against typical apps at each scale tier.
Under free tier
100 DAU · 50 reads/user/day · 5 writes = 150K reads, 15K writes/day. Both under free limits. Monthly bill: $0.00.
~5K DAU
5K DAU · 100 reads · 10 writes/user/day = 15M reads, 1.5M writes/month. ~5 GB stored, 20 GB egress. Monthly bill: ~$30–40.
~50K DAU
50K DAU · 80 reads · 8 writes/user/day = 120M reads, 12M writes/month. 50 GB stored, 150 GB egress. Monthly bill: ~$200–280.
FAQ
How does Firestore charge for reads?
Firestore charges $0.06 per 100,000 document reads after the free tier of 50,000 reads per day (about 1.5 million per month). A "read" is one document fetched from the database, whether by direct get, query result row, or real-time listener snapshot. Each document returned in a query counts as one read even if you only examine one field.
What is included in Firestore's free tier?
The Spark (free) plan includes: 50,000 document reads/day, 20,000 document writes/day, 20,000 document deletes/day, 1 GB storage, and 10 GB/month outbound bandwidth. Once you exceed these limits, your project requires the Blaze (pay-as-you-go) plan and you are billed only for usage beyond the free allowances.
Does this include Firebase Authentication or Hosting costs?
No. This tool estimates Firestore-specific costs only: reads, writes, deletes, storage, and outbound bandwidth. Firebase Authentication, Cloud Functions, Hosting, Realtime Database, Cloud Messaging, and other Firebase services have separate pricing structures not included here.
Is my data safe when using this estimator?
Yes. All calculations happen locally in your browser using JavaScript. Input values are saved to localStorage under the key fp-firestorecostestimator-v1 so they persist across page refreshes. Nothing is ever sent to any server.
Why might my real bill differ from this estimate?
Several factors can cause differences: free-tier limits reset daily (not monthly), queries that return zero documents still count as one read, transactions count each read and write separately, multi-region configurations apply a write multiplier, and Cloud Functions that read/write Firestore incur costs on the Functions side not shown here.
Related Firepulse resources
Watch your Firestore usage live — on your phone
Firepulse delivers a daily push digest of your Firebase metrics. Spot cost spikes before the month-end bill.