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.
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.
| Browser | What it reports |
|---|---|
| Chrome, Edge and other Chromium browsers | navigator.getBattery() is available. |
| Firefox | Removed. The card stays empty. |
| Safari | Never 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.