Overview

Firebase Extensions help you reduce time spent on development, maintenance, and growth of your app.

When you find a Firebase Extension that solves a need for your app or project, all you do is install and configure the extension. If you need multiple configurations of the extension, you can install the extension multiple times, with a different configuration for each instance you install.

With extensions, you don't spend time researching, writing, and debugging the code that implements functionality or automates a task for your app or project.

To install or manage extensions, you must be assigned one of these roles: Owner or Editor or Firebase Admin.

To install an extension, your project must be on the Blaze (pay as you go) plan. Although there is no charge for installing an extension, you might be charged for your use of Firebase services or Cloud services such as Cloud Secret Manager, if your usage exceeds the services' free tier.

You can also evaluate extensions before installing them on a project using the Extensions emulator, a component of the Firebase Local Emulator Suite.

Official Firebase extensions

The official Firebase extensions are developed and tested by Firebase and Firebase Extensions partner services. These extensions are reliable and secure.

Browse official Firebase extensions

Browse official Firebase extensions in the Extensions Hub.

Early access partner extensions

Early access partner extensions are developed by participants in the extension publishers’ early access program. They are not built or tested by Google. Early access partner extensions are provided "AS IS" without any warranty, express or implied, from Google. Google disclaims all liability for any damages, direct or indirect, resulting from the use of the extension.

To learn more about publishing your own extension, sign up for the extension publishers’ early access program.

View the source code of an extension

To find a link to the source code for one the official Firebase extensions, click Learn more on the extension's card in the Extensions Hub.

To find a link to the source code for an early access partner extension, start the installation flow using either the extension's console installation link or with the CLI's ext:install command. The link to the source code is displayed along with other information about the extension. You can cancel installation if you just want to examine the source.

Contents of an extension's source code

An extension's source directory includes:

  • extension.yaml file — Contains the extension's metadata and defines the resources created, the Google APIs and access roles required for operation, and any user-configured parameters (environment variables) for the extension

  • functions directory — Contains the files for the source code for the extension

  • README file — Lists the extension's metadata (but in more human-readable format) as well as the content from the PREINSTALL file

  • PREINSTALL file — Describes how the extension works, any necessary pre-installation tasks, configuration requirements, and details about the extension

  • POSTINSTALL file — Describes specific usage instructions and any further integration requirements

Resources for an extension

Every Firebase project contains several types of "resources". Project resources can include things like deployed Cloud Functions, database instances, Cloud Storage buckets, Cloud Scheduler jobs, and Cloud Secret Manager data.

When you install an extension, Firebase creates new extension-instance-specific resources in your project. These resources are required by the extension to operate.

Note that, if you uninstall an instance of an extension, all the resources that Firebase created specifically for that instance of the extension to operate (like a set of functions) are deleted. However, the following are not deleted:

  • Any artifacts created by the extension (like stored images).

  • Any other resources in your project, like a database instance or Cloud Storage bucket. Even if the extension interacted with these other resources, they are not extension-specific, so they aren't deleted if the extension is uninstalled.

Using the Firebase console or the Firebase CLI

You can install and manage any of the official Firebase extensions using either the Firebase console or the Firebase CLI.

Action Firebase console Firebase CLI
View detailed information (pre-installation)
Install
View configuration (post-installation)
Edit configuration
Update version
Uninstall

Next Steps