Performance

How to Check MacBook Battery Health and Cycle Count

Published Nov 2, 2026
Tested on a real Mac. Ran system_profiler, pmset -g batt, pmset -g rawbatt and ioreg on a MacBook Air M3 with macOS Tahoe 26.6.2; charge-limit and Optimized Charging text was read from the system's Battery settings strings, and no power settings were changed. Test machine: MacBook Air (M3, 16 GB), macOS Tahoe 26.6.2, zsh 5.9.
On this page
  1. Method 1: System Settings
  2. Method 2: Terminal with system_profiler
  3. Method 3: pmset for a quick status
  4. Method 4: ioreg for the raw battery data
  5. How to slow down battery aging
  6. Common questions

To check your MacBook’s battery health, open System Settings > Battery and click the (i) next to Battery Health. For the cycle count too, run this in Terminal:

system_profiler SPPowerDataType | grep -E "Cycle Count|Condition|Maximum Capacity"
          Cycle Count: 89
          Condition: Normal
          Maximum Capacity: 95%

That is my MacBook Air M3: 89 cycles, Normal condition, 95% of its original capacity. Below is what each number means, a one-line command that shows Apple’s cycle rating, and why the raw battery data says something a little different.

Method 1: System Settings

  1. Open System Settings.
  2. Click Battery in the sidebar.
  3. Click the (i) button next to Battery Health.

You will see Battery Condition (Normal or Service Recommended) and Maximum Capacity. The panel describes Maximum Capacity as battery capacity relative to when it was new. Lower capacity means fewer hours between charges.

The cycle count is not in this panel. I searched the Battery settings’ text strings on macOS 26.6.2 and found no mention of cycles. Use Terminal or System Information for it.

Method 2: Terminal with system_profiler

The command above is the fastest way to get all three values. It took 0.15 seconds on my Mac. The same data is in the System Information app (hold Option, click the Apple menu, choose System Information, then Power).

The full output includes more detail:

system_profiler SPPowerDataType
Power:

    Battery Information:

      Model Information:
          Serial Number: (redacted)
          Device Name: bq40z651
          Firmware Version: 0b00
          Hardware Revision: 100
          Cell Revision: 0d17
      Charge Information:
          The battery’s charge is below the warning level: No
          Fully Charged: No
          Charging: No
          State of Charge (%): 97
      Health Information:
          Cycle Count: 89
          Condition: Normal
          Maximum Capacity: 95%

(Shortened. The battery serial number is removed.)

What the three numbers mean

FieldMy valueWhat it means
Cycle Count89One cycle is 100% of capacity used, in total. Two half-discharges count as one cycle.
ConditionNormalThe other value is Service Recommended.
Maximum Capacity95%Capacity now, compared with new.

Apple publishes a rating of 1,000 cycles for modern MacBook batteries. Apple says batteries are designed to retain up to 80% of their original capacity at that count. It is not a hard cut-off. My battery agrees: it reports a design rating of 1000 itself (see Method 4).

Method 3: pmset for a quick status

pmset -g batt
Now drawing from 'Battery Power'
 -InternalBattery-0 (id=34930787)	97%; discharging; 8:38 remaining present: true

This shows charge level and time left, not health. The time estimate is jumpy. Within the same minute, my Mac reported 8:38, 6:29 and 8:28.

Tested shortcut: cycles and the rating in one line

pmset has a less known subcommand:

pmset -g rawbatt
11/02/2026 17:37:55
 No AC; Not Charging; 97%; Cap=97: FCC=100; Design=5760; Time=6:29; -795mA; Cycles=89/1000; Location=0;

Cycles=89/1000 gives you the current count and the design rating side by side. Design=5760 is the original capacity in mAh.

Method 4: ioreg for the raw battery data

ioreg reads the battery controller directly:

ioreg -rn AppleSmartBattery | grep -E '"(CycleCount|DesignCycleCount9C|DesignCapacity|MaxCapacity|AppleRawMaxCapacity|NominalChargeCapacity)" ='
      "NominalChargeCapacity" = 5350
      "DesignCycleCount9C" = 1000
      "MaxCapacity" = 100
      "DesignCapacity" = 5760
      "CycleCount" = 89
      "AppleRawMaxCapacity" = 5206

Gotcha: the common grep pattern returns junk

Many guides use a loose pattern like grep -E "CycleCount|DesignCapacity|MaxCapacity|AppleRawMaxCapacity". On my Mac that also matched three huge lines (BatteryData, IOReportLegend and FedDetails), each hundreds of characters of nested data, because those words appear inside them. Matching the quoted key followed by =, as above, returns only the clean values.

Gotcha: MaxCapacity is not in mAh on Apple Silicon

"MaxCapacity" = 100 looks like the battery is perfect. On this Mac, MaxCapacity and CurrentCapacity are on a 0–100 percent scale (CurrentCapacity was 97, matching the 97% charge). They are not mAh. Older guides that divide MaxCapacity by DesignCapacity get 100 ÷ 5760, which is meaningless. Use AppleRawMaxCapacity instead:

CalculationResult
AppleRawMaxCapacity ÷ DesignCapacity = 5206 ÷ 5760about 90%
NominalChargeCapacity ÷ DesignCapacity = 5350 ÷ 5760about 93%
Apple’s “Maximum Capacity”95%

Three answers for one battery. The raw figures are a few points lower than Apple’s number, which is calculated its own way. For warranty and service decisions, Apple’s Maximum Capacity and Condition are the numbers that count. The raw values are useful for tracking a trend over months on the same Mac.

DesignCycleCount9C = 1000 is the battery’s own copy of Apple’s 1,000-cycle rating.

How to slow down battery aging

Optimized Battery Charging. macOS learns your routine and waits to finish charging past 80% until you need the Mac. It is on by default. You will find it in the same Battery Health (i) panel.

Charge limit. The Battery settings on my Mac (macOS Tahoe 26.6.2) include charge-limit text such as “Your Mac will charge to %@ limit” and “Keeping your charge limit below %@ helps preserve your battery lifespan over time.” I confirmed these strings in the system’s Battery settings files rather than changing the setting. One detail stood out: macOS warns that your Mac “will occasionally charge to” full even with a lower limit set. That keeps the battery’s charge gauge accurate, so an occasional 100% is expected and is not a bug.

Other habits that help:

  • Avoid heat. Do not leave the MacBook charging in a hot car or under a pillow.
  • Plugged in all day is fine with Optimized Charging or a charge limit on.
  • Long jobs that keep the Mac awake add wear only if they run hot. See how to keep a Mac awake with caffeinate for doing it on purpose.

Common questions

What is a good battery cycle count for a MacBook?

Anything well under 1,000 is fine. At 89 cycles, mine has used under 10% of its rated life. Condition and Maximum Capacity matter more than the count alone.

When should I replace my MacBook battery?

When Condition says Service Recommended, or when battery life no longer covers your day. Apple Support can test it.

Is 95% maximum capacity normal?

Yes. Losing a few percent in the first 100 or so cycles is common, and Apple’s rating expects up to 80% retained at 1,000 cycles.

Why does Maximum Capacity go up sometimes?

The battery controller re-estimates capacity over time. A small rise after a full charge and discharge is normal. Compare readings weeks apart, not day to day.

Can I check battery health on an Intel MacBook the same way?

The system_profiler and pmset commands are the same on Intel and Apple Silicon. The raw ioreg keys can differ by model, so trust system_profiler first. For other Terminal checks, see how to check RAM usage on Mac.