All solar calculators
📐

Optimal Tilt Angle

Fixed tilt recommendations from site latitude.

Design

Inputs (SI units)

Signed: positive = Northern hemisphere, negative = Southern hemisphere.

0 skips the comparison against your design tilt.

Results

Annual-optimum tilt (preliminary)
28°
Summer tilt
13.6°
Winter tilt
43.6°
Latitude tilt
28.6°
Modelled optimum tilt (Mode B)
27.5°
From 12-month irradiation sweep
Annual POA at optimum
1,842 kWh/m²/yr
Gain vs latitude tilt
+0.2 kWh/m²/yr (0.01 %)
✓ PASS — Optimum tilt is above the 5° soiling self-cleaning minimum.

Solar PV decision support

PV design decision summary

This section organises the existing calculator output into design checks, governing criteria and comparison cases. Core solar formulas and the calculator's original results are unchanged.

Solar PV sizing & array decision support v3 · 2026.08

Explicit checks passed

1 explicit check passed for the entered values. This does not replace independent verification where the decision is safety-critical, contractual, statutory, financial or medical.

1 pass

Governing criterion

Site latitude

28°

The calculator's fixed-tilt recommendation is derived from absolute site latitude and does not model the site's actual horizon or shading scene.

Design checks

Solar engineering check 1

pass

✓ PASS — Optimum tilt is above the 5° soiling self-cleaning minimum.

Structured directly from this solar calculator's own runtime alert.

Next design actions

Engine recommendation 1

Design tilt: use 28° (round to nearest practical increment), rechecking structural and soiling constraints.

Engine recommendation 2

Values assume isotropic-diffuse transposition on monthly-average GHI; site-specific TMY hourly modelling refines this by a few tenths of a degree.

Engine recommendation 3

Engineering-grade preliminary calculation. Final design must be verified against project-specific site conditions, manufacturer datasheets, applicable standards and utility requirements.

Primary design output

28°

Use as a preliminary result and verify the project-specific limits listed below.

Scenario comparison

Lower and higher cases are recalculated by the same solar calculator engine. They are comparison cases, not weather forecasts or guaranteed production values.

Lower site latitude

site latitude = 22.88

Annual-optimum tilt (preliminary)
23°
Summer tilt
7.9°
Winter tilt
37.9°
Latitude tilt
22.9°

Current inputs

site latitude = 28.6

Current design case
Annual-optimum tilt (preliminary)
28°
Summer tilt
13.6°
Winter tilt
43.6°
Latitude tilt
28.6°

Higher site latitude

site latitude = 34.32

Annual-optimum tilt (preliminary)
33°
Summer tilt
19.3°
Winter tilt
49.3°
Latitude tilt
34.3°

Decision sensitivity

site latitude · up

For the same calculator engine, the lower case changes Annual-optimum tilt (preliminary) by -17.9% and the higher case by +17.9%.

This is a deterministic input sensitivity check, not a statistical uncertainty or weather forecast.

Methodology & limit

Decision support is structured from the existing solar calculator engine and the current user inputs. PASS/FAIL is shown only where the engine or entered project criteria support an explicit check. Final PV design still requires site survey, exact module/inverter datasheets, structural/electrical design and applicable statutory approval.

Engineering Recommendations

  • Design tilt: use 28° (round to nearest practical increment), rechecking structural and soiling constraints.
  • Values assume isotropic-diffuse transposition on monthly-average GHI; site-specific TMY hourly modelling refines this by a few tenths of a degree.
  • Engineering-grade preliminary calculation. Final design must be verified against project-specific site conditions, manufacturer datasheets, applicable standards and utility requirements.

Detailed Calculation Log

Mode A (latitude-based): φ=28.6° → annual 28°, summer 13.6°, winter 43.6°.
Mode B: monthly GHI supplied — sweeping candidate tilts 0–60° in 2.5° steps (isotropic-sky transposition).
Optimum modelled tilt 27.5° → 1,842 kWh/m²/yr vs latitude tilt 28.6° → 1,842 kWh/m²/yr.

Save & Load Project

Designs are stored privately in this browser — nothing is uploaded.

Engineering Formula

  • β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary)
  • β_summer = |φ| − 15°, β_winter = |φ| + 15°
  • POA_tilt(m) = Beam·Rb(φ,β,δ) + Diffuse·(1+cosβ)/2 + GHI·ρ_g·(1−cosβ)/2 (isotropic/HDKR-style)
  • β_optimum = argmax_β Σ_m POA_tilt(m)·days(m)

For fixed arrays, annual-optimum tilt is slightly below latitude. Seasonal tilt shifts ±15° to capture higher sun in summer and lower sun in winter.

Step-by-step Calculation

  1. 1.Latitudeφ (input, signed)28.6°
  2. 2.|Latitude||φ|28.6°
  3. 3.Annual-optimum tilt (Mode A)0.87|φ|+3.128°
  4. 4.Summer tilt|φ|−1513.6°
  5. 5.Winter tilt|φ|+1543.6°
  6. 6.Modelled optimum tilt (Mode B)argmax Σ POA(β)·days27.5°
  7. 7.Annual POA at optimumΣ_m POA_tilt(m)1,842 kWh/m²/yr
  8. 8.Annual POA at latitude tiltΣ POA(β=|φ|)1,842 kWh/m²/yr

How to use this calculator: Optimal Tilt Angle

Fixed tilt recommendations from site latitude. The example below is calculated by this page's real engine from the displayed inputs.

  1. 1Confirm that the Optimal Tilt Angle matches the quantity or design check you need.
  2. 2Enter Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan using the units printed beside each field.
  3. 3Check every value before calculating, especially decimal points and measurement units.
  4. 4Calculate, then follow the substituted equations in the worked example and compare the result with any stated limit.
  5. 5Read the assumptions, warnings and cited references before using the result for a financial, medical or engineering decision.

Input guide and example values

Use values from the same measurement basis and time period. Conditional fields appear only when the related option is selected.

InputExample valueWhy it matters
Site latitude28.6 °Signed: positive = Northern hemisphere, negative = Southern hemisphere.
Proposed tilt (for comparison)0 °0 skips the comparison against your design tilt.
Monthly avg. GHI — Jan3.4 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Feb4 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Mar4.9 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Apr5.6 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — May6 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Jun5.7 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Jul5 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Aug4.9 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Sep4.8 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Oct4.3 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Nov3.6 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — Dec3.2 kWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Formula inputs & variables for Optimal Tilt Angle

These are the named quantities used by this calculator. When the source formula does not define a mathematical symbol, OneCalcApp keeps the real input label instead of inventing one.

Variable / inputUnitMeaning in this calculation
Site latitude°Signed: positive = Northern hemisphere, negative = Southern hemisphere.
Proposed tilt (for comparison)°0 skips the comparison against your design tilt.
Monthly avg. GHI — JankWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — FebkWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — MarkWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — AprkWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — MaykWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.
Monthly avg. GHI — JunkWh/m²/dayLeave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

How the Optimal Tilt Angle works

The Optimal Tilt Angle uses Site latitude, Proposed tilt (for comparison), Monthly avg. GHI — Jan, Monthly avg. GHI — Feb, Monthly avg. GHI — Mar, Monthly avg. GHI — Apr, Monthly avg. GHI — May, Monthly avg. GHI — Jun, Monthly avg. GHI — Jul, Monthly avg. GHI — Aug, Monthly avg. GHI — Sep, Monthly avg. GHI — Oct, Monthly avg. GHI — Nov, and Monthly avg. GHI — Dec to calculate Annual-optimum tilt (preliminary), Summer tilt, Winter tilt, Latitude tilt, Modelled optimum tilt (Mode B), Annual POA at optimum, and Gain vs latitude tilt. Its engine applies β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary); the worked values below come from that same live calculation rather than a separately typed example.

With Site latitude 28.6 °, Proposed tilt (for comparison) 0 °, Monthly avg. GHI — Jan 3.4 kWh/m²/day, Monthly avg. GHI — Feb 4 kWh/m²/day, Monthly avg. GHI — Mar 4.9 kWh/m²/day, Monthly avg. GHI — Apr 5.6 kWh/m²/day, Monthly avg. GHI — May 6 kWh/m²/day, Monthly avg. GHI — Jun 5.7 kWh/m²/day, Monthly avg. GHI — Jul 5 kWh/m²/day, Monthly avg. GHI — Aug 4.9 kWh/m²/day, Monthly avg. GHI — Sep 4.8 kWh/m²/day, Monthly avg. GHI — Oct 4.3 kWh/m²/day, Monthly avg. GHI — Nov 3.6 kWh/m²/day, and Monthly avg. GHI — Dec 3.2 kWh/m²/day, the main worked-example result is Annual-optimum tilt (preliminary) = 28°.

How each Optimal Tilt Angle input is used

Site latitude

The Optimal Tilt Angle worked example uses Site latitude = 28.6 °. This value is passed directly into the calculation, with an allowed minimum -66 and maximum 66. Signed: positive = Northern hemisphere, negative = Southern hemisphere.

Proposed tilt (for comparison)

The Optimal Tilt Angle worked example uses Proposed tilt (for comparison) = 0 °. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 90. 0 skips the comparison against your design tilt.

Monthly avg. GHI — Jan

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Jan = 3.4 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Feb

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Feb = 4 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Mar

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Mar = 4.9 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Apr

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Apr = 5.6 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — May

The Optimal Tilt Angle worked example uses Monthly avg. GHI — May = 6 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Jun

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Jun = 5.7 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Jul

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Jul = 5 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Aug

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Aug = 4.9 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Sep

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Sep = 4.8 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Oct

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Oct = 4.3 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Nov

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Nov = 3.6 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Monthly avg. GHI — Dec

The Optimal Tilt Angle worked example uses Monthly avg. GHI — Dec = 3.2 kWh/m²/day. This value is passed directly into the calculation, with an allowed minimum 0 and maximum 1500. Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

Optimal Tilt Angle formulas and result interpretation

Formula 1: relationship used

In the Optimal Tilt Angle, β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.

Formula 2: relationship used

In the Optimal Tilt Angle, β_summer = |φ| − 15°, β_winter = |φ| + 15°. The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.

Formula 3: relationship used

In the Optimal Tilt Angle, POA_tilt(m) = Beam·Rb(φ,β,δ) + Diffuse·(1+cosβ)/2 + GHI·ρ_g·(1−cosβ)/2 (isotropic/HDKR-style). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.

Formula 4: relationship used

In the Optimal Tilt Angle, β_optimum = argmax_β Σ_m POA_tilt(m)·days(m). The quantities in this relationship come from the named inputs or from an earlier calculation step shown in the worked example.

Annual-optimum tilt (preliminary)

For the displayed Optimal Tilt Angle worked example, Annual-optimum tilt (preliminary) is 28°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.

Summer tilt

For the displayed Optimal Tilt Angle worked example, Summer tilt is 13.6°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.

Winter tilt

For the displayed Optimal Tilt Angle worked example, Winter tilt is 43.6°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.

Latitude tilt

For the displayed Optimal Tilt Angle worked example, Latitude tilt is 28.6°. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.

Modelled optimum tilt (Mode B)

For the displayed Optimal Tilt Angle worked example, Modelled optimum tilt (Mode B) is 27.5°. From 12-month irradiation sweep Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.

Annual POA at optimum

For the displayed Optimal Tilt Angle worked example, Annual POA at optimum is 1,842 kWh/m²/yr. Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.

Gain vs latitude tilt

For the displayed Optimal Tilt Angle worked example, Gain vs latitude tilt is +0.2 kWh/m²/yr (0.01 %). Verify Site latitude, Proposed tilt (for comparison), and Monthly avg. GHI — Jan and their units before relying on this output.

Optimal Tilt Angle accuracy, checks and limitations

  • Optimal Tilt Angle units check: confirm Site latitude (°), Proposed tilt (for comparison) (°), Monthly avg. GHI — Jan (kWh/m²/day), Monthly avg. GHI — Feb (kWh/m²/day), Monthly avg. GHI — Mar (kWh/m²/day), Monthly avg. GHI — Apr (kWh/m²/day), Monthly avg. GHI — May (kWh/m²/day), Monthly avg. GHI — Jun (kWh/m²/day), Monthly avg. GHI — Jul (kWh/m²/day), Monthly avg. GHI — Aug (kWh/m²/day), Monthly avg. GHI — Sep (kWh/m²/day), Monthly avg. GHI — Oct (kWh/m²/day), Monthly avg. GHI — Nov (kWh/m²/day), and Monthly avg. GHI — Dec (kWh/m²/day) before calculating.
  • Optimal Tilt Angle result check: compare Annual-optimum tilt (preliminary), Summer tilt, Winter tilt, Latitude tilt, Modelled optimum tilt (Mode B), Annual POA at optimum, and Gain vs latitude tilt with the substituted formula steps and the displayed rounding precision.
  • Optimal Tilt Angle: Use this result for preliminary design and cross-checking. Confirm the applicable code edition, manufacturer data, site conditions and qualified-engineer approval before final design or installation.

Understanding the result

Read the main result together with supporting checks, assumptions, limits and intermediate values.

For a manual check, repeat the first equation, confirm the units and change one input at a time.

Common mistakes when using Optimal Tilt Angle

  • Do not mix units for Site latitude (°), Proposed tilt (for comparison) (°), Monthly avg. GHI — Jan (kWh/m²/day). A unit mismatch changes the input magnitude even when the typed number looks reasonable.
  • Do not replace the displayed β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary) relationship with a different convention without also changing the underlying assumptions; compare like-for-like methods when checking the result.
  • Do not treat Annual-optimum tilt (preliminary) = 28° from the worked example as a universal answer. It belongs to the displayed example inputs and must be recalculated for the actual case.

When the Optimal Tilt Angle is useful

Optimal Tilt Angle is designed for cases where Site latitude, Proposed tilt (for comparison), Monthly avg. GHI — Jan, Monthly avg. GHI — Feb are known and you need Annual-optimum tilt (preliminary), Summer tilt, Winter tilt. The page keeps the live calculator, calculation method and worked example together so the result can be checked instead of treated as a black-box number.

Use the calculator for the scope described by its inputs and notes. The displayed method is β_annual ≈ 0.87·|φ| + 3.1° (Duffie–Beckman fit, preliminary). If the real project or decision needs factors that are not represented here, treat the result as an estimate and add the missing checks separately.

Site latitude and Proposed tilt (for comparison): what changes the answer

The worked example uses Site latitude = 28.6 °, Proposed tilt (for comparison) = 0 °, Monthly avg. GHI — Jan = 3.4 kWh/m²/day, Monthly avg. GHI — Feb = 4 kWh/m²/day. With those values, Annual-optimum tilt (preliminary) is 28°. Changing an input should be interpreted according to that field's unit, range, option and hint rather than by the number alone.

For this calculator, the main input roles are: Site latitude (°): Signed: positive = Northern hemisphere, negative = Southern hemisphere. Proposed tilt (for comparison) (°): 0 skips the comparison against your design tilt. Monthly avg. GHI — Jan (kWh/m²/day): Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only. Monthly avg. GHI — Feb (kWh/m²/day): Leave all months blank to skip the monthly optimisation and use the latitude-based estimate only.

How to sanity-check a Optimal Tilt Angle result

Start by confirming the entered values and units, then compare the substituted working with the displayed formula or calculation steps. Pay particular attention to Annual-optimum tilt (preliminary), because it is the first worked-example output shown by the live engine.

Finally, compare the result with the assumptions, warnings and related calculators on this page. A nearby calculator can be useful as a cross-check when it measures the same workflow from a different input or output direction.

Next logical calculator

Continue with Solar Generation Calculator

Solar Generation Calculator shares relevant calculation context with Optimal Tilt Angle and can be used as a supporting comparison.

Open Solar Generation Calculator

Design Assumptions

  • Southern hemisphere: tilt north; formulas by |latitude|.
  • Ignores site-specific horizon shading.

Engineering Tips

  • Bifacial gain increases with tilt — up to +8% at 30°.
  • Latitude ≤ 10°: use 10–12° minimum for self-cleaning.

Warnings

  • Tilt < 10° accelerates soiling loss (up to 15%/yr).

Standards & References

ASHRAE Fundamentals Ch. 14NREL SAM defaults

Related Solar Calculators

Related Engineering Articles

Deeper reading on the engineering behind this calculation.