Solar Panel Shading Loss Calculator
Introduction
Shading is one of the quickest ways to reduce solar output, and it often surprises people because the problem is not always caused by a huge object. A modest chimney, parapet, tree branch, vent pipe, or neighboring roofline can create a long shadow when the sun is low. That means a system that looks clear at midday in summer may still lose meaningful production during winter mornings, late afternoons, or any season when the sun angle drops.
This calculator gives you a practical first estimate of that effect. It combines a simple daily energy baseline with a snapshot of shadow geometry. You enter your system size and average sun hours to describe how much energy the array would make without shading. Then you enter the obstruction height, the horizontal distance from the obstruction to the panel, the panel tilt, the panel length along the slope, and the sun altitude angle for the moment you care about. From those values, the calculator estimates how much of the panel face is shaded and converts that into daily energy lost and daily energy remaining.
The result is best used as a screening tool rather than a bankable performance model. It can help you decide whether a site deserves a closer shade study, whether an obstruction is probably harmless, or whether you should consider moving modules, trimming vegetation, or using module-level power electronics. It will not replace a full annual simulation, but it does make the underlying geometry much easier to understand.
How to use this calculator
Start by thinking about the specific situation you want to test. If you are troubleshooting a roof that already has panels, use the actual array size and a realistic average sun-hours value for the season you care about. If you are planning a new installation, you can use the proposed system size and a typical local sun-hours estimate as a baseline. That gives you the unshaded energy reference point.
Next, describe the geometry as carefully as you can. Measure the obstruction height above the same reference plane as the panel edge you are testing. Measure the distance horizontally to the first panel edge that would receive shade, not to the center of the array. Use the panel tilt from horizontal, and use the panel length measured along the panel surface, not the horizontal footprint. Finally, choose the critical sun altitude angle for the moment you want to evaluate. Lower sun altitude means longer shadows, so winter and late-day values are often the most revealing.
- Enter the system size in kW and the average sun hours per day.
- Enter the obstruction height and the horizontal distance from the obstruction to the panel.
- Enter the panel tilt angle and the panel length along the slope.
- Enter the critical sun altitude angle for the time or season you want to test.
- Press Estimate Loss to see the shaded fraction, daily loss, and daily net production.
If the result is close to zero, the chosen geometry and sun altitude probably do not create meaningful shade on the tested panel edge. If the result is high, the obstruction deserves more attention. In practice, it often helps to run the calculator more than once with several sun altitudes so you can compare a high-sun case, a winter midday case, and a low-sun morning or afternoon case.
Model overview (what the calculator is doing)
This is a geometry-first estimate. It treats shading as a straight-edged shadow cast by a single obstruction at a single sun altitude angle. The logic is simple enough to follow by hand, which makes it useful for site screening and for checking whether an installation problem is driven mostly by geometry or by something else such as wiring, soiling, or equipment issues.
- Compute the obstruction's horizontal shadow reach from its height and the chosen sun altitude.
- Subtract the obstruction's horizontal distance to the panel so that only the part of the shadow that actually reaches the panel is counted.
- Project that remaining reach onto the tilted panel surface.
- Convert the projected shadow length into a shaded fraction of the panel length, clamped between 0 and 100%.
- Apply that fraction to the unshaded daily energy estimate to show daily loss and daily net production.
The calculator assumes proportional loss for simplicity. Real photovoltaic systems can behave more harshly or more gently than that depending on cell strings, bypass diodes, module orientation, inverter MPPT behavior, and whether optimizers or microinverters are installed. That is why the output should be read as a clear estimate, not a guarantee.
Definitions of inputs and variables
- System size (kW): the nameplate DC size of the PV system, or the portion of the system you want to evaluate.
- Average sun hours per day: the equivalent full sun hours used to estimate unshaded daily production.
- Obstruction height H (m): the vertical height of the object casting the shadow above the same reference plane as the panel base.
- Distance from panel D (m): the horizontal distance from the obstruction to the panel edge that first receives shade.
- Panel tilt angle β (degrees): the panel tilt measured from horizontal, where 0° is flat and 90° is vertical.
- Panel length along slope P (m): the panel length measured along its surface in the up-slope or down-slope direction.
- Critical sun altitude angle α (degrees): the sun elevation above the horizon for the time you want to test.
Formulas
1) Unshaded daily energy
If your system size is S in kW and your average sun hours are HS in hours per day, the unshaded daily energy is:
Eunshaded = S × HS in kWh per day.
2) Horizontal shadow length from sun altitude
For an obstruction of height H and sun altitude α, the horizontal shadow length on a level reference plane is:
Lh = H / tan(α)
This captures the key intuition of solar shading. When the sun is low, tan(α) is small, so the shadow gets long very quickly.
3) Shadow that actually reaches the panel
If the obstruction is D meters away, the panel only sees the portion of the shadow that extends beyond that distance:
Lreach = max(0, Lh − D)
If the result is zero, the shadow does not reach the panel at the chosen sun altitude.
4) Projection onto the tilted panel surface
To estimate how far the shadow extends along the panel surface, the remaining shadow reach is projected using the panel tilt β:
Lpanel = Lreach / cos(β)
5) Shaded fraction
Compare the projected panel shadow length with the panel length P:
s = min(1, Lpanel / P)
The clamp to 1 simply means the shaded fraction cannot exceed 100% of the panel length.
6) Estimated daily energy lost and remaining
This calculator assumes energy loss scales linearly with the shaded fraction:
Elost = Eunshaded × s
Eremaining = Eunshaded × (1 − s)
MathML (same relationships)
Seen in plain language, the model says: taller obstruction plus lower sun equals longer shadow; more distance reduces the chance of shade; more tilt changes how the shadow maps onto the panel surface; and longer panels can absorb a bit more shadow before the shaded fraction reaches 100%.
Interpreting the results
The shaded fraction tells you how much of the panel length is shaded in the tested snapshot. A value of 0.25 means about 25% of the panel length is shaded at that moment. A value of 1.00 means the projected shadow covers the full panel length in this simplified view.
The daily loss translates that fraction into kWh per day using your system size and sun-hours estimate. This is intentionally easy to interpret, but it is still a simplified number. It should answer questions such as whether the obstruction is probably trivial, whether it could matter during a critical season, and whether further analysis is justified.
The daily net is simply the estimated production remaining after the calculated loss is removed. If your shaded fraction is close to zero, the obstruction probably does not matter for the chosen angle. If the fraction is high, it is a signal to consider layout changes, trimming, setback adjustments, or MLPE options. When the fraction lands in the middle, try several different sun altitudes so you can see whether the issue is brief and seasonal or broad and persistent.
Worked example
Scenario: a 6 kW array, 5.0 average sun hours per day, panel tilt 30°, panel length along slope 1.7 m. A parapet is 1.5 m tall and 2.5 m horizontally away. Evaluate a winter critical sun altitude of 20°.
- Unshaded daily energyEunshaded = 6 × 5.0 = 30 kWh/day
- Horizontal shadow lengthLh = H / tan(α) = 1.5 / tan(20°) ≈ 1.5 / 0.3640 ≈ 4.12 m
- Shadow reaching the panelLreach = max(0, 4.12 − 2.5) = 1.62 m
- Projection onto the tilted panelLpanel = 1.62 / cos(30°) ≈ 1.62 / 0.866 ≈ 1.87 m
- Shaded fractions = min(1, 1.87 / 1.7) = 1.0Interpretation: at 20° sun altitude, the panel could be fully shaded by this obstruction in this simplified snapshot.
- Energy impactElost = 30 × 1.0 = 30 kWh/dayEremaining = 30 × (1 − 1.0) = 0 kWh/day
This example shows why the chosen sun altitude matters so much. The same parapet would look much less threatening under a high summer sun. In reality, full shading usually affects only part of a day, not the whole day, so use the result as a focused snapshot. If you want a broader view, test multiple angles that represent morning, midday, afternoon, and seasonal extremes.
Comparison table: how sun altitude changes shadow length
The table below shows how quickly shadows grow as sun altitude drops. It assumes an obstruction height of 2 m and reports the horizontal shadow length before subtracting the distance to the panel.
| Sun altitude (α) | tan(α) | Horizontal shadow length Lh = H/tan(α) | Rule-of-thumb implication |
|---|---|---|---|
| 15° | 0.268 | ≈ 7.46 m | Very long winter or early-day shadows; obstructions far away can still matter. |
| 20° | 0.364 | ≈ 5.49 m | Long shadows; a common problem range for winter midday in many locations. |
| 30° | 0.577 | ≈ 3.46 m | Moderate shadows; many obstructions must be relatively close to matter. |
| 45° | 1.000 | ≈ 2.00 m | Shorter shadows; shading risk falls quickly as altitude increases. |
| 60° | 1.732 | ≈ 1.15 m | High-sun conditions; only nearby obstructions usually matter. |
That pattern is often the key insight for site planning. When the sun is low, even a medium-height obstruction can reach surprisingly far. When the sun is high, the same object may be almost irrelevant. The calculator lets you convert that visual intuition into an estimated production effect.
Assumptions and limitations
- Single obstruction, single sun altitude: this is a snapshot, not a full annual shade simulation.
- Straight-edged shadow geometry: irregular objects such as tree canopies do not cast perfectly sharp shadows.
- Linear energy scaling: real PV electrical losses under partial shading are often nonlinear because of string layout, bypass diodes, and inverter behavior.
- No wiring-layout modeling: portrait versus landscape orientation, stringing details, optimizers, and microinverters can change the real effect of a shaded area.
- Diffuse light ignored: even when direct beam sunlight is blocked, diffuse sky light still contributes some production.
- Distance definition matters: use horizontal distance to the first shaded edge, not to the center of the array and not a sloped surface distance.
- Use for screening, not final design: for contracts, financing, permitting, or guarantees, use a full shade study or professional design software.
Those limitations do not make the calculator useless. They simply define the right job for it. This tool is excellent for quick checks, education, rough comparisons, and deciding whether a site condition deserves deeper analysis. If a single obstruction already looks serious in this simplified model, that is a strong sign that a more detailed study is worthwhile.
Mini-game: Shadow Match
This optional mini-game turns the same shading math into a fast visual challenge. Each round changes obstruction height, distance, panel tilt, and panel length. Your job is to move the sun until the live shaded fraction matches the target before the timer runs out. It is separate from the calculator above, but it teaches the same idea in a more tactile way: low sun angles stretch shadows dramatically, and small geometry changes can matter more than expected.
