Battery Bank Sizer

Turn a daily energy figure into an actual battery bank: nameplate kWh, module counts, and a discharge-rate check. The derating chain — depth of discharge, temperature, end-of-life fade — is shown line by line so you can defend the number. Runs entirely in your browser.

Load & system

At the AC loads, after any rectification.

Off-grid night bridging: 0.5–1. Backup without sun: 2–3.

Worst simultaneous load, for the C-rate check.

Battery

Coldest the bank must deliver at.

Size so the bank still works when worn.

Result

Nameplate needed
– kWh
At system voltage
– Ah
Module layout
–
Discharge rate
– C
Enter your load values.

What this calculator does

It converts "my site uses 10 kWh a day and I want to ride through one dark day" into a bank you can actually order: nameplate kWh, Ah at your DC voltage, and how many modules in series and parallel. It also refuses to flatter you — temperature, cycle life and ageing are subtracted before the answer is given.

The calculation

E_dc = E_load ÷ η_inv AC load referred to the DC bus
E_cell = E_dc ÷ √η_rte discharge-side loss
C_use = E_cell × N ÷ DoD autonomy at the allowed depth
C_temp = C_use ÷ f_T cold-weather derating
C_eol = C_temp ÷ SOH_EOL nameplate so it still works when old
C-rate = P_max ÷ (V × C_eol) checked against chemistry limit

The round-trip efficiency is split into a discharge-side half (√η_rte) because the charge-side loss is already paid upstream by the PV array. Presets: LFP 0.95, NMC 0.94, AGM 0.85, OPzV 0.86.

The three deratings people skip

Worked example

An off-grid cabin: 10 kWh/day AC load, 1 day autonomy, 48 V LFP bank, 0 °C cellar, 5 kW peak inverter, 51.2 V / 100 Ah rack modules.

E_dc = 10 ÷ 0.95 = 10.53 kWh
E_cell = 10.53 ÷ √0.95 = 10.80 kWh
C_use = 10.80 × 1 ÷ 0.90 = 12.0 kWh
C_temp = 12.0 ÷ 0.90 (0 °C) = 13.3 kWh
C_eol = 13.3 ÷ 0.80 = 16.7 kWh nameplate
Layout: 1s × 4p of 5.12 kWh = 20.5 kWh, 400 Ah at 51.2 V
C-rate = 5000 W ÷ (51.2 V × 400 Ah) = 0.24 C ✓

Notice the installed 20.5 kWh delivers only 10 kWh on the design night — the other half is DoD cap, cold and end-of-life margin. That is normal, and it is the number a datasheet will not volunteer.

What this tool does not do. It sizes energy, not power electronics: wire, fuse, busbar and breaker sizing, short-circuit ratings, string fusing and BMS communication compatibility are separate design steps. Grid-code and interconnection requirements are yours to confirm.

Frequently asked

Why can't lead-acid go to 100 % DoD?
Deep discharge accelerates sulfation and active-material shedding. Cycle curves are quoted at a fixed DoD for a reason: 1200 cycles at 50 % can become 300 at 80 %. The calculator caps the preset at 50 % but lets you override it — at the cost of cycle life.
What does end-of-life headroom mean?
Sizing at 80 % SOH means the bank still meets autonomy on the day you retire it. Without it, capacity fades silently until loads start dropping out.
Why does cold shrink capacity?
Electrochemical kinetics slow down. At −10 °C expect roughly 80 % of rated capacity. Charging LFP below 0 °C plates lithium onto the anode — permanent damage — so charge lockout or a heater is required.
What is C-rate?
Discharge current divided by capacity: 50 A from 100 Ah is 0.5 C. Lead-acid in storage duty is happy at ≤0.2 C (the Peukert effect eats real capacity above that); LFP handles 1 C continuous but runs hotter and ages faster near the limit.
Should I round modules up or down?
Up, always. The calculator returns whole modules and shows the installed kWh, which will exceed the required figure. A bank is never "close enough" one module short.

Related calculators