What is my battery level?

An empty card here is a browser protecting you, not a failure. The Battery Status API was withdrawn by Firefox and Safari because a battery level combined with a discharge estimate worked as a temporary identifier across sites, one that clearing cookies did nothing about. Chromium still exposes it.

Battery
Reading your browser...

Your battery level and charging state are shown above, where your browser supports the Battery Status API. When available, it reports the current charge as a percentage, whether you are plugged in, and rough estimates of time to full or empty.

This feature has a notable history: it was found to be usable for tracking, because the precise charge level and discharge timing could act as a short-lived identifier that followed you across sites for a few seconds. In response, several browsers removed or heavily restricted the API, which is why many browsers now report nothing here.

So an empty value above is a feature, not a fault. Firefox and Safari dropped the API for privacy reasons, and where it survives (mainly Chromium) the values are coarser than they once were.

How a website reads this

This is the exact call a page makes. Nothing else is involved, and nothing is sent anywhere: the value is read in your browser and displayed to you.

navigator.getBattery()

Resolves to an object with charge level, charging state and time estimates. Firefox and Safari removed it entirely after research showed the combination of level and discharge time acted as a short-lived identifier that survived clearing cookies and switching to private browsing.

Needs your permission
No, it is read silently
Can it be faked
No. Nothing to fake in the browsers that still expose it. The effective defence was removal, and two engines took it.
Contribution to a fingerprint
About 1 bits, our own estimate. Our estimate for the value as a static signal. Its real risk was never the snapshot but the trajectory: watched over minutes, a charge curve is close to unique, and that is what got the API removed. How we estimate this.

What each browser does with it

The same call does not give the same answer everywhere. Several browsers withhold, round or cap this value on purpose, so a blank or suspiciously round result is usually a privacy decision rather than a fault.

Per-browser behaviour for Battery
BrowserWhat it reports
Chrome, Edge and other Chromium browsersnavigator.getBattery() is available.
FirefoxRemoved. The card stays empty.
SafariNever shipped. The card stays empty.

What you should know

Why sites collect it

Legitimately, an app might defer heavy background work, dim animations, or prompt you to save when battery is low. In practice, few sites have a genuine need, which is part of why the API was curtailed.

Privacy implications

The Battery API is a cautionary tale in fingerprinting: precise level and timing gave trackers a temporary cross-site identifier. Browsers removing or coarsening it is a privacy win. If a site claims a precise battery percentage, be aware of why that used to be a problem.

How to change or hide it

You cannot expose battery data if your browser has removed the API, which is the private default in Firefox and Safari. In Chromium it may still report, with less precision. There is no per-site prompt because the value was deemed low-value and higher-risk.

Frequently asked questions

Why does my browser not show battery info?

Firefox and Safari removed the Battery Status API over tracking concerns. Where you see nothing, your browser is deliberately not sharing it.

How could battery level be used for tracking?

The exact charge level and discharge timing were distinctive enough to act as a brief identifier across sites, which is why browsers restricted the feature.

Sources

Browser behaviour changes and vendors cap these values differently, so the claims above that are not self-evident are checked against the specifications and vendor documentation below.

Last checked on . How these values are measured and estimated is set out on the methodology page.

Something wrong here? Tell us what your browser reports and it gets corrected.