A konzolhoz

Usage and limits

Use this guide to understand Cloud Firestore limits, and see Cloud Firestore Pricing for a full, detailed explanation of Cloud Firestore costs, including things to watch out for.

Monitor your usage

To monitor your Cloud Firestore usage, open the Cloud Firestore Usage tab in the Firebase Console. Use the dashboard to gauge your usage over different time periods.

Detailed usage in the Google Cloud Platform Console

When you create a Firebase project, you're also creating a project in the Google Cloud Platform. The App Engine Quotas page in the Cloud Cloud Platform Console tracks additional Cloud Firestore usage information such as stored data and network egress.

Free quota

Cloud Firestore offers free quota that allows you to get started at no cost. The free quota amounts are listed below. If you need more quota, you must enable billing for your Cloud Platform project.

Quotas are applied daily and reset around midnight Pacific time.

Free tier Quota
Stored data 1 GiB
Document reads 50,000 per day
Document writes 20,000 per day
Document deletes 20,000 per day
Network egress 10 GiB per month

Standard limits

The following tables show the limits that apply to your usage of Cloud Firestore.

Collections, documents, and fields

Limit Details
Constraints on collection IDs
  • Must be valid UTF-8 characters
  • Must be no longer than 1,500 bytes
  • Cannot contain a forward slash (/)
  • Cannot solely consist of a single period (.) or double periods (..)
  • Cannot match the regular expression __.*__
Maximum depth of subcollections 100
Constraints on document IDs
  • Must be valid UTF-8 characters
  • Must be no longer than 1,500 bytes
  • Cannot contain a forward slash (/)
  • Cannot solely consist of a single period (.) or double periods (..)
  • Cannot match the regular expression __.*__
Maximum size for a document name 6 KiB
Maximum size for a document 1 MiB (1,048,576 bytes)
Constraints on field names Must be valid UTF-8 characters
Maximum size of a field name 1,500 bytes
Constraints on field paths
  • Must separate field names with a single period (.)
  • Must enclose each field name in backticks unless the field name meets the following requirements:
    • The field name contains only the characters a-z, A-Z, 0-9, and underscore (_)
    • The field name does not start with 0-9
Maximum size of a field path 1,500 bytes
Maximum size of a field value 1 MiB - 89 bytes (1,048,487 bytes)
Maximum depth of fields in a map 20

Writes and transactions

Limit Details
Maximum API request size 10 MiB
Maximum writes per second per database 10,000 (up to 10 MiB per second)
Maximum write rate to a document 1 per second
Maximum write rate to a collection in which documents contain sequential values in an indexed field 500 per second
Maximum number of writes that can be passed to a Commit operation or performed in a transaction 500
Maximum number of field transformations that can be performed on a single document in a Commit operation or in a transaction 500
Time limit for a transaction 270 seconds, with a 60-second idle expiration time

Realtime updates

Limit Details
Maximum concurrent connections for mobile/web clients per database 1,000,000

Indexes

The following limits apply to single-field indexes and composite indexes:

Limit Details
Maximum number of composite indexes for a database 200
Maximum number of single-field index exemptions for a database 200

Maximum number of index entries for each document

40,000

The number of index entries is the sum of the following for a document:

  • The number of single-field index entries
  • The number of composite index entries
Maximum size of an index entry

7.5 KiB

To see how Cloud Firestore calculates index entry size, see index entry size.

Maximum sum of the sizes of a document's index entries

8 MiB

The total size is the sum of the following for a document:

  • The sum of the size of a document's single-field index entries
  • The sum of the size of a document's composite index entries
  • Maximum size of an indexed field value

    1500 bytes

    Field values over 1500 bytes are truncated. Queries involving truncated field values may return inconsistent results.

    Security rules

    Limit Details
    Maximum number of exists(), get(), and getAfter() calls per request
    • 10 for single-document requests and query requests.
    • 20 for multi-document reads, transactions, and batched writes. The previous limit of 10 also applies to each operation.

      For example, imagine you create a batched write request with 3 write operations and that your security rules use 2 document access calls to validate each write. In this case, each write uses 2 of its 10 access calls and the batched write request uses 6 of its 20 access calls.

    Exceeding either limit results in a permission denied error.

    Some document access calls may be cached, and cached calls do not count towards the limits.

    Maximum function call depth 20
    Maximum number of recursive or cyclical function calls 0 (not permitted)
    Maximum number of expressions evaluated per request 1,000
    Maximum size of a ruleset 64 KB

    Manage spending

    To help avoid unexpected charges on your bill, set spending limits and alerts.

    Set a daily spending limit

    To cap your Cloud Firestore usage, set a daily spending limit through Google App Engine. App Engine allows you to set a daily spending limit on App Engine associated resources, including Cloud Firestore. The App Engine limit does not apply to any other Firebase products.

    1. If you haven't already, enable billing for your project in the Cloud Platform Console.
    2. Go to the App Engine Application Settings page in the Cloud Platform Console.
    3. Click Edit and set a Daily spending limit.
    4. Click Save. The new limit takes effect immediately and resets daily.

    Set a monthly budget

    To track your Cloud Firestore costs, create a monthly budget in the Cloud Platform Console. Budgets won't limit your usage, but you can set alerts to notify you when you're approaching or exceeding your planned costs for the month.

    To set a budget, go to the Billing section in the Cloud Platform Console and create a budget for your billing account. You can use the default alert settings or modify the alerts to send notifications at different percentages of your monthly budget.

    Learn more about setting a budget in the Cloud Platform Console.