This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The getBattery() method provides information about the system's battery. It returns a battery promise, which is resolved in a BatteryManager object providing also some new events you can handle to monitor the battery status. This implements the Battery Status API; see that documentation for additional details, a guide to using the API, and sample code.

Note: In some browsers access to this feature is controlled by Feature-Policy directive battery.


var batteryPromise = navigator.getBattery();

Return value

A Promise which, when resolved, calls its fulfillment handler with a single parameter: a BatteryManager object which you can use to get information about the battery's state.


This method doesn't throw true exceptions; instead, it rejects the returned promise, passing into it a DOMException whose name is one of the following:

The User Agent does not expose battery information to insecure contexts and this method was called from insecure context.
Note: Old versions of some User Agents might allow use of this feature in insecure contexts.
Note: No User Agent currently throws this exception, but the specification describes the following behaviors:
This document is not allowed to use this feature. For example, it might not be explicitly allowed or restricted via Feature-Policy battery feature.


This example fetches the current charging state of the battery and establishes a handler for the chargingchange event, so that the charging state is recorded whenever it changes.

let batteryIsCharging = false;

navigator.getBattery().then(function(battery) {
  batteryIsCharging = battery.charging;

  battery.addEventListener('chargingchange', function() {
    batteryIsCharging = battery.charging;

For more examples and details, see Battery Status API.


Specification Status Comment
Battery Status API
The definition of 'Navigator.getBattery()' in that specification.
Candidate Recommendation Initial definition

Browser compatibility

BCD tables only load in the browser

See also