The fixed angle on almost every page is measured, not calculated. For each city and each UK postcode district, Solarific asked PVGIS, the European Commission's solar radiation model, for the tilt that collects the most light over a year at that exact coordinate. PVGIS works it out from years of satellite records of sunshine and cloud, so it sees what latitude cannot. That covers 70,674 of 72,923 cities and 2,929 of 2,944 UK postcode districts. Where PVGIS has no answer, the page falls back to a formula fitted to its data, and says so. Monthly and daily angles come from the sun's path. Here is the whole method, including where each part stops working.
PVGIS v5.2, queried at each place's own coordinates with optimalangles=1, which returns the slope that maximizes annual yield. The same response carries the annual yield per kilowatt of panels and the generation month by month, which is where each page's winter figure comes from.
It is worth one request per place because latitude cannot tell apart places that genuinely differ. Ilkley and Otley in West Yorkshire sit nine thousandths of a degree of latitude apart, so any formula of latitude gives them the same answer. PVGIS puts them six degrees apart, 34° against 40°, because Ilkley sits down in Wharfedale and the valley sides block the low winter sun. In Glencoe the best angle is 25°, where latitude alone would say 45°, and December there generates about 3% of what May does.
A UK village page reads the figure for its postcode district, because the village's coordinate is the district's center. That is accurate to a few kilometers.
2,249 cities and 15 UK postcode districts. PVGIS's optimizer fails in three recognizable ways, and a response is only accepted when its slope, direction and annual yield are each plausible on their own. Near the equator it returns a slope of 0° or 89°, a direction outside the compass and far too little energy; about half the declined cities sit within ten degrees of the equator. The formula below runs about a degree too steep in that band on average. On coasts and islands the coordinate can land on sea. That accounts for all 15 districts: Orkney, Skye, Mull, Anglesey, the Isles of Scilly and four Highland sea lochs. And six answers passed every check and were still wrong: a near-flat panel far from the equator, found by comparing each city with its neighbours. Villebon-sur-Yvette, a Paris suburb, came back at 1° while the 339 cities around it average 38°. Those pages all use the formula below.
For absolute latitude lat in degrees, the formula's year-round tilt is:
tilt = (-0.00517 × lat2) + (1.04727 × lat) + 1.62058
That gives 25° at latitude 25, 35° at latitude 40, and 41° at latitude 50. Southern-hemisphere places reuse the same curve on absolute latitude and face north instead of south.
PVGIS's own measurements for 35,342 cities: of the 70,674 it answered for, the half whose database ids are even. Each 5° band of latitude carries the same total weight in the fit, so the 71% of cities between 30° and 49° cannot buy accuracy there by wrecking Norway and Iceland. The six refused answers were left out.
It replaced a curve fitted in 2025 to 52 cities, the largest one to four per band of latitude. Those were heavy on continental China and Russia, whose clear winters favor steep panels, which is how a whole curve came to lean steep without anyone seeing it: its error was measured on the same 52 it was fitted to.
Measured on the other 35,332 cities, the odd ids, which none of these rules was fitted to:
| Rule | Average lean | RMSE | Too steep |
|---|---|---|---|
| Tilt equals latitude (the common rule) | 4.4° steep | 6.5° | 84% |
| The 2025 curve | 1.9° steep | 2.9° | 82% |
| This formula | none | 2.4° | 45% |
This formula is better than the 2025 curve in every ten-degree band of latitude, on both measures. It still misses a typical place by about two and a half degrees, and its single worst miss is 24°, at Jakolof Bay, a settlement on an Alaskan fjord. That residual is climate and terrain, which no function of latitude can see, and it is why pages publish PVGIS's own measurement wherever there is one.
The common rule's error is not spread evenly either. It is close in the southern US and runs about 10° steep above latitude 50, which is every city in the UK, plus Finland, Norway, the Netherlands, Belgium, Poland and most of Russia. It put London at 47.9° where PVGIS says 40°.
A quadratic was chosen over piecewise-linear branches for two reasons. The optimum genuinely flattens relative to latitude as you go north, because winter sun is low and diffuse light dominates. And a single smooth expression cannot reintroduce a discontinuity: the previous piecewise version disagreed with itself by 5° at exactly latitude 50, so two towns either side of that line got different answers for no physical reason.
These use the subsolar-point declination model rather than PVGIS or the fitted curve. For a given day of the year:
declination = 23.45 × sin((360 / 365) × (284 + day)), then tilt = |latitude - declination|, and the sun's height at solar noon is 90° - tilt.
Subtracting the declination handles both hemispheres on its own, because southern latitudes are negative and the seasons invert with them. The sign of the result is the direction to face: negative means the midday sun sits north of overhead, which is what happens inside the tropics around midsummer, and the panel follows it.
Monthly rows are evaluated at a fixed mid-month day. The daily figure on each page uses today's day of the year, so it refines that month's row rather than contradicting it.
The measured angle accounts for local cloud and for hills on the horizon. It does not know about your roof: trees, chimneys and the house next door are far smaller than the terrain data PVGIS reads. If your roof is shaded, your best angle differs from the one here.
It also maximizes yield over the whole year. If you are off-grid and winter is what matters, a steeper panel trades summer surplus for winter output, and the winter figure on each page shows how much is at stake. If your tariff pays more in the late afternoon than at noon, facing a little west of south earns more than the angle here suggests.
The monthly and daily angles follow the sun's height, which latitude does determine. They do not know about cloud, so on a place where PVGIS measured a shallower fixed angle, treat them as the sun's geometry rather than as a forecast.
The bulk dataset is CC0 (public domain), and it carries the formula's angles, not PVGIS's measured ones. PVGIS figures are published under CC BY 4.0, which requires credit, and CC0 promises there is none to give, so the two cannot share one file. Each page credits PVGIS wherever it shows a measured figure. Download the whole dataset as CSV or JSON, or read any place's figures off its own page. The calibration inputs and the fitting script are in the repository under tools/tilt-calibration/.
Measured angles, yields and monthly generation from PVGIS, © European Union, 2001-2026.
See the best solar panel angle by latitude for the reference table, RV solar panel angles for what tilting gains over lying flat, and how solar power works for the system around the panel.