Firebase strives to keep our products and our ecosystem safe and secure. As part of that, we're making some changes to Cloud Storage for Firebase and taking proactive steps to prevent abuse on our platform. This includes updating our infrastructure to better align with Google Cloud Storage quota and billing.
One result of these infrastructure changes is that we'll soon start requiring projects to be on the pay-as-you-go Blaze pricing plan to use Cloud Storage for Firebase. No-cost usage is still available even on the Blaze pricing plan.
Review the following FAQs about the changes we announced in September 2024:
- Changes for pricing plan requirements
- Changes for the default Cloud Storage for Firebase bucket
- Changes for programmatic interactions (like REST APIs and Terraform)
- Changes for "default GCP resources"
Changes for pricing plan requirements
We'll soon start requiring the pay-as-you-go Blaze pricing plan if you want to use Cloud Storage for Firebase. No-cost usage is still available even on the Blaze pricing plan.
We understand that these changes will require your time to evaluate and make changes to your Firebase project and workflows. If you have any questions, please reach out to Firebase Support.
Starting October 30, 2024, the following changes will happen:
To provision a new default bucket using the Firebase console or REST API, your project must be on the pay-as-you-go Blaze pricing plan.
Note the following about all default buckets provisioned after October 30, 2024:
They will follow Google Cloud Storage pricing and usage, which provides an "Always Free" tier for buckets in particular regions.
They will have a name format of
(instead of the formerPROJECT_ID.firebasestorage.app
).PROJECT_ID.appspot.com
Starting October 1, 2025, the following changes will happen:
- To maintain access to your default bucket and all other Cloud Storage
resources, your project must be on the pay-as-you-go Blaze pricing plan. Any
.appspot.com
default bucket will maintain its current no-cost level of usage even on the Blaze pricing plan.
- To maintain access to your default bucket and all other Cloud Storage
resources, your project must be on the pay-as-you-go Blaze pricing plan. Any
Learn more about what happens if you don't upgrade to the Blaze pricing plan by this date. If you have any questions, please reach out to Firebase Support.
Firebase strives to keep our products and our ecosystem safe and secure. As part of that, we're making some changes to Cloud Storage for Firebase and taking proactive steps to prevent abuse on our platform. This includes updating our infrastructure to better align with Google Cloud Storage quota and billing.
Yes. If you have a PROJECT_ID.appspot.com
- 5 GB stored
- 1 GB egress / day
- 20,000 uploads / day
- 50,000 downloads / day
Note that starting October 30, 2024, all new
default buckets have the name format of PROJECT_ID.firebasestorage.app
To upgrade your project to the pay-as-you-go Blaze pricing plan, you need to link your project with a Cloud Billing account. You can use the Firebase console workflow to upgrade your pricing plan.
To upgrade the pricing plan, you need to have the IAM role of Owner for your project.
If you have any questions, please reach out to Firebase Support.
If you want to maintain access to your PROJECT_ID.appspot.com
To upgrade your project to the pay-as-you-go Blaze pricing plan, you need to link your project with a Cloud Billing account. You can use the Firebase console workflow to upgrade your pricing plan.
Starting October 30, 2024: If you haven't yet provisioned a default Cloud Storage bucket in your project, then you won't be able to provision it unless your project is on the Blaze pricing plan.
Starting October 1, 2025: If your project isn't on the Blaze pricing plan, then you'll lose read/write access to your
default bucket. You also won't be able to view the bucket or access its data in the Firebase console or the Google Cloud console.PROJECT_ID.appspot.com
Note that any data will remain in your bucket, but it will be inaccessible until you upgrade to the Blaze pricing plan.
If you have any questions, please reach out to Firebase Support.
If you have a PROJECT_ID.appspot.com
- 5 GB stored
- 1 GB egress / day
- 20,000 uploads / day
- 50,000 downloads / day
If you have any questions, please reach out to Firebase Support.
Changes for the default Cloud Storage bucket
We understand that these changes will require your time to evaluate and make changes to your Firebase project and workflows. If you have any questions, please reach out to Firebase Support.
No. When you upgrade to the Blaze pricing plan, the name of your default Cloud Storage bucket will not change.
If you provisioned your default bucket before October 30, 2024, then your default bucket will always have a name format of
.PROJECT_ID.appspot.com
If you provisioned your default bucket on or after October 30, 2024, then your default bucket will always have a name format of
.PROJECT_ID.firebasestorage.app
Deleted buckets are not recoverable. Note that this is the current behavior for all Cloud Storage buckets.
Starting October 30, 2024: If you delete your
PROJECT_ID.appspot.com
Instead, you can create a new default Cloud Storage bucket (if your project is on
the Blaze pricing plan) that has a name format of
PROJECT_ID.firebasestorage.app
No. To accommodate these changes, you do not need to update your app's codebase.
All existing PROJECT_ID.appspot.com
To avoid any service interruptions, make sure to upgrade your project to the
pay-as-you-go Blaze pricing plan by October 1, 2025.
After upgrading to the Blaze pricing plan, your codebase will continue
to interact with the PROJECT_ID.appspot.com
No. To accommodate these changes, you do not need to move your data out of
your PROJECT_ID.appspot.com
As long as you upgrade your project to the pay-as-you-go Blaze pricing plan by October 01, 2025, then you'll see no service interruptions.
Changes for programmatic interactions (like REST APIs and Terraform)
If you provision or work with default Cloud Storage for Firebase buckets programmatically (for example, using REST APIs or Terraform), review the following changes to see if you need to change anything in your workflows or apps.
We understand that these changes will require your time to evaluate and make changes to your Firebase project and workflows. If you have any questions, please reach out to Firebase Support.
Starting October 30, 2024, the following changes will happen:
The
projects.defaultBucket.create
endpoint is changing:To call this endpoint, your project must be on the pay-as-you-go Blaze pricing plan.
The default buckets provisioned by this endpoint will have the name format of
(instead of the formerPROJECT_ID.firebasestorage.app
).PROJECT_ID.appspot.com
These default buckets will follow Google Cloud Storage pricing and usage, which provides an "Always Free" tier for buckets in particular regions.
The
projects.defaultLocation.finalize
andprojects.availableLocations.list
endpoints will be shutdown and will start returning404: METHOD_NOT_FOUND
errors.Instead, to set a resource's location programmatically, you should use the resource-specific APIs. For example, set the locations of the default Cloud Storage bucket and the default Cloud Firestore instance during their individual provisioning when calling
projects.defaultBucket.create
andprojects.databases.create
, respectively. For more details about replacements for REST APIs and locations, see the FAQ: How do I set or get the location for a "default GCP resource"?
Starting October 30, 2024, the following changes will happen that are related to using Terraform with Cloud Storage for Firebase.
You can no longer provision the default Cloud Storage for Firebase bucket using Terraform. This is because you can no longer provision this bucket via Google App Engine. Instead, you can do one of the following:
Provision the bucket by calling
projects.defaultBucket.create
. This API is not yet available via Terraform.Provision the bucket through the Firebase console. Visit the Storage section of the console to get started.
Additionally, note the following about default Cloud Storage buckets provisioned starting October 30, 2024:
Your project must be on the pay-as-you-go Blaze pricing plan to provision a default Cloud Storage bucket.
You no longer need to provision your default Cloud Firestore instance before your default Cloud Storage bucket.
The location you select for your default Cloud Firestore instance is not applicable to your default Cloud Storage bucket (this means that your default Cloud Firestore instance and your default Cloud Storage bucket can be in different locations).
The name format of the default Cloud Storage bucket will be
(instead of the formerPROJECT_ID.firebasestorage.app
).PROJECT_ID.appspot.com
Changes for "default GCP resources"
The "default GCP resources" are any project resources associated with Google App Engine, including the following:
- default Cloud Firestore instance
- default Cloud Storage for Firebase bucket (specifically those with the name
format of
)PROJECT_ID.appspot.com
- Google Cloud Scheduler (like for 1st gen scheduled functions)
With many changes over the years to the Firebase ecosystem, the associations of Firebase-related resources to Google App Engine have been changing.
We understand that these changes will require your time to evaluate and make changes to your Firebase project and workflows. If you have any questions, please reach out to Firebase Support.
The "default GCP resources location" is the location setting for any project resources associated with Google App Engine, including the following:
- default Cloud Firestore instance
- default Cloud Storage for Firebase bucket (specifically those with the name
format of
)PROJECT_ID.appspot.com
- Google Cloud Scheduler (like for 1st gen scheduled functions)
When you set up any one of these resources in your project, you're transitively setting the location of the Google App Engine app in your project. This, in turn, sets the location for all the resources associated with Google App Engine.
Note the following:
Any default Cloud Storage bucket provisioned before October 30, 2024 (with a name format of
) is associated with Google App Engine. This means the following:PROJECT_ID.appspot.com
- The bucket's location will set the location of resources associated with Google App Engine (like the location of the default Cloud Firestore instance).
Any default Storage bucket provisioned starting October 30, 2024 (with the name format of
) is not associated with Google App Engine. This means the following:PROJECT_ID.firebasestorage.app
Provisioning your default Cloud Storage bucket will no longer set the location of resources associated with Google App Engine (like the location of the default Cloud Firestore instance).
Provisioning your default Cloud Firestore instance will no longer set the location of your project's default Cloud Storage bucket.
The locations available for your default Cloud Storage bucket are now the same locations available for Google Cloud Storage (rather than limited to those for Google App Engine).
The "default GCP resources" are any project resources associated with Google App Engine, including the following:
- default Cloud Firestore instance
- default Cloud Storage for Firebase bucket (specifically those with the name
format of
)PROJECT_ID.appspot.com
- Google Cloud Scheduler (like for 1st gen scheduled functions)
Starting October 30, 2024, the concept of
"default GCP resources" doesn't apply to newly provisioned default Cloud Storage
buckets. Default buckets provisioned after this date have the name format of
PROJECT_ID.firebasestorage.app
If you want to set or get the location for any resource in a project, then you should interact directly with the resource instead.
Default Cloud Storage for Firebase bucket
In the Firebase console:
- Set and find the location of a default Cloud Storage bucket in the Storage section of the Firebase console.
Using REST APIs:
Set the location of a default Cloud Storage bucket during its provisioning when calling
projects.defaultBucket.create
.Note that starting October 30, 2024, calling this endpoint will require the pay-as-you-go Blaze pricing plan. So before attempting to create a default bucket, make sure that the project is linked to a Cloud Billing account (for example, using
projects.updateBillingInfo
).Get the location of a default Cloud Storage bucket using
projects.buckets.get
.
Default Cloud Firestore instance
Note that if you provisioned a default Cloud Storage bucket before October 30, 2024, then the location of the project's default Cloud Firestore instance has already been set (due to associations with Google App Engine).
In the Firebase console:
- Set and find the location of a default Cloud Firestore instance in the Firestore section of the Firebase console.
Using REST APIs:
Set the location of a default Cloud Firestore instance during its provisioning when calling
projects.databases.create
.Get the location of a default Cloud Firestore instance using
projects.databases.get
.
Scheduled functions (1st gen)
Note that if you provisioned a default Cloud Storage bucket before October 30, 2024, then the project's scheduled functions (1st gen) has already been set (due to associations with Google App Engine).
Set the location of a scheduled function during its setup and deployment.
Get the location of a scheduled function from the topic name of its job and function in the Google Cloud console (
.firebase-schedule-FUNCTION_NAME-REGION