How to read your EV's true battery health
You don't need a main-dealer appointment to find out what your pack is doing. Here are the three honest options, ranked by cost — and per-brand instructions.
Charge to 100%. Compare indicated range to the original WLTP figure. SoH ≈ (current ÷ original) × 100. Crude — ±5% — but costs nothing.
A Bluetooth OBD dongle plugs into the port under the steering column. The app reads State of Health directly from the BMS. 5 minutes.
A stamped certificate. Worth it only if you're selling and the buyer or finance company specifically asks for it.
Buy this dongle
One dongle works across nearly every brand below. We don't earn a commission — we just want you to have good data.
Per-brand instructions
Find your make, use the listed app + profile, then submit your reading to the free Battery Index.
Tesla doesn't expose SoH directly to owners. Best free method: charge to 100% and compare rated range to original EPA. Tessie (£5/mo) gives a calculated SoH from charging history.
All share the same Stellantis BMS. Dongle reads pack SoH directly in 5 minutes. This is what dealers do — they just charge for it.
LeafSpy gives SoH, Hx (resistance), per-cell voltages and twelve-bar status. Most trusted reading on any used Leaf — buyers expect to see a LeafSpy screenshot.
MEB platform exposes SoH cleanly via OBDeleven. Free dash method also works: 100% charge, note WLTP retained.
Reads SoH, SoC, cell deviation. E-GMP cars are very stable — most show 96–99% even at 60k miles.
Carly's 'Battery Health' tab is one-click and trusted by BMW buyers.
Newer MGs (MG4) read cleanly. Older ZS EV pre-2021 has limited PID exposure — dongle may show only SoC.
CanZE is excellent and free for Zoe. Note: many Zoes had leased batteries — check the V5C before reading.
Got your number?
Add it to the free UK Battery Index. Takes 60 seconds, anonymous, and you'll get a shareable verified badge for your resale listing.
Disclaimer: SoH readings via OBD reflect what the vehicle's BMS reports. Some manufacturers smooth or rebalance this value. RangeCheck cross-references owner submissions against the modelled curve to flag implausible readings.