Understand Firebase projects Stay organized with collections Save and categorize content based on your preferences.
This page offers brief overviews of several important concepts about Firebaseprojects. When available, follow the links to find more detailed informationabout features, services, tooling, and best practices.
Relationship between Firebase projects, apps, and products
A Firebase project is the top-level entity for Firebase. In a project, you canregister your Apple, Android, or web apps. After you register your apps withFirebase, you can add the Firebase SDKs for any number ofFirebase products, likeAnalytics,Cloud Firestore,Performance Monitoring, orRemote Config.
Learn more detailed information about this process in the Getting Startedguide for your platform:
iOS+ |Android |web |Unity |C++ |Flutter.
Understanding the hierarchy of Firebase projects
This diagram shows the basic hierarchy of a Firebase project. Here are the keyrelationships:
AFirebase project is like a container for all your apps and any resourcesand services provisioned for the project.
A Firebase project can have one or moreFirebase Apps registered to it(for example, both the iOS and Android versions of an app, or both the freeand paid versions of an app).
All Firebase Apps registered to the same Firebase projectshare and haveaccess to all the same resources and services provisioned for the project.Here are some examples:
All the Firebase Apps registered to the same Firebase project share the samebackends, likeFirebase Hosting,Authentication,Realtime Database,Cloud Firestore,Cloud Storage, andCloud Functions.
All Firebase Apps registered to the same Firebase project are associatedwith the same Google Analytics property, where each Firebase App is aseparate data stream in that property.
Relationship between Firebase projects andGoogle Cloud
When you create a new Firebase project, you're actually creating aGoogle Cloud project behind the scenes. You can even create aGoogle Cloud project first,then add Firebase to the project later. You can think of aGoogle Cloud projectas a virtual container for data, code, configuration, and services.
Key Point: A Firebase project is actually just aGoogle Cloud project that hasadditionalFirebase-specific configurations and services enabled for it.Note that for all Firebase projects, Firebase automatically adds a label offirebase:enabled within theLabels page for your project in theGoogle Cloud console. Learn more about this label inourFAQ.
Since a Firebase projectis aGoogle Cloud project:
You can access and interact with the project in theFirebase consoleas well as in theGoogle Cloud console andGoogle APIs console.
You can interact with the project using theFirebase CLI, thegcloud CLI,and any Terraform resource from Google.
You can use products and APIs from both Firebase andGoogle Cloud in theproject.
IAM permissions and roles for the project areshared across Firebase andGoogle Cloud. Any access a project member (that is,a principal) has to yourGoogle Cloud project will also apply to your Firebaseproject (and vice-versa).
Billing for the project is shared across Firebase andGoogle Cloud. If billing is enabled on yourGoogle Cloud project, then yourFirebase project will be on Firebase's pay-as-you-go Blaze pricing plan.
Unique identifiers for the project (likeproject number andproject ID)are shared across Firebase andGoogle Cloud.
Anyresource hierarchy applied to yourGoogle Cloud project (for example, organization, folders,etc.) will also apply to your Firebase project.
Deleting the project deletes it across Firebase andGoogle Cloud.
Deleting or modifying a resource or data within the project applies acrossFirebase andGoogle Cloud.
Setting up a Firebase project and registering apps
You can set up a Firebase project and register apps in theFirebase console(or, for advanced use cases, using theFirebase Management REST API or theFirebase CLI). When you set up a projectand register apps, you need to make some organizational decisions and addFirebase-specific configuration information to your local projects.
For production apps, you need to set up a clear development workflow,which usually involves using multiple environments. Review our documentation ondeveloper workflows,includinggeneral best practicesandgeneral security guidelinesfor setting up Firebase projects and registering apps to create your developmentworkflow.
Interacting with a Firebase project
Besides the product SDKs, you can directly interact with a Firebase projectusing several different tools and interfaces.
Firebase console
TheFirebase console offers the richest environment for managing Firebaseproducts, apps, and project-level settings.
The left-side panel of the console lists the Firebase products, organized bytop-level categories. At the top of the left-side panel, access a project'ssettings by clicking. A project'ssettings includeintegrations,access permissions,andbilling.
The middle of the console displays buttons that launch setup workflows toregister various types of apps. After you start using Firebase, the main area ofthe console changes into a dashboard that displays stats on the products youuse.
Note that since a Firebase project is also aGoogle Cloud project, you mightfind that various tasks or products require you to use theGoogle Cloud console instead of theFirebase console.
Firebase CLI (a command line tool)
Firebase also offers theFirebase CLI for configuring andmanaging specific Firebase products, likeFirebase Hosting,Cloud Functions for Firebase, andFirebase Extensions.
After installing the CLI, you have access to theglobalfirebase command. Use the CLI tolink your local app directory to aFirebase project, thendeploy new versions of Firebase-hosted content orupdates to functions.
Firebase Management REST API
Using theFirebase Management REST API, you canprogrammatically manage a Firebase project. For example, you canprogrammatically register an app with a project or list the apps that arealready registered(iOS+|Android|web).
Firebase project identifiers
A Firebase project can be identified in the Firebase backend and in variousdeveloper interfaces using different identifiers, including theproject name,theproject number, and theproject ID.
Key Point: Theproject number and theproject ID are the trulyunique identifiers for a projectacross all of Firebase andGoogle Cloud.The project name
When you create a project, you provide aproject name. This identifier istheinternal-only name for a project in theFirebase console, theGoogle Cloud console,and theFirebase CLI. The project name is not exposed in anypublicly visible Firebase orGoogle Cloud product, service, or resource; itsimply serves to help you more easily distinguish among multiple projects.
You can edit a project name at any time in theProjectsettings of theFirebase console. The project name is displayed in the top pane.
The project number
A Firebase project (and itsassociatedGoogle Cloud project) has aproject number. This is the Google-assigned globally unique canonicalidentifier for the project. Use this identifier when configuring integrationsand/or making API calls to Firebase, Google, or third-party services.
You cannot edit a project number. If you delete a project, the project number isalso deleted and can never be used again by any other project.
Find the project number
Find your Firebase project'sproject number using one of these options:
Using theFirebase console: ClickProjectsettings. Theproject number is displayed in the top pane.
Using theFirebase CLI: Run
firebase projects:list. The projectnumber is displayed along with all the Firebase projects associated with youraccount.Using the Firebase Management REST API: Call
projects.list.The response body contains the project number in theFirebaseProjectobject.
API calls and the project number
For many API calls, you need to include a unique identifier for a project.Although many APIs accept theproject ID, it's recommended thatyou use theproject number for making API calls to Firebase, Google, orthird-party services.
Learn more about using project identifiers, especially the project number, inGoogle'sAIP 2510 standard.
The project ID
A Firebase project (and itsassociatedGoogle Cloud project) has aproject ID. This is a user-defined unique identifier for the project acrossall of Firebase andGoogle Cloud. When you create a Firebase project, Firebaseautomatically assigns a unique ID to the project, but you can edit it duringproject setup. This identifier should generally be treated as a conveniencealias to reference the project.
After Firebase provisions resources for a Firebase project, you cannot change its project ID. If you delete a project, the project ID is also deleted and can never be used again by any other project. Find the project ID
Find your Firebase project'sproject ID using one of these options:
Using theFirebase console: ClickProjectsettings. Theproject ID is displayed in the top pane.
Using theFirebase CLI: Run
firebase projects:list. The project IDis displayed along with all the Firebase projects associated with youraccount.Using the Firebase Management REST API: Call
projects.list.The response body contains the project ID in theFirebaseProjectobject.
Firebase resources and the project ID
The project ID displays in publicly visible Firebase resources, for example:
- DefaultHosting subdomain —
PROJECT_ID.web.appandPROJECT_ID.firebaseapp.com - DefaultRealtime Database URL —
orPROJECT_ID-default-rtdb.firebaseio.comPROJECT_ID-default-rtdb.REGION_CODE.firebasedatabase.app - DefaultCloud Storage bucket name —
PROJECT_ID.appspot.com
For all of the aforementioned resources, you can create non-default instances.The publicly visible names of non-defaults are fully-customizable. You canconnect custom domains to a Firebase-hosted site,shard theRealtime Database, andcreate multipleCloud Storage buckets (visit theplatform-specific Get Started page).
After Firebase provisions resources for a Firebase project, you cannot change its project ID. To use a specific identifier for Firebase resources, you must edit the project ID during the initial creation of the project. TheFirebase CLI and the project ID
For some use cases, you might have multiple Firebase projects associated withthe same local app directory. In these situations, when you use theFirebase CLI, you need to pass the--project flag with thefirebase commands to communicate which Firebase project you want to interactwith.
You can also set up aproject alias for eachFirebase project so that you don't have to remember project IDs.
API calls and the project ID
For many API calls, you need to include a unique identifier for a project.Although many APIs accept the project ID, it's recommended that you use theproject number for making API calls to Firebase, Google,or third-party services.
Learn more about using project identifiers, especially the project number, inGoogle'sAIP 2510 standard.
Firebase config files and objects
When you register an app with a Firebase project, theFirebase consoleprovides a Firebase configuration file (Apple/Android apps) or a configurationobject (web apps) that you add directly to your local app directory.
- For Apple apps, you add a
GoogleService-Info.plistconfiguration file. - For Android apps, you add a
google-services.jsonconfiguration file. - For web apps, you add a Firebase configuration object.
At any time, you canobtain an app's Firebase config file or object.
Note: For Flutter apps, you have the option of using a cross-platform Firebaseconfig file calledfirebase_options.dart.If your Flutter apps use this file, you can keep it up-to-date by running
flutterfire configure from your Flutter project directory.You can obtain the current config values that Firebase has for yourFirebase-registered Flutter apps by running
flutterfire configure --out=my_options.dart .A Firebase config file or object associates an app with a specific Firebaseproject and its resources (databases, storage buckets, etc.). The configurationincludes "Firebase options", which are parameters required by Firebase andGoogle services to communicate with Firebase server APIs and to associate clientdata with the Firebase project and Firebase app. Here are the required, minimum"Firebase options":
API key: a simpleencrypted string used when calling certain APIs that don't need to accessprivate user data (example value:
AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)Project ID: a user-definedunique identifier for the project across all of Firebase andGoogle Cloud.This identifier may appear in URLs or names for some Firebase resources, butit should generally be treated as a convenience alias to reference theproject. (example value:
myapp-project-123)Application ID ("AppID"): the unique identifier for the Firebase appacross all of Firebase with a platform-specific format:
- Firebase Apple apps:
GOOGLE_APP_ID(example value:1:1234567890:ios:321abc456def7890)
This isnot an Apple bundle ID. - Firebase Android apps:
mobilesdk_app_id(example value:1:1234567890:android:321abc456def7890)
This isnot an Android package name or Android application ID. - Firebase Web apps:
appId(example value:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)
- Firebase Apple apps:
The content of the Firebase config file or object is considered public,including the app's platform-specific ID (Apple bundle ID or Android package name)and the Firebase project-specific values, like the API Key, project ID,Realtime Database URL, andCloud Storage bucket name. Given this,useFirebase Security Rules to protect your data and files inRealtime Database,Cloud Firestore,andCloud Storage.
For open source projects, we generally do not recommend including the app'sFirebase config file or object in source control because, in most cases, yourusers should create their own Firebase projects and point their apps to theirown Firebase resources (via their own Firebase config file or object).
General limits for Firebase projects, apps, and sites
Important: Make sure to read ourgeneral best practicesfor setting up Firebase projects. This guide answers questions about Firebaseproject hierarchy, how to register your app variants, and multi-tenancy.Here are some general limits for Firebase projects, apps, and sites:
Number of projects per Google Account (email address)
- Spark pricing plan: Project-creation quota is limited to a small number of projects (usually around 5-10).
- Blaze pricing plan: Project-creation quota is still limited, but it may increase with the linking of aCloud Billing account in good standing.
Note the following about the limit on project-creation quota:
- This limit isnot specific to Firebase. Firebase's limits on project quotaare the same as those forGoogle Cloud.
- In the rare case that's it's needed, you canrequest an increase in project quota.
- The complete deletion of a project requires 30 days and counts toward project quota until the project is fully deleted.
Learn about Firebase's recommendedgeneral best practices for setting up Firebase projects.
Number of apps per project
Firebase restricts the total number of Firebase Apps within a Firebase projectto 30.
You should ensure that all Firebase Apps within a single Firebase project areplatform variants of the same application from an end-user perspective. Readmore aboutmulti-tenancyin our best practices docs.
Learn more about thelimit on apps per project in the FAQ.
Number ofHosting sites per project
TheFirebase Hosting multisite featuresupports a maximum of 36 sites per project.
Launching your app
- Set upbudgetalertsfor your project in theGoogle Cloud console.
- Monitor theUsage and billingdashboard in theFirebase console to get an overall picture of your project'susage across multiple Firebase services.
- Review theFirebase launch checklist.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-05 UTC.