FAQs about Cloud Storage for Firebase changes announced in September 2024

Firebase is making some changes to Cloud Storage for Firebase and taking proactive steps to prevent abuse on our platform. This requires us to update 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

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:

  • 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.

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 default bucket and you upgrade to the pay-as-you-go Blaze pricing plan, then you will maintain your default bucket's current no-cost level of usage, as described below. Any usage over this no-cost usage will be charged according to Google App Engine pricing.

  • 5 GB stored
  • 1 GB downloaded / 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 and they follow Google Cloud Storage pricing and usage, which provides an "Always Free" tier for buckets in US-CENTRAL1, US-EAST1, and US-WEST1.

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 default bucket, then you need to upgrade to the pay-as-you-go Blaze pricing plan plan by October 1, 2025.

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 PROJECT_ID.appspot.com 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.

    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 default bucket, and you upgrade to the Blaze pricing plan with a usage that's over the no-cost usage levels described below, then you will be charged for the overage according to Google App Engine pricing on your next billing cycle.

  • 5 GB stored
  • 1 GB downloaded / 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.

    The only exception is if you delete your *.appspot.com bucket and provision a new default bucket.

  • 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 default bucket, then you won't be able to provision a bucket with that same name format.

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. It will follow Google Cloud Storage pricing and usage, which provides an "Always Free" tier for buckets in US-CENTRAL1, US-EAST1, and US-WEST1.

No. To accommodate these changes, you do not need to update your app's codebase.

All existing PROJECT_ID.appspot.com default buckets will maintain their name format.

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 default bucket as it always has.

No. To accommodate these changes, you do not need to move your data out of your PROJECT_ID.appspot.com default bucket.

As long as you upgrade your project to the pay-as-you-go Blaze pricing plan by October 1, 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:

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:

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 PROJECT_ID.firebasestorage.app (instead of the former PROJECT_ID.appspot.com).

Changes for "default Google Cloud resources"

The "default Google Cloud 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 (specifically 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 "location for default Google Cloud resources" 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 (specifically 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 PROJECT_ID.appspot.com) is associated with Google App Engine. This means the following:

    • 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 Cloud Storage bucket provisioned starting October 30, 2024 (with the name format of PROJECT_ID.firebasestorage.app) is not associated with Google App Engine. This means the following:

    • 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 Google Cloud 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 (specifically for 1st gen scheduled functions)

Starting October 30, 2024, the concept of "default Google Cloud 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, and they are not associated with Google App Engine. To learn more, review the FAQ: What happens to the "location for default Google Cloud resources"?

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:

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:

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.