The pricing for Firebase Hosting is based upon your project's usage of the following:
Hosting storage (GB) — The amount of storage space required to store the content of your Hosting sites (your static files and your configuration files).
Data transfer (GB/month) — The amount of data transferred to end users from our CDN. Every Hosting site is automatically backed by our global CDN for free.
Your Hosting quota is project-level, not site-level. You can upgrade your project to the Blaze billing plan to unlock additional paid storage and data transfer levels. Learn more about quotas and pricing for Firebase Hosting.
We recommend setting up budget alerts for your project in the Google Cloud (GCP) console.
Monitor both your Hosting storage level and data transfer level in the Firebase console:
Visit the Usage tab in the Hosting section of the console.
You can view the usage levels for different billing periods as well as for all your Hosting sites or for each site.
Visit your project's Usage and billing dashboard in the console.
Understand Hosting storage
When you deploy new content to your site, you create a "release" that points to a specific version of content and configuration for your site. The files associated with each release (both new releases and any retained previous releases) are stored by Firebase. These files make up your project's Hosting storage usage level.
This Hosting storage is independent and unrelated to any other storage for your Firebase project (like Cloud Storage for Firebase or database storage).
Quota for Hosting storage
Storage for your Hosting content is free up to 10GB.
If you are not on the Blaze plan, and you reach the 10GB limit of free Hosting storage, you won't be able to deploy new content to your sites. You'll need to delete older releases or upgrade to the Blaze plan.
If you are on the Blaze plan, and you reach the 10GB limit of free Hosting storage, you'll be billed $0.026 for each additional GB of Hosting storage.
Control usage of Hosting storage
To control your Hosting storage usage, here are some things you can do:
Understand Hosting data transfer
When Hosting serves one of your site's resources, data transfers from our CDN to your end user. The requested resource might already be available in our CDN cache (a cache hit) or it might need to come from the Hosting backend (a cache miss). If the requested content can be cached in the CDN, it will be. Both cache hits and misses count toward your project's Hosting data transfer usage.
Quota for Hosting data transfer
Every Hosting site is automatically backed by our global CDN for free. Data transfer from the CDN to your end users is free up to 10GB/month.
If you are not on the Blaze plan, and you reach the 10GB/month limit of free data transfer, we offer a short grace period but then your sites will be disabled. Your sites will remain disabled until the start of the next month because data transfer billing is based on monthly usage levels. You can reenable your sites immediately by upgrading to the Blaze plan.
If you are on the Blaze plan, and you reach the 10GB/month limit of free data transfer, you'll be billed $0.15 for each additional GB of data transferred that month.
Control usage of Hosting data transfer
To control your Hosting data transfer usage, here are some things you can do:
Fine-tune the client-side caching of your content so that browsers don't need to request a resource from the CDN. Learn more about caching in the web developer documentation.
Avoid loading images and videos that you don't actually need to display.
Create service workers to handle certain requests.
If you load Firebase SDKs via reserved Hosting URLs, make sure to read important information about the reserved namespace for these URLs.
Here are some resources to help you set up service workers, especially with a PWA: