Default bucket and billing requirements for Cloud Storage for Firebase after September 2024

In September 2024 , we announced infrastructure updates to better align with Google Cloud Storage quota and billing and to prevent abuse on our platform.

Here are two key points to know:

  • Cloud Storage for Firebase (even default buckets) now requires projects to be on the pay-as-you-go Blaze pricing plan . No-cost usage is still available even on the Blaze pricing plan.

  • All default Cloud Storage for Firebase buckets created after September 2024 have the name format of PROJECT_ID .firebasestorage.app .

Review the following FAQs for details about the changes:



Billing requirements and troubleshooting

To use Cloud Storage for Firebase , your Firebase project must be on the pay-as-you-go Blaze pricing plan . No-cost usage is still available even on the Blaze pricing plan.

If your Firebase project is on the Spark pricing plan, you won't have access to any Cloud Storage buckets (including default buckets), and your API calls to buckets will return 402 or 403 errors.

How to regain access

To regain access and quality of service for Cloud Storage resources and data, upgrade to the pay-as-you-go Blaze pricing plan . No-cost usage is still available even on the Blaze pricing plan, including for your legacy *.appspot.com default bucket.

No access in console

If your project is on the Spark pricing plan, you'll no longer have access to your bucket in the Firebase console and the Google Cloud console. Instead, you'll be redirected to the Cloud Storage landing page where you can upgrade to the Blaze pricing plan.

402 and 403 errors

If your project is on the Spark pricing plan, your calls to Cloud Storage APIs (like from your app) will fail and return 402 or 403 errors. Follow the guidance in How to regain access above or check out more troubleshooting options below.

402 errors
 "error": {
    "code": 402,
    "message": "Cloud Storage for Firebase no longer supports Firebase projects that are on the no-cost Spark pricing plan. Please upgrade to the pay-as-you-go Blaze pricing plan to maintain access to your default bucket and all other Cloud Storage resources. For details, see our FAQ: https://firebase.google.com/docs/storage/faqs-storage-changes-announced-sept-2024"
  } 

OR

 storage/quota-exceeded: Firebase Storage: Quota for bucket '{project-id}.appspot.com' exceeded, please view quota on https://firebase.google.com/pricing/. (storage/quota-exceeded) 
403 errors
 <Error>
  <Code>UserProjectAccountProblem</Code>
  <Message>The project to be billed is associated with an absent billing account.</Message>
  <Details>The billing account for the owning project is disabled in state absent</Details>
</Error> 

OR

 storage/unauthorized: User does not have permission to access {path} 

Troubleshooting

If you're experiencing any issues, check out these troubleshooting resources. If none of the following help with your issue, then reach out to Firebase Support .

Troubleshoot billing setup

The Cloud Billing documentation provides troubleshooting help for common billing and payment issues . For example, you can find solutions if your Indian debit or credit card isn't accepted .

For Cloud Storage for Firebase to function properly, a service account in your Firebase project needs certain IAM permissions.

If you get errors in the Firebase console about permissions for this service account, it's often because the service account has been deleted from your Firebase project. To resolve this issue, follow the steps described in this FAQ .



Pricing plan FAQs

To use Cloud Storage for Firebase , your Firebase project must be on the pay-as-you-go Blaze pricing plan . 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 .

What are the pricing plan requirements for Cloud Storage for Firebase ?

The following billing requirements apply to all projects using Cloud Storage for Firebase :

  • To provision a new default bucketusing the Firebase console or REST API, your project must be on the pay-as-you-go Blaze pricing plan .

  • All default buckets provisioned after September 2024 have these characteristics:

  • 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 maintains 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 . If you have any questions, please reach out to Firebase Support .

Why is Firebase making these pricing plan changes?

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.

Can I keep no-cost usage if I upgrade to the Blaze pricing plan?

Yes. If you have a PROJECT_ID .appspot.com default bucket and you upgrade to the pay-as-you-go Blaze pricing plan , you maintain your default bucket's current no-cost level of usage, as described below. Any usage over this no-cost usage is charged according to Google App Engine pricing .

  • 5 GB stored
  • 1 GB downloaded / day
  • 20,000 uploads / day
  • 50,000 downloads / day

Starting September 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 .

How do I upgrade to the Blaze pricing plan?

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 .

When do I need to upgrade to the Blaze pricing plan?

To use Cloud Storage for Firebase or to maintain access to your PROJECT_ID .appspot.com default bucket, you must upgrade to the pay-as-you-go Blaze pricing plan plan. This requirement went into effect starting February 03, 2026 .

To upgrade your project, link it with a Cloud Billing account . You can use the Firebase console workflow to upgrade your pricing plan .

What if I don't upgrade my project to the Blaze pricing plan?

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

  • If you have existing buckets and your project isn't on the Blaze pricing plan, the following happens:

    • You lose read/write access to all your Cloud Storage resources, including your default bucket.

    • You won't be able to view buckets or access their data in the Firebase console or the Google Cloud console.

    • Any data will remain in your buckets, but it will be inaccessible until you upgrade to the Blaze pricing plan.

If you have any questions, please reach out to Firebase Support .

What happens if my *.appspot.com default bucket's usage is over the no-cost usage level ?

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

Review the following FAQs for more details about these requirements. If you have any questions, please reach out to Firebase Support .

Will the name of my default bucket change?

No. When you upgrade to the Blaze pricing plan, the name of your default Cloud Storage bucket does not change.

  • If you created your default bucket before September 2024 , then your default bucket has 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 created your default bucket recently( after September 2024 ), then your default bucket has a name format of PROJECT_ID .firebasestorage.app .

What happens if I delete my *.appspot.com default bucket?

A deleted bucket is restorable using the Cloud Storage Buckets: restore API until its hard delete time has elapsed.

If you delete your PROJECT_ID .appspot.com default bucket, 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 follows Google Cloud Storage pricing and usage , which provides an "Always Free" tier for buckets in US-CENTRAL1 , US-EAST1 , and US-WEST1 .

Do I need to update my app's codebase?

No. You do not need to update your app's codebase.

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

As long as your project is on the pay-as-you-go Blaze pricing plan , your codebase will continue to interact with the PROJECT_ID .appspot.com default bucket as it always has.

Do I need to move my data out of my *.appspot.com default bucket?

No. 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 , you'll maintain access to your bucket and 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.

Review the following FAQs for more details about these requirements. If you have any questions, please reach out to Firebase Support .

What are the changes for using REST APIs?

The following changes apply to REST APIs that involve Cloud Storage for Firebase :

What are the changes for using Terraform?

The following changes apply 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. To get started, go to Databases & Storage> Storage in the Firebase console.

Additionally, note the following about *.firebasestorage.app default buckets (provisioned after September 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 is 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.

Review the following FAQs for more details about these requirements. If you have any questions, please reach out to Firebase Support .

What happened to the "location for default Google Cloud resources"?

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 September 2024 (with a name format of PROJECT_ID .appspot.com ) is associated with Google App Engine . This means the following:

    • The bucket's location sets the location of resources associated with Google App Engine (like the location of the default Cloud Firestore instance).
  • Any default Cloud Storage bucket provisioned after September 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 does not 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 does not set the location of your project's default Cloud Storage bucket.

    • The locations available for your default Cloud Storage bucket are the same locations available for Google Cloud Storage (rather than limited to those for Google App Engine ).

How do I set or get the location for a "default Google Cloud resource"?

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)

The concept of "default Google Cloud resources" doesn't apply to default Cloud Storage buckets with the name format of PROJECT_ID .firebasestorage.app , and these buckets are not associated with Google App Engine . To learn more, review the FAQ: What happened 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
Default Cloud Firestore instance

Note that if you have a legacy *.appspot.com default bucket (provisioned before September 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 have a legacy *.appspot.com default bucket (provisioned before September 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 .

Create a Mobile Website
View Site in Mobile | Classic
Share by: