Off-grid solar system sizing
Size a stand-alone solar system from a list of what you run — cabin, van, boat or tiny house — and your location's month-by-month sunshine (Open-Meteo, or your own peak sun hours): the PV array for the worst month or the year, how to string the modules (cold Voc under the controller's limit, NEC 690.7; 1.25 × Isc, 690.8), MPPT or PWM, the LiFePO4 or lead-acid bank in series and parallel, the inverter, a month-by-month balance with generator hours, and a single-line diagram.
Added
Works with
- RV and boat DC power Energy and off-gridswaps the load list: import its loads here, or these there
How to use it
A planning aid. The PV string checks follow NEC 2023 sections 690.7, 690.8 and 690.9; check the edition and amendments your jurisdiction has adopted, and the limits in your controller’s and inverter’s manuals. The inspector has the last word.
An off-grid system is sized backwards from the worst day you intend to cover without a generator. This tool starts from what you run, finds the month where the sun does least against the load, and works out the array, battery, charge controller and inverter to match — then shows, month by month, how much the generator has to make up if you size for less.
If you are on the grid and want to know when panels pay for themselves, use solar payback instead.
How to use it
Loads — start from the cabin, van, boat or tiny-house example, or add appliances from the list or your own. For each: watts, hours a day it actually runs (a fridge’s compressor runs maybe 8–10 hours of 24), days a week, AC or DC, the starting watts of motors and compressors, and whether it only runs in winter or summer. AC loads go through the inverter, so its efficiency and idle draw are added on. From DC power planner copies the list from the RV and boat DC power tool. Energy usage is a quicker way to see what a single appliance costs.
Sun — search for your place (or use your location, or type latitude and longitude) and press Get solar data. The tool fetches the last three full years of hourly sunlight and temperature, reduces them to an average day for each month and turns that onto your panels at their tilt and direction. Best tilt for the worst month finds the angle that does most for the month that sets the size (steep, for winter); Best tilt for the year the one for the most energy overall. You can design on an average year or on the worst year’s month. Or switch to Enter peak sun hours and give twelve figures from PVWatts or a solar atlas.
Array & controller — size for the worst month (no generator), for the year (the generator fills the winter gap), or check an array you already have. Set the losses — the cell’s temperature rise above the air (flush-mounted on a van roof runs hottest), soiling, wiring and mismatch — and your module’s data-sheet figures. The table lists every way to string the modules for your controller: the cold-morning open-circuit voltage against its limit, the hot-afternoon Vmp against the battery (an MPPT controller needs a few volts of headroom), the 1.25 × Isc current and the string fuses three or more parallel strings need.
Battery — chemistry, system voltage (or let it suggest one), depth of discharge, days of autonomy, the coldest the batteries get, and the battery or cell you will buy. You get the Ah at 12, 24 and 48 V, the series × parallel arrangement drawn out, and checks on the discharge and charge rates — including whether a lead-acid bank gets enough charge current, and the rule that LiFePO4 must not be charged below freezing.
Inverter — continuous rating with headroom, the surge needed to start the biggest motor while everything else runs, its DC current from a nearly flat battery and the cable and fuse that needs.
Month by month — solar and generator energy against the load for each month, with the generator charger hours. Diagram is a single-line drawing of the system with the sizes filled in.
Related: battery runtime, battery pack builder, battery life, LiPo care, generator sizing, wire size and voltage drop for the AC side, and the RV and boat DC power planner for DC wiring, fuses and chargers.
How it is worked out
Sunlight comes from Open-Meteo’s historical weather API (the ERA5 reanalysis): hourly global, direct-normal and diffuse irradiance and air temperature. Each month becomes an average day by UTC hour; the direct part is projected onto the panel with the sun’s position on the 15th, the diffuse part is taken as coming evenly from the sky, and ground reflection is added for the albedo chosen. Against Open-Meteo’s own tilted-plane figures this agrees to about 1 %. The coldest hour in the data stands in for the design low unless you enter one (NEC 690.7(A) points to the ASHRAE extreme annual mean minimum design dry-bulb temperature, which is usually a little lower).
Array — each watt of array delivers peak sun hours × (1 + Pmax coefficient × (air + rise − 25 °C)) × (1 − soiling) × (1 − wiring) × (1 − mismatch) × controller efficiency × battery round-trip efficiency watt-hours a day. A PWM controller holds the panels at battery voltage, so it gets Imp × battery volts rather than Pmax. The design month is the one that needs the most array for its load.
Strings — cold Voc is Voc × (1 + Voc coefficient × (low − 25 °C)), or Voc × the Table 690.7(A) factor for crystalline silicon when no coefficient is given. Hot Vmp uses the power coefficient at the hottest month’s cell temperature plus a margin. Circuit current is 1.25 × Isc per string (690.8(A)); conductors and fuses carry 1.25 × that (690.8(B)); three or more parallel strings need string fuses (690.9).
Battery — daily Wh × days ÷ depth of discharge ÷ capacity at temperature. The cold figures for lead-acid are the usual sizing multipliers (1.19 at 50 °F, 1.30 at 40 °F, 1.59 at 20 °F) and for LiFePO4 makers' 0.2 C discharge curves. Rates: LiFePO4 1 C out and 0.5 C in; lead-acid about C/3 out, C/5–C/3 in and at least C/10 to charge properly.
Inverter — the AC loads all running × headroom (1.25), or the running load plus the biggest single start ÷ the inverter’s surge factor, whichever is larger, rounded up to a common size.
Not covered: grid-tied and hybrid systems with export, wind and hydro, battery ageing over the years, and the AC wiring (see wire size).
Browser support
Any current browser, on a phone or a desktop. Looking up your place and the sunlight needs a connection; everything else works offline once the page has loaded.
Privacy
Your loads and settings stay in your browser’s local storage. Two things go out, and only when you ask: the place name you search for goes to Open-Meteo’s geocoding service, and the latitude and longitude go to Open-Meteo’s historical weather API (archive-api.open-meteo.com) to fetch the sunlight. Open-Meteo needs no account or key. Use my location asks the browser for your position; it is used only for that request. Share link puts your inputs — including the latitude and longitude — in the link itself.
Solar and temperature data: Open-Meteo (CC BY 4.0), from the Copernicus ERA5 reanalysis.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser — network requests go only to the services named on this page.