AngularJS bindings for Firebase


Angular Core Dependency: ^1.3.0

Module License: MIT

Added by: Sam Deering





Stars: 2660

Watchers: 2660

Forks: 656



Module Description


Build Status Coverage Status Version

AngularFire is the officially supported AngularJS binding for Firebase. Firebase is a full backend so you don't need servers to build your Angular app.

AngularFire is a complement to the core Firebase client. It provides you with three Angular services:

  • $firebaseObject - synchronized objects
  • $firebaseArray - synchronized collections
  • $firebaseAuth - authentication, user management, routing

Downloading AngularFire

In order to use AngularFire in your project, you need to include the following files in your HTML:

<!-- AngularJS -->
<script src=""></script>

<!-- Firebase -->
<script src=""></script>

<!-- AngularFire -->
<script src=""></script>

Use the URL above to download both the minified and non-minified versions of AngularFire from the Firebase CDN. You can also download them from the releases page of this GitHub repository. Firebase and Angular can be downloaded directly from their respective websites.

You can also install AngularFire via npm and Bower and its dependencies will be downloaded automatically:

$ npm install angularfire --save
$ bower install angularfire --save

Once you've included AngularFire and its dependencies into your project, you will have access to the $firebase service.

You can also start hacking on AngularFire in a matter of seconds on Nitrous.IO:

Hack firebase/angularfire on

Getting Started with Firebase

AngularFire requires Firebase in order to sync data. You can sign up here for a free account.


The Firebase docs have a quickstart, guide, and full API reference for AngularFire.

We also have a tutorial to help you get started with AngularFire.

Join our Firebase + Angular Google Group to ask questions, provide feedback, and share apps you've built with AngularFire.


If you'd like to contribute to AngularFire, you'll need to run the following commands to get your environment set up:

$ git clone
$ cd angularfire            # go to the angularfire directory
$ npm install -g grunt-cli  # globally install grunt task runner
$ npm install -g bower      # globally install Bower package manager
$ npm install               # install local npm build / test dependencies
$ bower install             # install local JavaScript dependencies
$ grunt install             # install Selenium server for end-to-end tests
$ grunt watch               # watch for source file changes

grunt watch will watch for changes in the /src/ directory and lint, concatenate, and minify the source files when a change occurs. The output files - angularfire.js and angularfire.min.js - are written to the /dist/ directory. grunt watch will also re-run the unit tests every time you update any source files.

You can run the entire test suite via the command line using grunt test. To only run the unit tests, run grunt test:unit. To only run the end-to-end Protractor tests, run grunt test:e2e.

Module stats last updated: 2017-11-23 15:00:02

Disclaimer: Some data on this page may have been gathered from the authors GitHub respository. If you see any mistakes or outdated information please let us know. Thanks!