Home Blog Battery Health on Linux
Battery Guide 7 min read · Updated May 2026

How to Check Battery Health on Linux

Linux exposes more raw battery data than any other OS — directly through the /sys filesystem, via upower, and through acpi. This guide covers every method, works across Ubuntu, Fedora, Arch, Debian, and all major distros, and includes a free browser battery test that requires no terminal at all.

No Terminal Needed

Check your Linux laptop battery in the browser

Open our free Battery Test tool in Chrome on your Linux laptop. It instantly shows your battery level, charging status, estimated time to full charge, and estimated time until empty — read live from Linux via the browser Battery Status API. No terminal, no packages to install.

Open Battery Test

The browser tool works in Chrome and Chromium-based browsers on Linux. Firefox on Linux has removed the Battery Status API (as of Firefox 69), so use Chrome or Chromium for the best results. For a complete battery health picture — full charge capacity, design capacity, cycle count, and health percentage — use the terminal methods below.

Check Battery Health with upower

upower is the standard power management daemon on most Linux distributions and the recommended tool for battery health checking. It is pre-installed on Ubuntu, Fedora, and most GNOME/KDE desktops.

List all power devices (find your battery name)

upower -e

Full battery report — health, capacity, charge, voltage, technology

upower -i $(upower -e | grep -i battery)

Monitor live battery changes (updates in real time as battery state changes)

upower --monitor-detail

The upower -i output includes several important fields:

Field What it means
energy Current battery charge in Wh (watt-hours).
energy-full Current maximum capacity — how much energy the battery holds today at 100%.
energy-full-design Factory-rated maximum capacity when the battery was new.
capacity Battery health as a percentage: energy-full / energy-full-design × 100. This is the key health metric.
state Current status: charging, discharging, fully-charged, or pending-charge.
time to empty Estimated time until the battery is fully discharged based on current power draw.
technology Battery chemistry — almost always lithium-ion (Li-ion) on modern laptops.

Install upower if not present: sudo apt install upower (Ubuntu/Debian), sudo dnf install upower (Fedora), sudo pacman -S upower (Arch).

Check Battery Status with acpi

acpi is a lightweight alternative to upower for quick battery status checks. It is especially useful on minimal installations.

Basic battery status — level, charging state, time remaining

acpi -b

Battery with temperature

acpi -bt

All ACPI information — battery, AC adapter, thermal zones

acpi -V

Install acpi: sudo apt install acpi (Ubuntu/Debian), sudo dnf install acpi (Fedora), sudo pacman -S acpi (Arch).

Read Raw Battery Data from /sys

Linux exposes all battery data as plain text files under /sys/class/power_supply/. This is the most direct method — no utilities needed, works on any Linux system.

List available power supply devices

ls /sys/class/power_supply/

Read all battery attributes at once (replace BAT0 with your device name)

cat /sys/class/power_supply/BAT0/uevent

Current capacity percentage

cat /sys/class/power_supply/BAT0/capacity

Current full charge capacity (in µWh)

cat /sys/class/power_supply/BAT0/energy_full

Design (factory) capacity (in µWh)

cat /sys/class/power_supply/BAT0/energy_full_design

Calculate battery health percentage

echo "scale=1; $(cat /sys/class/power_supply/BAT0/energy_full) * 100 / $(cat /sys/class/power_supply/BAT0/energy_full_design)" | bc

Charging status (Charging / Discharging / Full / Unknown)

cat /sys/class/power_supply/BAT0/status

Battery cycle count (if supported by firmware)

cat /sys/class/power_supply/BAT0/cycle_count

Note: some laptops expose the battery under BAT1 instead of BAT0. Run ls /sys/class/power_supply/ first to confirm the correct name. Some firmware does not report cycle count, in which case cycle_count will return 0.

GUI Tools for Linux Battery Health

GNOME Power Statistics

On GNOME desktops (Ubuntu, Fedora Workstation), search for Power Statistics in the application menu. It shows a graphical battery history, current charge, energy rate, and technology — all without opening a terminal. Install via: sudo apt install gnome-power-manager.

KDE Energy Information (Plasma)

On KDE Plasma, go to System Settings → Energy Saving for battery profiles, or right-click the battery icon in the system tray for current charge and estimated time remaining. The KInfoCenter app (search in KRunner) shows detailed hardware info including battery capacity.

tlp-stat (ThinkPad and General)

TLP is the most popular Linux battery management tool. If installed, run sudo tlp-stat -b for a complete battery report including design energy, full charge energy, cycle count, health percentage, and power draw. Install with: sudo apt install tlp or sudo dnf install tlp.

Check your live battery level without the terminal

Our Battery Test tool shows your current battery percentage, charging state, and estimated time remaining — live in Chrome or Chromium on Linux. No packages to install, no terminal needed.

Frequently Asked Questions

How do I check battery health percentage on Ubuntu?

Run upower -i $(upower -e | grep -i battery) in Terminal. Look for the capacity field — that is the battery health percentage. Alternatively, calculate it manually: cat /sys/class/power_supply/BAT0/energy_full divided by energy_full_design, multiplied by 100. You can also use our Battery Test tool in Chrome for a live reading without any terminal.

Why does /sys/class/power_supply/BAT0/cycle_count return 0?

Many laptop manufacturers do not expose cycle count through the standard Linux ACPI interface, so the kernel reports 0 as a fallback. This does not mean the battery has 0 cycles — it means the firmware does not provide this data to the OS. In these cases, use upower or tlp-stat -b which may be able to retrieve it from alternative interfaces on some hardware.

Does TLP actually improve Linux battery life?

Yes, for most laptops. TLP applies a comprehensive set of power-saving tweaks including CPU frequency scaling, disk write-back caching, PCIe ASPM, Wi-Fi power saving, and USB autosuspend. On ThinkPads specifically, it also sets battery charge thresholds — for example, starting charge at 75% and stopping at 80% — which significantly reduces battery wear over time. Install with sudo apt install tlp tlp-rdw and it runs automatically in the background.

Does the browser battery test work on Linux?

Yes — our Battery Test tool works in Chrome and Chromium on Linux. Firefox removed the Battery Status API in 2019. Brave may block or fake the values. For a full battery health report including design capacity, current capacity, and health percentage, the upower command remains the most reliable option.