Battery Voltage to State of Charge (SOC) Calculator
Introduction to battery voltage and state of charge
This battery voltage to SOC calculator estimates how full a battery is from a voltage measured at its terminals. It supports common lithium-ion NMC packs, LiFePO4 packs, AGM batteries, flooded deep-cycle batteries, and flooded starter batteries. The result is useful for a storage check, a quick diagnosis, or a reasonableness check against a battery monitor. It is not a substitute for a controlled capacity test, a hydrometer on serviceable flooded batteries, or a shunt-based monitor on a frequently cycled battery bank.
The key requirement for battery voltage SOC work is a rested open-circuit reading. Disconnect chargers and loads, allow the voltage to settle, and measure at the battery terminals with a suitable meter. A battery operating an inverter can look empty because current creates voltage sag. A battery removed from charge can look full because surface charge temporarily lifts terminal voltage. For that reason, this calculator deliberately does not issue an SOC percentage for a reading marked under load or on charge.
The calculator converts total pack voltage to volts per series cell, applies a modest temperature reference to the 25 °C basis of the selected curve, and interpolates between neighboring voltage points. It estimates stored charge rather than guaranteeing runtime. Cold temperature, age, discharge rate, cell imbalance, wiring losses, and the connected equipment can reduce usable energy even when the rested SOC estimate remains the same.
How to use the battery voltage to SOC calculator
Choose a preset when it matches the pack arrangement. A nominal 12 V lead-acid battery has six 2 V cells in series, while a nominal 12 V LiFePO4 battery normally has four cells in series. A lithium battery marked 3S, 4S, 10S, or 13S uses that number as its series-cell count. The preset fills chemistry and cells; custom settings remain available for another pack arrangement.
Enter the measured pack voltage rather than the nominal voltage on the label. Select the measurement condition honestly. Rested open circuit is the condition that supports a normal estimate. A short-rest reading can be useful as a provisional clue, but recent charge or discharge may still be affecting it. Enter the actual battery temperature when known. Leaving 25 °C is sensible when it is unknown, but record temperature, rest time, and whether equipment was connected whenever the result will guide maintenance.
Read all result lines together. The measured per-cell value and the 25 °C-referenced value explain how the displayed SOC was obtained. If the per-cell voltage is far outside the selected chemistry’s plausible resting range, do not force a percentage. Check series count, chemistry, wiring, meter accuracy, and rest condition. Total pack voltage can hide one weak cell, especially in lithium packs, so use BMS information or cell-level measurements where safety or reliability matters.
The battery voltage-to-SOC formula and temperature reference
Plain-text formulas: cell voltage = pack voltage / series cell count; 25 °C reference voltage = cell voltage + correction factor × (temperature − 25); SOC is linearly interpolated between adjacent reference points.
For a pack with N series cells, divide measured pack voltage by the series count. Parallel cells add capacity but do not change this voltage calculation. Thus a 12.54 V AGM battery with six series cells measures 2.090 V per cell before temperature reference.
The series-cell count is independent of parallel strings. In a pack described as NSP, only the first number changes voltage; the parallel count changes amp-hour capacity and potential current capability.
Reference tables are commonly stated near 25 °C. The calculator uses an approximate open-circuit correction of about 0.0007 V per °C per lead-acid cell and 0.0001 V per °C per lithium cell. This is intentionally different from the larger 3–5 mV per °C per cell figure found in charging manuals. That larger figure concerns charger absorption and float settings, not a resting-voltage SOC lookup.
After reference to 25 °C, the calculator locates the two curve entries surrounding the voltage and interpolates between them. Linear interpolation is a transparent approximation; actual discharge curves are not perfectly straight. Values just outside a curve are limited to 0% or 100%, while clearly implausible values are rejected instead of being silently converted into a misleading result.
Interpolation means the estimate is proportional to the voltage’s position between adjacent reference points. It should be read as an estimate band, not as laboratory-grade knowledge of every amp-hour remaining.
Battery chemistry curves and result interpretation
The chosen curve matters. A full rested AGM cell is represented near 2.14 V, a full flooded deep-cycle cell near 2.122 V, and a full starter cell near 2.108 V. Using a starter chart for AGM can materially understate SOC. Lithium-ion NMC cells are represented from 3.00 V near the bottom of the reference range to 4.20 V at the top. LiFePO4 uses a 2.50–3.40 V resting range, but its middle region is unusually flat.
LiFePO4 requires particular caution. Across its plateau, a few millivolts per cell may correspond to a broad change in charge state. Meter tolerance, connector resistance, incomplete rest, and uncertain temperature can erase that distinction. When the calculator reports a mid-range LiFePO4 number, the displayed broad band is more meaningful than a seemingly precise percentage. For routine cycling, a shunt monitor that counts amp-hours is usually the better tool.
Lead-acid voltage is more sensitive to SOC, but voltage cannot establish battery health. Sulfation, aging, electrolyte concentration, and charging history alter behavior. A low rested estimate is a useful reason to recharge promptly, particularly below about 50%, because prolonged partial charge promotes sulfation. It does not prove that the battery has lost capacity; a load test or controlled capacity test answers that separate question.
Worked example: a rested 12 V AGM battery at 10 °C
Suppose a six-cell AGM house battery rests after its inverter is switched off. The meter reads 12.54 V and the battery is 10 °C. Dividing 12.54 by six gives 2.090 V per cell. The 25 °C reference becomes 2.090 + 0.0007 × (10 − 25) = 2.0795 V/cell. On the AGM curve, that is between 2.040 V at 50% and 2.090 V at 75%. Interpolation produces about 69.8%, so the calculator reports approximately 70%.
If the same battery measured 12.10 V while a 25 A inverter load was running, that reading would not support the same conclusion. Internal resistance and cable losses can make a healthy battery appear much lower. Select “Under load” to see the intended response: the calculator shows per-cell information and a measurement warning, but does not invent an SOC. Remove the load, wait, and measure again.
Limits of voltage-based battery SOC estimates
Battery voltage SOC estimation works best after a genuine rest: often at least several hours for lead-acid and commonly two hours or more for LiFePO4, depending on manufacturer guidance and preceding current. It is weakest immediately after charging, during heavy discharge, in cold weather, and on the LiFePO4 plateau. Temperature reference does not restore cold-weather energy or reduce the increased resistance of cold chemistry.
These curves are representative rather than a data sheet for every battery. They do not cover high-voltage lithium variants, LTO, gel batteries, or unusual lead-acid electrolyte formulations. The arithmetic assumes similar series cells and a valid pack measurement. When individual cell data are available, inspect them. A lithium pack can show normal total voltage while one cell is near a limit; that condition belongs with BMS protection rather than a pack-level estimate.
For dependable maintenance, combine methods. Use rested voltage as a sanity check, a shunt monitor for ongoing charge accounting, a hydrometer on accessible flooded cells, and periodic controlled capacity verification. Measure at clean battery terminals rather than a distant cable end. Recording voltage, temperature, rest time, and connected loads turns a one-off number into a practical maintenance record.
Battery voltage and SOC questions
How long should a battery rest before measuring voltage?
Lead-acid readings are more trustworthy after at least four hours with charger and load removed; some tables use a 24-hour rest. LiFePO4 manufacturers commonly recommend two or more hours. A longer rest after significant current gives a more meaningful voltage lookup.
Does 12.06 V always mean a 12 V battery is half full?
No. Construction and curve matter. A starter table can place 12.06 V near 25%, while a flooded deep-cycle curve can place it nearer 38%. AGM, deep-cycle flooded, and starter batteries should not share one generic curve.
What does a temperature-corrected result mean?
It refers measured per-cell voltage to the 25 °C baseline of the selected resting curve. It does not mean cold-weather capacity is unchanged and it is not a charger-voltage recommendation.
Rest & Read: battery bench mini-game
Practice the same measurement principle in this optional bench game. Start a run, watch a simulated pack settle, and set your SOC call. The visible meter is a teaching aid: resting the pack improves the reading, while a loaded or surface-charged reading can mislead.
Round
1 / 6Meter reading
0.00 VYour call
50%Run score
0Best run
0Focus the bench and press Space or Enter to start the run.
Keyboard: focus the bench, use Left and Right to set your SOC call, then press Space or Enter to submit. Press R for a fresh run. Use the buttons for the same actions.
