ByteScope

Android Battery Health

Read the battery figures Android hides — design capacity, capacity today, cycle count, and a live panel of volts, amps, watts and degrees.

Everything is read over the USB cable by your own browser. No reading leaves this machine — there is no server behind this page.

Checking browser support…

What this page reads

Six sources, five of them optional. This is why two phones running the same Android version can show completely different amounts of detail here.

SourceWhat it isHow often it exists
/sys/class/power_supply/*/charge_fullThe capacity the fuel gauge currently measures for a full pack, in µAh. The numerator of the health percentage.Common on Qualcomm and Samsung devices, absent on plenty of others.
/sys/class/power_supply/*/charge_full_designThe capacity the pack was built with, in µAh. The denominator of the health percentage.Less common than charge_full; without it there is no percentage.
/sys/class/power_supply/*/cycle_countHow many full charge-discharge equivalents the gauge has counted over the pack's life.Rare. Android 14 added an official field, but exposing it is still up to the manufacturer.
/sys/class/power_supply/*/current_nowInstantaneous current in µA. The unit is fixed by the kernel's power-supply class; the sign is not, so direction is taken from the charging status instead.Usually present, and the reading this page prefers over the dump's.
/sys/class/power_supply/*/voltage_now, tempTerminal voltage in µV, and pack temperature in tenths of a degree Celsius.Almost always present, from one source or the other.
dumpsys batteryThe framework's own view: level, charging status, HAL health verdict, charge counter and chemistry.Always present, unless a work profile or policy blocks the dump.

Per-app battery drain (dumpsys batterystats) is not here yet — its checkin format is unstable enough across versions that a wrong ranking would be worse than none.

About this tool, FAQ and related tools

About this tool

Plug an Android phone into a Chromium browser over USB and this page reads the battery numbers the Settings app will not show you: the capacity the pack was built with, the capacity its fuel gauge measures today, how many charge cycles it has counted, and — once a second — voltage, current, the resulting wattage and the pack's own temperature. Nothing is uploaded. This page is a static file with no server behind it; the readings travel from the phone down the USB cable into this tab and stop existing when you close it.

Why Android has no battery health screen

iOS has shown a Battery Health percentage since iOS 11. Android never added the equivalent, and the reason is structural rather than an oversight: the numbers behind such a screen come from the fuel-gauge chip's driver, and the platform treats them as optional. charge_full, charge_full_design and cycle_count are attributes of the kernel's power-supply class that a driver *may* publish; a phone that publishes none of them is a perfectly conforming Android device. Google could not put a health percentage in Settings without it being blank on a large share of shipping hardware, so the framework's public API exposes level, status, temperature and voltage — and stops there. Android 14 finally added an official cycle-count field, and manufacturers are still free to leave it empty.

What charge_full actually measures

charge_full_design is a constant compiled into the driver: the capacity the cell was specified at, the same number printed on the pack. charge_full is not a constant — it is the fuel gauge's current estimate of how much charge the pack accepts between empty and full, which the gauge relearns as it watches full charge and discharge cycles. Divide the second by the first and you have every battery-health percentage ever shown by any app, including this one. That also explains its two characteristic behaviours: it can move by a point or two after a deep discharge (the gauge recalibrated, the battery did not change), and on some devices it can read above 100 % (the gauge relearned upward from a conservative design figure). Both are properties of the estimate, not of the cell, and this page labels them rather than smoothing them away.

Why two phones show different amounts of detail

Which attributes exist is decided by the fuel-gauge chip, its driver, and how much of that driver the manufacturer chose to expose to userspace. Qualcomm platforms and Samsung's own gauges typically publish the capacity pair; a number of MediaTek devices publish neither. Some vendors move the interesting attributes onto a node called bms or battery_ext instead of battery, which this page follows. Cycle counts are the rarest of the three by a wide margin. When something is missing, this page says which source was missing and why — it never falls back to an estimate, and it never prints 0 mAh or 0 % for a figure the device declined to report, because a fabricated zero is indistinguishable from a dead battery.

How to read the percentage, and how not to

Treat it as a coarse band, not a measurement. Above 80 % of design is normal for a phone in its first two or three years. Between 60 % and 80 % you will notice the shortfall, especially in cold weather and under sustained load. Below 60 % the phone will start shutting down under peak current — a camera flash, a cold morning — while the indicator still claims charge remains, which is the symptom that actually justifies a replacement. What the number cannot tell you is how long the battery will last from here: that depends on how you charge and how hot the phone gets, not on where the ratio sits today. And a single reading tells you nothing about trend; check it again in a month.

Heat is the variable you control

Lithium cells age from two things: cycles, and time spent hot and full. Cycles you cannot avoid, but temperature you largely can. The live panel flags 40 °C in orange and 45 °C in red for that reason — sustained charging above 45 °C measurably accelerates capacity loss, and it is the reason phones throttle charging when they get warm. Fast charging is less harmful than the heat it produces, so a phone charging in a case on a warm windowsill is doing more damage than the same charger on a cool desk. Watch the temperature trace here while you charge and you can see the difference the case alone makes. From here: the Web ADB hub has the whole device dashboard, the debloater removes preloaded apps that drain the pack in the background, and the storage analyzer handles the other thing everyone runs out of.

Frequently asked questions

How do I check the battery cycle count on Android?

Connect the phone over USB with USB debugging on and read the Cycle count field on this page. It comes from `/sys/class/power_supply/*/cycle_count` or, on Android 14 and later, from an official field in `dumpsys battery` — both optional, and the count is genuinely absent on many phones rather than hidden behind a setting. If this page says it is not provided, no app can show it either: an app on the phone reads the same file, without the shell access to try alternative nodes. Dialer codes like *#*#4636#*#* show a testing menu that has never included cycle count on stock Android.

What battery health percentage means I should replace the battery?

There is no threshold that means "replace", and be suspicious of any tool that gives you one. The percentage is `charge_full / charge_full_design`, a fuel-gauge estimate that drifts with recalibration. What justifies a replacement is behaviour: the phone shutting down at 20 % or 30 % under load, needing a charge before the day is out when it used to reach the evening, or getting noticeably hot doing what it always did. Most phones sit above 80 % for their first two years and reach 60–70 % after four. If you are at 85 % and the phone feels fine, the number is not telling you to do anything.

Why does my phone show no battery health, capacity or cycle count?

Because the manufacturer's fuel-gauge driver does not publish those attributes, which is allowed and common. `charge_full` and `charge_full_design` are optional entries in the kernel's power-supply class; a driver that omits them is conforming. It is not a permission problem, it is not something USB debugging unlocks, and no app or root shell can conjure the values — root lets you read more files, not files that were never created. If your phone provides the two capacity figures but no cycle count, that is the most common combination of all: the count is the rarest of the three.

How hot is too hot when charging?

Sustained operation above 45 °C is where capacity loss becomes measurable, and it is the temperature at which most phones start limiting charge current themselves. Brief excursions above 40 °C during fast charging are normal and not worth worrying about; an hour at 45 °C, every night, is what shortens a pack's life. The practical advice is dull and effective: take the case off while fast charging, keep the phone off the bed or the sofa where it cannot shed heat, and do not leave it charging in a car or in direct sun. This page's temperature reading is the pack's own thermistor, which is what matters — the outside of the phone is cooler than the cell inside it.

Do I need root to read these values?

No. Everything here comes from files and dumps that the ordinary ADB shell may read, which is why USB debugging is the only thing you have to turn on. Root would let you read a handful of additional vendor nodes on some devices, but it cannot create attributes a driver never published, so it does not turn a phone with no capacity figures into one that has them. It also does not need the platform-tools install: this page speaks the ADB protocol from the browser over WebUSB, so there is no `adb` to download — although a desktop `adb` server that is already running has to be stopped with `adb kill-server`, because only one program at a time can claim the interface.

Is this the same number iPhones show as Battery Health?

It is the same idea and not the same implementation. Apple also reports a maximum-capacity ratio, but it is computed by Apple's own battery-management firmware, which applies its own filtering and its own definition of a full charge. This page shows the ratio your phone's fuel gauge reports right now, unsmoothed, which is why it can wobble between readings and why it can exceed 100 % on devices whose gauge relearned upward. Comparing an Android figure with an iPhone figure to two decimal places is not meaningful; comparing either against itself over months is.