Skip to content
BatteryLens icon

BatteryLens

Requires macOS 26 or later

BatteryLens shows the battery of everything around your Mac, in the menu bar and on your desktop: the Mac itself, AirPods, Bluetooth and Logitech mice and keyboards, game controllers, and even keyboards that never report a level, which it estimates from how much you use them.

Free. Signed and notarized by Apple.

Now in beta. Tell us on GitHub about a device it doesn't show yet.

Every battery in one place

Apple's Batteries widget knows Apple devices and a few others. BatteryLens reads every source macOS offers: the power source list, the Bluetooth battery level many accessories report, Logitech devices through their own protocol, keyboards and mice that send their level along with their input, game controllers, and System Information, which keeps AirPods levels after they disconnect.

The menu bar icon shows the lowest battery, or one device you choose. Click it for every device with its level, whether it is charging, and how long it should last. A device that disconnects stays in the list, dimmed, with its last-known level and how long ago that was.

The BatteryLens widget as bars

The bars widget, large: time left beside each device, the estimated keyboard with its Mark charged button, and a trackpad running low.

A widget, your way

Add BatteryLens to your desktop or Notification Center in small, medium, large or extra large. Each widget shows rings, like Apple's, or bars with numbers, for every connected device or just the ones you pick, and can include switched-off devices with their last-known level. Earbuds show each bud and the case.

The widget updates when a level moves by 5%, a device connects or starts charging, or a battery crosses its low level, so it stays current without spending the refreshes macOS allows on changes you would never notice.

The BatteryLens widget as rings

The rings widget, medium: earbuds get a second ring for their case, and a charging controller shows a bolt.

Even for keyboards that report nothing

Some keyboards never tell the Mac their battery level. Mark one as charged, from Settings or the widget, and BatteryLens counts the minutes you use it, never what you type, and estimates what is left. Each time it runs flat, one click teaches BatteryLens how long a charge really lasts.

Move the keyboard between Macs and the estimate keeps up: every Mac running BatteryLens adds its use through iCloud Drive. For a keyboard you also use with an iPad or another computer, turn off Report this device and BatteryLens leaves it out.

History, time left and alerts

Settings shows a chart of each battery over the last day, week or month, with charging shaded. From that history BatteryLens works out when a battery will run out or finish charging, and shows it in the menu, the widget and Settings.

Set a low-battery level for each device and get a notification once per discharge, plus an optional one when a battery is fully charged. Click a notification to go straight to that device.

BatteryLens Settings with a battery history chart

Settings, Devices: a week of a mouse battery, with a charge in the middle and the time it has left.

What it does

Menu bar

The lowest battery at a glance, and every device one click away.

Desktop widget

Rings or bars in four sizes, for all your devices or the ones you pick.

More devices

Logitech, Bluetooth LE, HID battery reports, game controllers, and AirPods after they disconnect.

Estimates

A level for keyboards that never report one, learned from how you use them.

History

A chart of each battery over a day, a week or a month.

Time left

When each battery runs out or finishes charging.

Alerts

Low battery once per discharge, at a level you set per device, and fully charged if you like.

Per-device settings

Rename, hide, set the low level, stop reporting, or forget a device.

Sync

Settings and keyboard use follow you to every Mac through iCloud Drive.

Automation

batterylens:// links for Shortcuts, scripts and ToolHUD.

Your Mac, your way

Show it in the menu bar, the Dock, both or neither, choose System, Light or Dark, and open it at login.

Getting started

Open the downloaded disk image and drag BatteryLens to Applications. Open it, and its icon appears in the menu bar, with a short setup that explains the permissions. All are optional: Bluetooth and Input Monitoring let it read more devices, and Notifications are for alerts. BatteryLens never reads what you type.

To add the widget, right-click the desktop, choose Edit Widgets and search for BatteryLens. Right-click a placed widget and choose Edit to pick rings or bars and which devices it shows.

Updates

BatteryLens checks for a new release once a day, or on a schedule you set in Settings, from every hour to once a year. You also choose what happens: Ask me first, where a notification and the menu offer it and nothing installs until you click, or Install automatically, where it waits until no app is presenting or keeping the screen awake and your Mac has been idle for 2 minutes. Each download must be signed by the same developer and notarized by Apple before it is installed, and your settings carry over.

All apps

Under the hood

BatteryLens is a native Mac app written in Swift, with a WidgetKit widget. It reads levels from IOKit power sources and HID devices, Core Bluetooth, Logitech's HID++ protocol and the Game Controller framework, merges what each source sees into one list, and keeps history and estimates on your Mac. Nothing leaves your Mac except your settings and keyboard use, to your own iCloud Drive.

Source code and release notes on GitHub