Why amp-hours divided by amps is the wrong answer
The runtime everyone reaches for first is capacity divided by current: 100 Ah at 10 A gives ten hours. That sum is right only when three things happen to be true — the load is wired straight to the battery, you intend to flatten the battery completely, and you are discharging at exactly the rate the manufacturer used to measure the rating. In a real installation none of the three usually holds.
An inverter sits in the path. A 300 W AC load behind a 90% efficient inverter pulls 300 ÷ 0.9 = 333 W from the battery, which at 12 V is 27.8 A, not 25 A. That extra current comes straight out of runtime: at a Peukert exponent of 1.00 the runtime falls by 1 − 25 ÷ 27.8 = 10%, and by more than that at any exponent above 1.
You stop well before empty. Lead-acid banks are normally worked to 50% of nominal capacity, LiFePO4 to 80-90%, and the inverter's low-voltage cut-out often intervenes before either. Runtime is proportional to the fraction you actually use.
Capacity itself depends on how fast you take it. This is the part that surprises people. A deep-cycle lead-acid battery labelled 100 Ah is measured over 20 hours at 5 A. Ask the same battery for 100 A and it will not give you one hour. Internal resistance and diffusion limits inside the plates mean it delivers about 74 Ah at an AGM exponent of 1.10 and about 47 Ah at a flooded exponent of 1.25 — 44 minutes down to 28 minutes, as the reference table below sets out. Peukert's law, published in 1897, captures that relationship with a single exponent.
This calculator applies all three corrections and reports the intermediate figures, so you can see which one is costing you the most.
Peukert's law and the terms around it
Start with the current the battery actually sees. Divide the load power by the battery voltage, and divide again by the inverter efficiency if the load is AC: I = P / (V × η). Everything downstream depends on this number, which is why a 48 V bank running the same appliance discharges at a quarter of the current a 12 V bank does — and therefore suffers far less Peukert penalty.
The Peukert term is a ratio raised to a power. Write the rating as a current: a 100 Ah battery rated over 20 hours corresponds to 5 A. The quantity C / (I × H) compares the nominal capacity to the amp-hours you would get if capacity were rate-independent. Raise it to the exponent k and multiply by H and you have the hours to full discharge.
The exponent is the whole story. At k = 1 the expression simplifies exactly to C / I and rate has no effect. Above 1, capacity shrinks as current rises above the rated current and grows as current falls below it — a battery discharged very slowly genuinely does yield more than its label. Flooded lead-acid sits around 1.2-1.3, AGM around 1.1-1.2, and LiFePO4 around 1.02-1.05, which is the main practical reason lithium behaves so much better under heavy loads.
Depth of discharge scales the answer linearly. Multiplying the full-discharge time by 0.5 gives the time to 50% depth of discharge. This is a close approximation rather than an identity, because the Peukert relation was fitted to complete discharges, but the error is small compared to the uncertainty in the exponent itself.
The hour rate matters as much as the exponent. A capacity quoted at the 20-hour rate and the same capacity quoted at the 1-hour rate describe very different batteries. UPS cells are usually rated over short periods; deep-cycle solar batteries over 20 hours, sometimes 100. Entering the wrong hour rate moves the answer more than most people expect, so take it from the datasheet.
Worked example: a 300 W load on a 100 Ah AGM battery
A van has a single 100 Ah AGM battery at 12 V, rated at the 20-hour rate, feeding a 300 W AC load through a 90% efficient inverter. The owner works the battery to 50% depth of discharge and the datasheet suggests a Peukert exponent of 1.20. Step through it:
- Battery current. 300 W ÷ (12 V × 0.90) = 300 ÷ 10.8 = 27.78 A.
- Rated current. 100 Ah ÷ 20 h = 5 A, so this discharge is about 5.6 times faster than the rating assumes.
- Capacity ratio. C ÷ (I × H) = 100 ÷ (27.78 × 20) = 100 ÷ 555.6 = 0.18.
- Raise to the exponent. 0.181.20 = 0.1277.
- Hours to full discharge. 20 × 0.1277 = 2.555 h.
- Apply depth of discharge. 2.555 × 0.50 = 1.277 h, or 1 hour 17 minutes.
- Amp-hours delivered. 27.78 A × 2.555 h = 71.0 Ah, against a nominal 100 Ah.
- Energy to the load. 300 W × 1.277 h = 383 Wh.
Compare that with the naive sum: 100 Ah × 12 V × 0.50 ÷ 300 W = 2.0 hours. The real answer is 1.277 hours — 36% less. Repeating the sum with a perfect inverter gives 1.449 h, so conversion losses account for (1.449 − 1.277) ÷ (2.000 − 1.277) = about a quarter of the gap and the Peukert effect for the remaining three quarters.
Change one input to see how much the chemistry matters. Set the exponent to 1.05, as for LiFePO4: 0.181.05 = 0.1652, so full discharge is 3.304 h and runtime at 50% is 1.652 h. Same amp-hours, same voltage, same load, 1.652 ÷ 1.277 = 29% more runtime.
How to read the result
Check the C-rate before you trust the runtime. The C-rate is the discharge current divided by the nominal capacity, so 0.25C empties a nominal capacity in four hours. Most deep-cycle lead-acid batteries are happy up to about 0.2C continuously; drum-style UPS cells and LiFePO4 tolerate 1C and more. If your C-rate is above the datasheet's maximum continuous discharge current, the runtime figure is academic — the battery, the BMS or the inverter will intervene first.
Watch for voltage sag, not just capacity. Under a heavy load the terminal voltage drops, and inverters shut down on low DC voltage. A 12 V lead-acid bank at 0.5C can sag near the typical 10.5 V cut-out while still holding real charge, so the practical runtime ends earlier than the arithmetic says. Larger conductors help: check yours against the voltage drop calculator, because a volt lost in the cable is a volt the inverter never sees.
Use the delivered amp-hours figure to judge the battery, not the runtime. Delivered capacity tells you what fraction of the label the load is actually reaching. If it comes back near the nominal rating, the discharge is gentle and the sizing is comfortable. If it comes back well under, either move to a higher bus voltage, add parallel capacity, or move to a chemistry with a flatter Peukert response.
Runtime and bank size are the same problem from two directions. If the answer is too short, the fix is more capacity, and the battery bank sizing calculator works the calculation backwards from the hours you need. For a system that recharges every day, size the array to replace what this calculator says you consumed.
Delivered capacity of a 100 Ah, 20-hour-rated battery
| Discharge current | C-rate | k = 1.02 (LiFePO4) | k = 1.10 (AGM) | k = 1.25 (flooded) |
|---|---|---|---|---|
| 5 A | 0.05C | 100.0 Ah | 100.0 Ah | 100.0 Ah |
| 10 A | 0.10C | 98.6 Ah | 93.3 Ah | 84.1 Ah |
| 20 A | 0.20C | 97.3 Ah | 87.1 Ah | 70.7 Ah |
| 50 A | 0.50C | 95.5 Ah | 79.4 Ah | 56.2 Ah |
| 100 A | 1.00C | 94.2 Ah | 74.1 Ah | 47.3 Ah |
Read the exponent as a property of the chemistry and construction, not of the brand. Below the rating current the same formula returns more than 100 Ah, which is why a battery discharged over 100 hours can exceed its 20-hour label.
Assumptions and limits of this model
- Peukert's law was fitted to lead-acid. It describes lithium iron phosphate only approximately; the flat voltage curve and low internal resistance of LiFePO4 mean an exponent near 1.02-1.05 is a convenient stand-in rather than a physical constant.
- The model assumes a constant-power load. Real loads cycle. A fridge running a third of the time consumes a third of the energy, so use its average power, not its running power, for a duty-cycled appliance.
- Temperature is not modelled. Lead-acid capacity falls in the cold and the effect is large enough to swamp the Peukert correction in a winter installation. Take the derating from the manufacturer's capacity-versus-temperature curve.
- Age is not modelled. A battery at 80% state of health delivers 80% of these numbers. Deep-cycle batteries are commonly retired at that point.
- Inverter efficiency varies with load. Datasheet efficiency is the peak of a curve, and good datasheets plot that curve against output power. Read your own load off it rather than using the headline number, because at very light loads the inverter's standby draw dominates and effective efficiency collapses.
- Depth of discharge is applied linearly. Scaling the full-discharge time is an approximation to the Peukert relation, which was defined for complete discharges.
Where the hour rate comes from
Capacity ratings are only meaningful with their test duration attached, and that duration is set by standards rather than by marketing. IEC 61056 and IEC 60896 define the test conditions for general-purpose and stationary lead-acid batteries, and datasheets usually publish a table of C20, C10, C5 and C1 capacities for the same product. If you have that table, you do not need the Peukert exponent at all — read the capacity directly at the rate closest to your discharge, then interpolate. The exponent exists to fill the gap when only one figure is published, and you can derive it from any two published points: k = (log t₂ − log t₁) / (log I₁ − log I₂).
UPS runtime, vehicle house batteries and off-grid banks
The same formula serves three fairly different jobs, and knowing which one you are doing tells you what to worry about.
UPS backup. Here the discharge is short and hard — often 0.5C to 2C — so the Peukert correction dominates. UPS cells are rated over one hour or less for exactly that reason, and using a 20-hour rating for a UPS battery overstates its runtime badly. Check the manufacturer's constant-power discharge tables, which are given in watts per cell against minutes, in preference to any amp-hour arithmetic.
Vehicle and marine house batteries. Discharges are moderate and intermittent, and voltage sag through long undersized cable runs is often the real limit. Because these systems are usually 12 V, current is high for modest power, so upgrading the bus to 24 V is the cheapest single improvement available when loads grow. Confirm your conductor sizes with the wire size and ampacity calculator.
Off-grid house banks. Discharges are slow — often 0.02C to 0.1C overnight — so the Peukert penalty is small and the depth-of-discharge choice dominates. The question shifts from "how long will it last" to "how many cycles will I get", and that is set by cycle-life curves rather than by this formula.
If the load list is what you are unsure about, price the individual appliances first with the appliance energy cost calculator, and convert nameplate figures with the watts to amps calculator so every entry is in the same units before you add them up.
