Solar + Battery Hybrid System Sizing Calculator

Jointly size solar array, battery bank and hybrid inverter for a self-consumption system.

Ad placeholder (leaderboard)

A hybrid solar system has to balance three components at once: the solar array that generates energy, the battery that stores it for night use, and the hybrid inverter that ties them to your loads and the grid. Oversize one and undersize another and the system underperforms. This calculator sizes all three together from your load profile and a self-sufficiency target.

How it works

The array is sized to cover the target share of daily load after derating for real-world losses:

array_kW = (daily_load × target_SS) / (sun_hours × (1 − loss))

The battery covers the portion of load that occurs at night or under cloud, corrected for usable depth of discharge:

battery_kWh = (daily_load × night_fraction × target_SS) / DoD
battery_Ah  = battery_kWh × 1000 / bus_voltage

The hybrid inverter must serve peak load while passing solar through to charging, so it is sized to the larger of peak load or array power with a surge headroom factor:

inverter_kW = max(peak_load, array_kW) × 1.25

Worked example

A home using 15 kWh/day, 60 percent of it at night, at a site with 4.5 peak sun hours, 20 percent losses, a 90 percent self-sufficiency target, 80 percent usable DoD on a 48V bus, with a 5 kW peak load:

array_kW   = (15 × 0.9) / (4.5 × 0.8) ≈ 3.75 kW
battery_kWh = (15 × 0.6 × 0.9) / 0.8 ≈ 10.1 kWh
battery_Ah  = 10.1 × 1000 / 48 ≈ 211 Ah
inverter_kW = max(5, 3.75) × 1.25 ≈ 6.25 kW

Tips and notes

Size for the worst representative month, not the annual average, if you need winter autonomy. The depth-of-discharge input matters a lot: lithium banks safely use 80 to 90 percent while lead-acid should stay near 50 percent, which roughly doubles the lead-acid capacity needed. Always leave inverter headroom for motor inrush, and confirm the array’s open-circuit voltage and string sizing against the inverter’s MPPT window before finalising the design.

Ad placeholder (rectangle)