Some of the best space for new solar in England and Wales is already built: the roofs of its factories and warehouses. We took the Valuation Office Agency’s latest floorspace statistics for every factory, workshop and warehouse in England and Wales, compared them with official figures for the solar already installed in each area, and estimated how much rooftop solar each council could host. Every number below can be checked in our methodology and the free dataset.
Got a factory or warehouse roof? These figures describe whole council areas. For your own building, see our guides to warehouse solar panels and solar panels for factories, or check commercial solar panel grants open to businesses now. We introduce you to one suitable installer for a free quote.
The headline numbers
Estimates are GBE calculations from official data: floorspace × share of roof covered ÷ 8,000 m² per MWp (the conservative end of BRE’s rule of thumb) × DESNZ regional solar load factor. Homes equivalent uses Ofgem’s typical medium electricity use of 2,500 kWh a year. How we did it.
Key findings
- 317 km² of factory and warehouse floorspace. The Valuation Office Agency records 316.9 million m² of factories, workshops, warehouses, distribution sheds and large industrial units in England and Wales. That is about 31,700 hectares.
- Half those roofs could almost match all the solar installed so far. Panels on a quarter of that space could hold about 9.9 GW and make 8.8 TWh a year, the electricity 3.5 million typical homes use. On half, about 19.8 GW: 97% of the 20.5 GW of solar installed in England and Wales by the end of 2025, counting homes, farms and solar parks (GBE estimates).
- Birmingham has the most. Birmingham has 5.9 km² of factory and warehouse floorspace, the most of any council. A quarter of it could hold about 185 MW of panels, 2.9 times the 65 MW of solar the area has now. The top five are Birmingham, West Northamptonshire, North Northamptonshire, Leeds and Wakefield.
- The roofs are in the North and Midlands; most of the solar is in the South and East. The North West has the most factory and warehouse floorspace of any region (46.7 km²), and the North and Midlands together hold 60% of the total. In the North West, Yorkshire and The Humber, London and the North East, a quarter of those roofs could hold more solar than the whole area has installed today. By contrast, 58% of the solar installed so far is in London, the South East, the South West and the East of England. The South West, with the most (4,375 MW), could add 826 MW this way.
- The widest gaps. Among the 33 councils with at least 2 km² of factory and warehouse floorspace, Sandwell stands out: a quarter of its roofs could hold 5.5 times the solar it has today (120 MW against 22 MW). Rochdale (3.2×), Bradford (3.2×) and Dudley (3.0×) follow.
Commercial rooftop solar potential by local authority
All 318 councils in England and Wales, ranked by factory and warehouse floorspace. Click a column heading to sort, or type your council below. The top 50 show first.
| # | Local authority | Region / nation | Floorspace (km²) | Potential at 25% (MWp)* | At 50% (MWp)* | GWh a year at 25%* | Homes’ worth at 25%* | Solar installed (MW, 2025) | Potential vs installed* |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Birmingham | West Midlands | 5.9 | 185 | 370 | 168 | 67,100 | 65 | 2.9× |
| 2 | West Northamptonshire | East Midlands | 5.7 | 179 | 358 | 163 | 65,000 | 224 | 0.8× |
| 3 | North Northamptonshire | East Midlands | 5.2 | 164 | 328 | 149 | 59,600 | 184 | 0.9× |
| 4 | Leeds | Yorkshire and The Humber | 4.9 | 153 | 306 | 134 | 53,700 | 77 | 2.0× |
| 5 | Wakefield | Yorkshire and The Humber | 4.2 | 131 | 261 | 115 | 45,900 | 50 | 2.6× |
| 6 | Sandwell | West Midlands | 3.8 | 120 | 239 | 108 | 43,300 | 22 | 5.5× |
| 7 | North Yorkshire | Yorkshire and The Humber | 3.8 | 118 | 237 | 104 | 41,600 | 340 | 0.3× |
| 8 | Bradford | Yorkshire and The Humber | 3.8 | 118 | 237 | 104 | 41,600 | 37 | 3.2× |
| 9 | Kirklees | Yorkshire and The Humber | 3.5 | 111 | 222 | 97 | 39,000 | 41 | 2.7× |
| 10 | County Durham | North East | 3.5 | 110 | 220 | 96 | 38,400 | 93 | 1.2× |
| 11 | Sheffield | Yorkshire and The Humber | 3.1 | 98 | 196 | 86 | 34,500 | 49 | 2.0× |
| 12 | Milton Keynes | South East | 3.1 | 97 | 195 | 91 | 36,300 | 82 | 1.2× |
| 13 | Doncaster | Yorkshire and The Humber | 3.0 | 93 | 186 | 82 | 32,700 | 67 | 1.4× |
| 14 | North West Leicestershire | East Midlands | 2.9 | 92 | 183 | 83 | 33,300 | 73 | 1.3× |
| 15 | Somerset | South West | 2.9 | 91 | 182 | 82 | 32,700 | 566 | 0.2× |
| 16 | East Riding of Yorkshire | Yorkshire and The Humber | 2.7 | 83 | 166 | 73 | 29,200 | 226 | 0.4× |
| 17 | Cheshire East | North West | 2.6 | 81 | 162 | 69 | 27,700 | 85 | 0.9× |
| 18 | Rotherham | Yorkshire and The Humber | 2.5 | 80 | 159 | 70 | 28,000 | 35 | 2.3× |
| 19 | Wiltshire | South West | 2.5 | 79 | 158 | 71 | 28,500 | 621 | 0.1× |
| 20 | Rochdale | North West | 2.5 | 79 | 158 | 67 | 27,000 | 24 | 3.2× |
| 21 | Stoke-on-Trent | West Midlands | 2.4 | 75 | 151 | 68 | 27,300 | 39 | 2.0× |
| 22 | South Gloucestershire | South West | 2.4 | 75 | 151 | 68 | 27,100 | 175 | 0.4× |
| 23 | Kingston upon Hull | Yorkshire and The Humber | 2.2 | 70 | 139 | 61 | 24,500 | 37 | 1.9× |
| 24 | Bristol | South West | 2.2 | 69 | 138 | 62 | 24,800 | 55 | 1.3× |
| 25 | Peterborough | East of England | 2.2 | 68 | 135 | 63 | 25,200 | 55 | 1.2× |
| 26 | Central Bedfordshire | East of England | 2.2 | 67 | 134 | 63 | 25,000 | 121 | 0.6× |
| 27 | Dudley | West Midlands | 2.1 | 66 | 133 | 60 | 24,000 | 22 | 3.0× |
| 28 | Coventry | West Midlands | 2.1 | 66 | 132 | 60 | 23,900 | 26 | 2.6× |
| 29 | Swindon | South West | 2.1 | 66 | 132 | 59 | 23,700 | 208 | 0.3× |
| 30 | Wigan | North West | 2.1 | 65 | 130 | 56 | 22,200 | 32 | 2.0× |
| 31 | Bolton | North West | 2.1 | 64 | 129 | 55 | 22,000 | 30 | 2.1× |
| 32 | Cheshire West and Chester | North West | 2.0 | 63 | 125 | 54 | 21,400 | 71 | 0.9× |
| 33 | Leicester | East Midlands | 2.0 | 62 | 125 | 57 | 22,700 | 33 | 1.9× |
| 34 | Telford and Wrekin | West Midlands | 2.0 | 62 | 125 | 57 | 22,600 | 81 | 0.8× |
| 35 | Walsall | West Midlands | 2.0 | 62 | 125 | 56 | 22,600 | 18 | 3.4× |
| 36 | Wolverhampton | West Midlands | 2.0 | 61 | 123 | 55 | 22,200 | 32 | 1.9× |
| 37 | Trafford | North West | 2.0 | 61 | 123 | 52 | 21,000 | 18 | 3.4× |
| 38 | Bedford | East of England | 2.0 | 61 | 122 | 57 | 22,700 | 89 | 0.7× |
| 39 | Oldham | North West | 1.9 | 61 | 122 | 52 | 20,900 | 18 | 3.5× |
| 40 | Warrington | North West | 1.9 | 61 | 121 | 52 | 20,800 | 30 | 2.0× |
| 41 | Gateshead | North East | 1.9 | 60 | 120 | 53 | 21,000 | 16 | 3.7× |
| 42 | Buckinghamshire | South East | 1.9 | 58 | 117 | 54 | 21,700 | 240 | 0.2× |
| 43 | Liverpool | North West | 1.9 | 58 | 116 | 50 | 19,900 | 33 | 1.8× |
| 44 | Barnsley | Yorkshire and The Humber | 1.9 | 58 | 116 | 51 | 20,400 | 36 | 1.6× |
| 45 | Harborough | East Midlands | 1.8 | 57 | 115 | 52 | 20,900 | 53 | 1.1× |
| 46 | North Lincolnshire | Yorkshire and The Humber | 1.8 | 57 | 115 | 50 | 20,100 | 119 | 0.5× |
| 47 | Manchester | North West | 1.8 | 57 | 114 | 49 | 19,600 | 41 | 1.4× |
| 48 | Calderdale | Yorkshire and The Humber | 1.8 | 57 | 114 | 50 | 20,100 | 19 | 2.9× |
| 49 | Sunderland | North East | 1.8 | 56 | 113 | 49 | 19,700 | 45 | 1.3× |
| 50 | Cumberland | North West | 1.8 | 56 | 113 | 48 | 19,300 | 86 | 0.7× |
| 51 | North Warwickshire | West Midlands | 1.8 | 56 | 112 | 51 | 20,400 | 32 | 1.7× |
| 52 | East Staffordshire | West Midlands | 1.7 | 54 | 109 | 49 | 19,600 | 62 | 0.9× |
| 53 | Thurrock | East of England | 1.7 | 54 | 107 | 50 | 19,900 | 175 | 0.3× |
| 54 | Ealing | London | 1.7 | 52 | 104 | 42 | 16,600 | 18 | 2.9× |
| 55 | Northumberland | North East | 1.6 | 51 | 102 | 45 | 17,900 | 65 | 0.8× |
| 56 | Flintshire / Sir y Fflint | Wales | 1.6 | 50 | 101 | 45 | 17,900 | 112 | 0.4× |
| 57 | Rugby | West Midlands | 1.6 | 50 | 100 | 45 | 18,200 | 87 | 0.6× |
| 58 | Knowsley | North West | 1.6 | 49 | 99 | 42 | 16,900 | 19 | 2.5× |
| 59 | Cornwall | South West | 1.6 | 49 | 99 | 44 | 17,800 | 683 | 0.1× |
| 60 | Blackburn with Darwen | North West | 1.6 | 49 | 98 | 42 | 16,800 | 16 | 3.1× |
| 61 | Dorset | South West | 1.5 | 48 | 95 | 43 | 17,200 | 476 | 0.1× |
| 62 | Ashfield | East Midlands | 1.5 | 47 | 94 | 43 | 17,000 | 20 | 2.3× |
| 63 | Salford | North West | 1.5 | 46 | 93 | 40 | 15,900 | 22 | 2.1× |
| 64 | Halton | North West | 1.5 | 46 | 92 | 39 | 15,700 | 14 | 3.4× |
| 65 | Shropshire | West Midlands | 1.5 | 46 | 91 | 41 | 16,500 | 317 | 0.1× |
| 66 | Stockton-on-Tees | North East | 1.4 | 45 | 90 | 39 | 15,800 | 33 | 1.4× |
| 67 | West Suffolk | East of England | 1.4 | 45 | 90 | 42 | 16,700 | 216 | 0.2× |
| 68 | Derby | East Midlands | 1.4 | 44 | 88 | 40 | 16,100 | 27 | 1.6× |
| 69 | St. Helens | North West | 1.4 | 44 | 87 | 37 | 14,900 | 17 | 2.5× |
| 70 | Tameside | North West | 1.4 | 42 | 85 | 36 | 14,500 | 24 | 1.7× |
| 71 | Cherwell | South East | 1.3 | 42 | 84 | 39 | 15,600 | 141 | 0.3× |
| 72 | East Suffolk | East of England | 1.3 | 41 | 82 | 38 | 15,300 | 164 | 0.3× |
| 73 | Wrexham / Wrecsam | Wales | 1.3 | 41 | 82 | 36 | 14,500 | 51 | 0.8× |
| 74 | Herefordshire | West Midlands | 1.3 | 41 | 82 | 37 | 14,800 | 128 | 0.3× |
| 75 | Huntingdonshire | East of England | 1.3 | 40 | 80 | 37 | 14,900 | 162 | 0.2× |
| 76 | Caerphilly / Caerffili | Wales | 1.3 | 40 | 79 | 35 | 14,000 | 72 | 0.5× |
| 77 | Bassetlaw | East Midlands | 1.3 | 39 | 79 | 36 | 14,300 | 201 | 0.2× |
| 78 | Test Valley | South East | 1.3 | 39 | 78 | 36 | 14,600 | 253 | 0.2× |
| 79 | Nottingham | East Midlands | 1.2 | 39 | 78 | 36 | 14,200 | 38 | 1.0× |
| 80 | Rhondda Cynon Taf / Rhondda Cynon Taf | Wales | 1.2 | 39 | 78 | 35 | 13,800 | 70 | 0.6× |
| 81 | Bournemouth, Christchurch and Poole | South West | 1.2 | 39 | 78 | 35 | 14,000 | 140 | 0.3× |
| 82 | Amber Valley | East Midlands | 1.2 | 37 | 75 | 34 | 13,600 | 39 | 0.9× |
| 83 | West Lancashire | North West | 1.2 | 37 | 74 | 32 | 12,700 | 28 | 1.3× |
| 84 | Stockport | North West | 1.2 | 37 | 74 | 32 | 12,600 | 28 | 1.3× |
| 85 | Hinckley and Bosworth | East Midlands | 1.2 | 36 | 73 | 33 | 13,200 | 61 | 0.6× |
| 86 | Bolsover | East Midlands | 1.1 | 36 | 71 | 32 | 12,900 | 27 | 1.3× |
| 87 | Charnwood | East Midlands | 1.1 | 35 | 70 | 32 | 12,800 | 87 | 0.4× |
| 88 | Brent | London | 1.1 | 34 | 69 | 28 | 11,000 | 14 | 2.5× |
| 89 | Wychavon | West Midlands | 1.1 | 34 | 68 | 31 | 12,300 | 226 | 0.2× |
| 90 | Basildon | East of England | 1.1 | 34 | 68 | 31 | 12,600 | 36 | 0.9× |
| 91 | Enfield | London | 1.0 | 33 | 65 | 26 | 10,500 | 14 | 2.3× |
| 92 | Wirral | North West | 1.0 | 32 | 65 | 28 | 11,100 | 24 | 1.4× |
| 93 | Hillingdon | London | 1.0 | 32 | 65 | 26 | 10,300 | 16 | 2.1× |
| 94 | Stafford | West Midlands | 1.0 | 32 | 64 | 29 | 11,700 | 25 | 1.3× |
| 95 | Hounslow | London | 1.0 | 32 | 64 | 26 | 10,200 | 18 | 1.8× |
| 96 | Cardiff / Caerdydd | Wales | 1.0 | 32 | 64 | 28 | 11,300 | 46 | 0.7× |
| 97 | Bexley | London | 1.0 | 31 | 62 | 25 | 10,000 | 14 | 2.2× |
| 98 | North Tyneside | North East | 1.0 | 31 | 62 | 27 | 10,800 | 22 | 1.4× |
| 99 | Dartford | South East | 1.0 | 30 | 61 | 28 | 11,300 | 16 | 1.9× |
| 100 | Warwick | West Midlands | 1.0 | 30 | 60 | 27 | 10,900 | 64 | 0.5× |
| 101 | Newport / Casnewydd | Wales | 1.0 | 30 | 60 | 27 | 10,700 | 112 | 0.3× |
| 102 | Lichfield | West Midlands | 1.0 | 30 | 60 | 27 | 10,900 | 17 | 1.8× |
| 103 | Fenland | East of England | 1.0 | 30 | 59 | 28 | 11,100 | 48 | 0.6× |
| 104 | Nuneaton and Bedworth | West Midlands | 0.9 | 30 | 59 | 27 | 10,700 | 12 | 2.5× |
| 105 | Barking and Dagenham | London | 0.9 | 29 | 59 | 23 | 9,400 | 12 | 2.4× |
| 106 | Newcastle upon Tyne | North East | 0.9 | 29 | 58 | 26 | 10,200 | 22 | 1.4× |
| 107 | King's Lynn and West Norfolk | East of England | 0.9 | 29 | 58 | 27 | 10,800 | 137 | 0.2× |
| 108 | South Ribble | North West | 0.9 | 29 | 58 | 25 | 10,000 | 17 | 1.7× |
| 109 | Westmorland and Furness | North West | 0.9 | 28 | 57 | 24 | 9,700 | 79 | 0.4× |
| 110 | Swale | South East | 0.9 | 28 | 57 | 26 | 10,600 | 448 | 0.1× |
| 111 | Breckland | East of England | 0.9 | 28 | 56 | 26 | 10,400 | 102 | 0.3× |
| 112 | Burnley | North West | 0.9 | 28 | 56 | 24 | 9,600 | 8 | 3.4× |
| 113 | Mid Suffolk | East of England | 0.9 | 28 | 56 | 26 | 10,400 | 49 | 0.6× |
| 114 | Newcastle-under-Lyme | West Midlands | 0.9 | 28 | 55 | 25 | 10,000 | 18 | 1.6× |
| 115 | Braintree | East of England | 0.9 | 27 | 55 | 26 | 10,200 | 155 | 0.2× |
| 116 | Medway | South East | 0.9 | 27 | 54 | 25 | 10,100 | 35 | 0.8× |
| 117 | Tewkesbury | South West | 0.9 | 27 | 54 | 24 | 9,700 | 63 | 0.4× |
| 118 | Tonbridge and Malling | South East | 0.8 | 26 | 52 | 24 | 9,700 | 30 | 0.9× |
| 119 | Redditch | West Midlands | 0.8 | 26 | 52 | 24 | 9,400 | 9 | 3.0× |
| 120 | Bury | North West | 0.8 | 26 | 52 | 22 | 8,800 | 13 | 2.0× |
| 121 | Stratford-on-Avon | West Midlands | 0.8 | 26 | 51 | 23 | 9,300 | 211 | 0.1× |
| 122 | North East Lincolnshire | Yorkshire and The Humber | 0.8 | 26 | 51 | 22 | 9,000 | 63 | 0.4× |
| 123 | Cannock Chase | West Midlands | 0.8 | 25 | 51 | 23 | 9,200 | 11 | 2.4× |
| 124 | Stroud | South West | 0.8 | 25 | 51 | 23 | 9,100 | 73 | 0.3× |
| 125 | Blaby | East Midlands | 0.8 | 25 | 50 | 23 | 9,200 | 18 | 1.4× |
| 126 | West Berkshire | South East | 0.8 | 25 | 50 | 24 | 9,400 | 49 | 0.5× |
| 127 | Chesterfield | East Midlands | 0.8 | 25 | 50 | 23 | 9,100 | 40 | 0.6× |
| 128 | Powys / Powys | Wales | 0.8 | 25 | 50 | 22 | 8,800 | 56 | 0.4× |
| 129 | Erewash | East Midlands | 0.8 | 25 | 50 | 23 | 9,000 | 13 | 1.9× |
| 130 | South Kesteven | East Midlands | 0.8 | 25 | 49 | 22 | 8,900 | 135 | 0.2× |
| 131 | South Staffordshire | West Midlands | 0.8 | 25 | 49 | 22 | 8,900 | 29 | 0.9× |
| 132 | Darlington | North East | 0.8 | 24 | 48 | 21 | 8,300 | 56 | 0.4× |
| 133 | Plymouth | South West | 0.8 | 24 | 47 | 21 | 8,500 | 41 | 0.6× |
| 134 | Sefton | North West | 0.8 | 24 | 47 | 20 | 8,000 | 19 | 1.2× |
| 135 | Torfaen / Tor-faen | Wales | 0.8 | 24 | 47 | 21 | 8,300 | 23 | 1.0× |
| 136 | Preston | North West | 0.7 | 23 | 46 | 20 | 7,900 | 25 | 0.9× |
| 137 | Hyndburn | North West | 0.7 | 23 | 46 | 20 | 7,900 | 10 | 2.3× |
| 138 | Swansea / Abertawe | Wales | 0.7 | 23 | 46 | 20 | 8,100 | 75 | 0.3× |
| 139 | Slough | South East | 0.7 | 22 | 44 | 21 | 8,200 | 9 | 2.5× |
| 140 | Pendle | North West | 0.7 | 22 | 44 | 19 | 7,400 | 10 | 2.1× |
| 141 | Basingstoke and Deane | South East | 0.7 | 22 | 43 | 20 | 8,100 | 80 | 0.3× |
| 142 | Welwyn Hatfield | East of England | 0.7 | 22 | 43 | 20 | 8,000 | 11 | 2.0× |
| 143 | Solihull | West Midlands | 0.7 | 22 | 43 | 19 | 7,800 | 19 | 1.1× |
| 144 | Luton | East of England | 0.7 | 21 | 43 | 20 | 8,000 | 12 | 1.8× |
| 145 | Tamworth | West Midlands | 0.7 | 21 | 43 | 19 | 7,700 | 7 | 3.0× |
| 146 | Bridgend / Pen-y-bont ar Ogwr | Wales | 0.7 | 21 | 42 | 19 | 7,500 | 46 | 0.5× |
| 147 | South Derbyshire | East Midlands | 0.7 | 21 | 42 | 19 | 7,700 | 40 | 0.5× |
| 148 | Harlow | East of England | 0.7 | 21 | 42 | 19 | 7,800 | 7 | 3.1× |
| 149 | High Peak | East Midlands | 0.7 | 21 | 41 | 19 | 7,500 | 9 | 2.2× |
| 150 | Carmarthenshire / Sir Gaerfyrddin | Wales | 0.7 | 20 | 41 | 18 | 7,200 | 210 | 0.1× |
| 151 | Newham | London | 0.6 | 20 | 41 | 16 | 6,500 | 10 | 2.0× |
| 152 | South Holland | East Midlands | 0.6 | 20 | 40 | 18 | 7,400 | 98 | 0.2× |
| 153 | North Somerset | South West | 0.6 | 20 | 40 | 18 | 7,300 | 109 | 0.2× |
| 154 | Crawley | South East | 0.6 | 20 | 40 | 19 | 7,500 | 11 | 1.8× |
| 155 | Norwich | East of England | 0.6 | 20 | 40 | 19 | 7,400 | 15 | 1.3× |
| 156 | East Devon | South West | 0.6 | 20 | 39 | 18 | 7,100 | 141 | 0.1× |
| 157 | Wyre Forest | West Midlands | 0.6 | 20 | 39 | 18 | 7,100 | 13 | 1.5× |
| 158 | Portsmouth | South East | 0.6 | 19 | 39 | 18 | 7,200 | 19 | 1.0× |
| 159 | South Cambridgeshire | East of England | 0.6 | 19 | 39 | 18 | 7,200 | 305 | 0.1× |
| 160 | West Oxfordshire | South East | 0.6 | 19 | 38 | 18 | 7,200 | 119 | 0.2× |
| 161 | Reading | South East | 0.6 | 19 | 38 | 18 | 7,100 | 14 | 1.3× |
| 162 | East Lindsey | East Midlands | 0.6 | 19 | 38 | 17 | 6,900 | 178 | 0.1× |
| 163 | North Kesteven | East Midlands | 0.6 | 19 | 38 | 17 | 6,900 | 175 | 0.1× |
| 164 | Neath Port Talbot / Castell-nedd Port Talbot | Wales | 0.6 | 19 | 37 | 16 | 6,600 | 45 | 0.4× |
| 165 | Vale of White Horse | South East | 0.6 | 18 | 37 | 17 | 6,900 | 173 | 0.1× |
| 166 | Rossendale | North West | 0.6 | 18 | 37 | 16 | 6,300 | 9 | 2.0× |
| 167 | Gloucester | South West | 0.6 | 18 | 36 | 16 | 6,500 | 16 | 1.1× |
| 168 | Havering | London | 0.6 | 18 | 36 | 14 | 5,800 | 18 | 1.0× |
| 169 | North Hertfordshire | East of England | 0.6 | 18 | 36 | 17 | 6,700 | 43 | 0.4× |
| 170 | Middlesbrough | North East | 0.6 | 18 | 36 | 16 | 6,300 | 13 | 1.3× |
| 171 | Eastleigh | South East | 0.6 | 18 | 36 | 17 | 6,600 | 35 | 0.5× |
| 172 | Maidstone | South East | 0.6 | 18 | 35 | 16 | 6,600 | 37 | 0.5× |
| 173 | Southampton | South East | 0.6 | 18 | 35 | 16 | 6,600 | 21 | 0.8× |
| 174 | New Forest | South East | 0.6 | 18 | 35 | 16 | 6,600 | 82 | 0.2× |
| 175 | Lancaster | North West | 0.6 | 17 | 35 | 15 | 6,000 | 29 | 0.6× |
| 176 | Babergh | East of England | 0.6 | 17 | 34 | 16 | 6,400 | 26 | 0.7× |
| 177 | North East Derbyshire | East Midlands | 0.5 | 17 | 34 | 15 | 6,200 | 65 | 0.3× |
| 178 | Chorley | North West | 0.5 | 17 | 34 | 15 | 5,800 | 17 | 1.0× |
| 179 | West Lindsey | East Midlands | 0.5 | 17 | 34 | 15 | 6,200 | 60 | 0.3× |
| 180 | Broadland | East of England | 0.5 | 17 | 34 | 16 | 6,300 | 60 | 0.3× |
| 181 | Dacorum | East of England | 0.5 | 17 | 34 | 16 | 6,200 | 30 | 0.6× |
| 182 | Wealden | South East | 0.5 | 17 | 33 | 16 | 6,200 | 100 | 0.2× |
| 183 | Blackpool | North West | 0.5 | 16 | 33 | 14 | 5,600 | 8 | 2.0× |
| 184 | Ashford | South East | 0.5 | 16 | 33 | 15 | 6,100 | 50 | 0.3× |
| 185 | Merton | London | 0.5 | 16 | 32 | 13 | 5,200 | 11 | 1.5× |
| 186 | South Tyneside | North East | 0.5 | 16 | 32 | 14 | 5,700 | 13 | 1.2× |
| 187 | Boston | East Midlands | 0.5 | 16 | 32 | 15 | 5,900 | 113 | 0.1× |
| 188 | Horsham | South East | 0.5 | 16 | 32 | 15 | 6,000 | 73 | 0.2× |
| 189 | Worcester | West Midlands | 0.5 | 16 | 32 | 15 | 5,800 | 13 | 1.3× |
| 190 | Colchester | East of England | 0.5 | 16 | 32 | 15 | 6,000 | 202 | 0.1× |
| 191 | Ipswich | East of England | 0.5 | 16 | 32 | 15 | 6,000 | 19 | 0.8× |
| 192 | Broxbourne | East of England | 0.5 | 15 | 31 | 14 | 5,800 | 7 | 2.2× |
| 193 | Bromsgrove | West Midlands | 0.5 | 15 | 31 | 14 | 5,600 | 14 | 1.1× |
| 194 | Mid Sussex | South East | 0.5 | 15 | 30 | 14 | 5,600 | 40 | 0.4× |
| 195 | Croydon | London | 0.5 | 15 | 30 | 12 | 4,800 | 22 | 0.7× |
| 196 | South Oxfordshire | South East | 0.5 | 15 | 30 | 14 | 5,600 | 161 | 0.1× |
| 197 | Newark and Sherwood | East Midlands | 0.5 | 15 | 30 | 14 | 5,500 | 220 | 0.1× |
| 198 | Chelmsford | East of England | 0.5 | 15 | 30 | 14 | 5,500 | 51 | 0.3× |
| 199 | Redcar and Cleveland | North East | 0.5 | 15 | 29 | 13 | 5,200 | 20 | 0.7× |
| 200 | Forest of Dean | South West | 0.5 | 15 | 29 | 13 | 5,300 | 132 | 0.1× |
| 201 | Cotswold | South West | 0.5 | 15 | 29 | 13 | 5,300 | 99 | 0.1× |
| 202 | East Hampshire | South East | 0.5 | 14 | 29 | 13 | 5,400 | 66 | 0.2× |
| 203 | Blaenau Gwent / Blaenau Gwent | Wales | 0.5 | 14 | 29 | 13 | 5,100 | 30 | 0.5× |
| 204 | Monmouthshire / Sir Fynwy | Wales | 0.5 | 14 | 28 | 13 | 5,000 | 93 | 0.2× |
| 205 | South Norfolk | East of England | 0.5 | 14 | 28 | 13 | 5,200 | 117 | 0.1× |
| 206 | Teignbridge | South West | 0.5 | 14 | 28 | 13 | 5,100 | 50 | 0.3× |
| 207 | Fareham | South East | 0.4 | 14 | 28 | 13 | 5,200 | 39 | 0.4× |
| 208 | Winchester | South East | 0.4 | 14 | 28 | 13 | 5,200 | 140 | 0.1× |
| 209 | Haringey | London | 0.4 | 14 | 28 | 11 | 4,400 | 9 | 1.5× |
| 210 | Great Yarmouth | East of England | 0.4 | 14 | 27 | 13 | 5,100 | 32 | 0.4× |
| 211 | Mid Devon | South West | 0.4 | 14 | 27 | 12 | 4,900 | 115 | 0.1× |
| 212 | North Norfolk | East of England | 0.4 | 14 | 27 | 13 | 5,000 | 196 | 0.1× |
| 213 | Exeter | South West | 0.4 | 13 | 27 | 12 | 4,800 | 27 | 0.5× |
| 214 | Tendring | East of England | 0.4 | 13 | 27 | 12 | 5,000 | 92 | 0.1× |
| 215 | North Devon | South West | 0.4 | 13 | 27 | 12 | 4,800 | 143 | 0.1× |
| 216 | Mansfield | East Midlands | 0.4 | 13 | 26 | 12 | 4,800 | 58 | 0.2× |
| 217 | East Hertfordshire | East of England | 0.4 | 13 | 26 | 12 | 4,800 | 24 | 0.5× |
| 218 | East Cambridgeshire | East of England | 0.4 | 13 | 26 | 12 | 4,800 | 296 | 0.0× |
| 219 | Staffordshire Moorlands | West Midlands | 0.4 | 13 | 25 | 11 | 4,600 | 36 | 0.3× |
| 220 | Greenwich | London | 0.4 | 13 | 25 | 10 | 4,000 | 16 | 0.8× |
| 221 | Wokingham | South East | 0.4 | 13 | 25 | 12 | 4,700 | 58 | 0.2× |
| 222 | Arun | South East | 0.4 | 12 | 25 | 12 | 4,700 | 76 | 0.2× |
| 223 | Chichester | South East | 0.4 | 12 | 25 | 12 | 4,600 | 89 | 0.1× |
| 224 | Bath and North East Somerset | South West | 0.4 | 12 | 25 | 11 | 4,500 | 57 | 0.2× |
| 225 | South Hams | South West | 0.4 | 12 | 25 | 11 | 4,500 | 149 | 0.1× |
| 226 | Isle of Wight | South East | 0.4 | 12 | 25 | 11 | 4,600 | 102 | 0.1× |
| 227 | Gwynedd / Gwynedd | Wales | 0.4 | 12 | 25 | 11 | 4,400 | 67 | 0.2× |
| 228 | Waltham Forest | London | 0.4 | 12 | 25 | 10 | 3,900 | 14 | 0.9× |
| 229 | Uttlesford | East of England | 0.4 | 12 | 24 | 11 | 4,500 | 88 | 0.1× |
| 230 | York | Yorkshire and The Humber | 0.4 | 12 | 24 | 11 | 4,200 | 24 | 0.5× |
| 231 | Rushcliffe | East Midlands | 0.4 | 12 | 24 | 11 | 4,400 | 75 | 0.2× |
| 232 | Southwark | London | 0.4 | 12 | 24 | 10 | 3,900 | 12 | 1.0× |
| 233 | Wyre | North West | 0.4 | 12 | 24 | 10 | 4,100 | 27 | 0.4× |
| 234 | Havant | South East | 0.4 | 12 | 24 | 11 | 4,400 | 19 | 0.6× |
| 235 | Hartlepool | North East | 0.4 | 12 | 23 | 10 | 4,100 | 76 | 0.2× |
| 236 | Gedling | East Midlands | 0.4 | 12 | 23 | 11 | 4,200 | 21 | 0.6× |
| 237 | Vale of Glamorgan / Bro Morgannwg | Wales | 0.4 | 12 | 23 | 10 | 4,100 | 94 | 0.1× |
| 238 | Maldon | East of England | 0.4 | 12 | 23 | 11 | 4,300 | 46 | 0.2× |
| 239 | Thanet | South East | 0.4 | 12 | 23 | 11 | 4,300 | 56 | 0.2× |
| 240 | Denbighshire / Sir Ddinbych | Wales | 0.4 | 11 | 22 | 10 | 4,000 | 27 | 0.4× |
| 241 | Broxtowe | East Midlands | 0.4 | 11 | 22 | 10 | 4,000 | 22 | 0.5× |
| 242 | Rochford | East of England | 0.4 | 11 | 22 | 10 | 4,100 | 96 | 0.1× |
| 243 | Sevenoaks | South East | 0.3 | 11 | 22 | 10 | 4,100 | 17 | 0.7× |
| 244 | Epping Forest | East of England | 0.3 | 11 | 22 | 10 | 4,000 | 14 | 0.8× |
| 245 | Tower Hamlets | London | 0.3 | 11 | 22 | 9 | 3,500 | 9 | 1.2× |
| 246 | Oadby and Wigston | East Midlands | 0.3 | 11 | 22 | 10 | 3,900 | 7 | 1.5× |
| 247 | Sutton | London | 0.3 | 11 | 21 | 9 | 3,400 | 12 | 0.9× |
| 248 | Pembrokeshire / Sir Benfro | Wales | 0.3 | 11 | 21 | 9 | 3,800 | 249 | 0.0× |
| 249 | Southend-on-Sea | East of England | 0.3 | 11 | 21 | 10 | 4,000 | 12 | 0.9× |
| 250 | Lincoln | East Midlands | 0.3 | 10 | 21 | 10 | 3,800 | 10 | 1.1× |
| 251 | Lewes | South East | 0.3 | 10 | 21 | 10 | 3,900 | 26 | 0.4× |
| 252 | Bromley | London | 0.3 | 10 | 21 | 8 | 3,300 | 20 | 0.5× |
| 253 | Guildford | South East | 0.3 | 10 | 20 | 9 | 3,800 | 21 | 0.5× |
| 254 | Tunbridge Wells | South East | 0.3 | 10 | 20 | 9 | 3,700 | 51 | 0.2× |
| 255 | Bracknell Forest | South East | 0.3 | 10 | 20 | 9 | 3,700 | 17 | 0.6× |
| 256 | Malvern Hills | West Midlands | 0.3 | 10 | 20 | 9 | 3,600 | 24 | 0.4× |
| 257 | Canterbury | South East | 0.3 | 10 | 19 | 9 | 3,600 | 123 | 0.1× |
| 258 | Fylde | North West | 0.3 | 9 | 18 | 8 | 3,200 | 37 | 0.2× |
| 259 | Stevenage | East of England | 0.3 | 9 | 18 | 8 | 3,300 | 9 | 1.0× |
| 260 | Melton | East Midlands | 0.3 | 9 | 18 | 8 | 3,300 | 37 | 0.2× |
| 261 | Watford | East of England | 0.3 | 9 | 18 | 8 | 3,300 | 6 | 1.5× |
| 262 | Cheltenham | South West | 0.3 | 9 | 18 | 8 | 3,200 | 14 | 0.6× |
| 263 | Dover | South East | 0.3 | 9 | 18 | 8 | 3,300 | 40 | 0.2× |
| 264 | Wandsworth | London | 0.3 | 9 | 17 | 7 | 2,800 | 10 | 0.9× |
| 265 | St Albans | East of England | 0.3 | 9 | 17 | 8 | 3,200 | 19 | 0.5× |
| 266 | Derbyshire Dales | East Midlands | 0.3 | 8 | 17 | 8 | 3,100 | 79 | 0.1× |
| 267 | Rushmoor | South East | 0.3 | 8 | 17 | 8 | 3,200 | 10 | 0.8× |
| 268 | Hertsmere | East of England | 0.3 | 8 | 17 | 8 | 3,100 | 20 | 0.4× |
| 269 | Adur | South East | 0.3 | 8 | 17 | 8 | 3,100 | 8 | 1.1× |
| 270 | Ribble Valley | North West | 0.3 | 8 | 16 | 7 | 2,800 | 19 | 0.4× |
| 271 | Torridge | South West | 0.3 | 8 | 16 | 7 | 2,900 | 167 | 0.0× |
| 272 | Hastings | South East | 0.3 | 8 | 16 | 7 | 2,900 | 8 | 1.0× |
| 273 | Merthyr Tydfil / Merthyr Tudful | Wales | 0.3 | 8 | 16 | 7 | 2,800 | 7 | 1.1× |
| 274 | Surrey Heath | South East | 0.3 | 8 | 16 | 7 | 2,900 | 11 | 0.7× |
| 275 | Kingston upon Thames | London | 0.2 | 8 | 16 | 6 | 2,500 | 9 | 0.8× |
| 276 | Folkestone and Hythe | South East | 0.2 | 8 | 15 | 7 | 2,800 | 38 | 0.2× |
| 277 | Brighton and Hove | South East | 0.2 | 7 | 15 | 7 | 2,800 | 26 | 0.3× |
| 278 | Reigate and Banstead | South East | 0.2 | 7 | 15 | 7 | 2,800 | 18 | 0.4× |
| 279 | Torbay | South West | 0.2 | 7 | 15 | 7 | 2,700 | 15 | 0.5× |
| 280 | Conwy / Conwy | Wales | 0.2 | 7 | 15 | 7 | 2,600 | 49 | 0.1× |
| 281 | Redbridge | London | 0.2 | 7 | 15 | 6 | 2,400 | 11 | 0.7× |
| 282 | Elmbridge | South East | 0.2 | 7 | 15 | 7 | 2,700 | 22 | 0.3× |
| 283 | Windsor and Maidenhead | South East | 0.2 | 7 | 14 | 7 | 2,700 | 20 | 0.4× |
| 284 | Gosport | South East | 0.2 | 7 | 14 | 6 | 2,600 | 9 | 0.7× |
| 285 | Brentwood | East of England | 0.2 | 7 | 14 | 6 | 2,500 | 57 | 0.1× |
| 286 | Worthing | South East | 0.2 | 7 | 13 | 6 | 2,500 | 11 | 0.6× |
| 287 | Rother | South East | 0.2 | 7 | 13 | 6 | 2,500 | 21 | 0.3× |
| 288 | Waverley | South East | 0.2 | 6 | 13 | 6 | 2,400 | 23 | 0.3× |
| 289 | Lambeth | London | 0.2 | 6 | 13 | 5 | 2,000 | 10 | 0.6× |
| 290 | Hackney | London | 0.2 | 6 | 13 | 5 | 2,000 | 10 | 0.6× |
| 291 | Lewisham | London | 0.2 | 6 | 13 | 5 | 2,000 | 11 | 0.6× |
| 292 | Gravesham | South East | 0.2 | 6 | 13 | 6 | 2,300 | 12 | 0.5× |
| 293 | Spelthorne | South East | 0.2 | 6 | 13 | 6 | 2,300 | 10 | 0.6× |
| 294 | Castle Point | East of England | 0.2 | 6 | 12 | 6 | 2,300 | 7 | 0.9× |
| 295 | Runnymede | South East | 0.2 | 6 | 12 | 6 | 2,300 | 11 | 0.5× |
| 296 | Woking | South East | 0.2 | 6 | 12 | 6 | 2,300 | 14 | 0.4× |
| 297 | Rutland | East Midlands | 0.2 | 6 | 12 | 5 | 2,200 | 26 | 0.2× |
| 298 | Eastbourne | South East | 0.2 | 6 | 12 | 6 | 2,200 | 11 | 0.6× |
| 299 | Ceredigion / Ceredigion | Wales | 0.2 | 6 | 11 | 5 | 2,000 | 54 | 0.1× |
| 300 | Barnet | London | 0.2 | 6 | 11 | 4 | 1,800 | 16 | 0.4× |
| 301 | Isle of Anglesey / Ynys Môn | Wales | 0.2 | 6 | 11 | 5 | 2,000 | 108 | 0.1× |
| 302 | West Devon | South West | 0.2 | 5 | 10 | 5 | 1,900 | 40 | 0.1× |
| 303 | Harrow | London | 0.2 | 5 | 10 | 4 | 1,600 | 12 | 0.4× |
| 304 | Mole Valley | South East | 0.2 | 5 | 10 | 5 | 1,800 | 14 | 0.4× |
| 305 | Cambridge | East of England | 0.2 | 5 | 10 | 4 | 1,800 | 22 | 0.2× |
| 306 | Islington | London | 0.1 | 4 | 9 | 4 | 1,400 | 7 | 0.6× |
| 307 | Hart | South East | 0.1 | 4 | 9 | 4 | 1,700 | 75 | 0.1× |
| 308 | Tandridge | South East | 0.1 | 4 | 9 | 4 | 1,700 | 12 | 0.4× |
| 309 | Oxford | South East | 0.1 | 4 | 8 | 4 | 1,500 | 17 | 0.2× |
| 310 | Three Rivers | East of England | 0.1 | 4 | 8 | 4 | 1,500 | 8 | 0.5× |
| 311 | Hammersmith and Fulham | London | 0.1 | 4 | 8 | 3 | 1,300 | 4 | 0.9× |
| 312 | Camden | London | 0.1 | 4 | 8 | 3 | 1,200 | 7 | 0.5× |
| 313 | Richmond upon Thames | London | 0.1 | 2 | 5 | 2 | 700 | 10 | 0.2× |
| 314 | Epsom and Ewell | South East | 0.1 | 2 | 4 | 2 | 700 | 6 | 0.3× |
| 315 | Kensington and Chelsea | London | 0.0 | 1 | 3 | 1 | 500 | 2 | 0.6× |
| 316 | Westminster | London | 0.0 | 1 | 1 | 0 | 200 | 7 | 0.1× |
| 317 | City of London | London | 0.0 | 0 | 0 | 0 | 100 | 1 | 0.1× |
| 318 | Isles of Scilly | South West | 0.0 | 0 | 0 | 0 | 0 | 0 | 0.3× |
* GBE estimate. Floorspace: factory and warehouse floorspace, VOA, 31 March 2026. Installed solar: DESNZ, end of 2025, all solar in the area (homes, farms, solar parks and business roofs). “Potential vs installed” is the 25% scenario divided by solar installed. Homes’ worth uses 2,500 kWh a year, rounded to the nearest 100. The floorspace by building type for every council is in the CSV.
Where the gap is widest: rooftop potential vs solar installed
Councils with at least 2 km² of factory and warehouse floorspace, ranked by how many times a quarter of their roofs could exceed all the solar already installed in the area. These are the places where rooftop potential most outstrips all the solar built so far.
| # | Local authority | Region / nation | Floorspace (km²) | Potential at 25% (MWp)* | Installed (MW) | Gap* |
|---|---|---|---|---|---|---|
| 1 | Sandwell | West Midlands | 3.8 | 120 | 22 | 5.5× |
| 2 | Rochdale | North West | 2.5 | 79 | 24 | 3.2× |
| 3 | Bradford | Yorkshire and The Humber | 3.8 | 118 | 37 | 3.2× |
| 4 | Dudley | West Midlands | 2.1 | 66 | 22 | 3.0× |
| 5 | Birmingham | West Midlands | 5.9 | 185 | 65 | 2.9× |
| 6 | Kirklees | Yorkshire and The Humber | 3.5 | 111 | 41 | 2.7× |
| 7 | Wakefield | Yorkshire and The Humber | 4.2 | 131 | 50 | 2.6× |
| 8 | Coventry | West Midlands | 2.1 | 66 | 26 | 2.6× |
| 9 | Rotherham | Yorkshire and The Humber | 2.5 | 80 | 35 | 2.3× |
| 10 | Bolton | North West | 2.1 | 64 | 30 | 2.1× |
| 11 | Wigan | North West | 2.1 | 65 | 32 | 2.0× |
| 12 | Sheffield | Yorkshire and The Humber | 3.1 | 98 | 49 | 2.0× |
| 13 | Leeds | Yorkshire and The Humber | 4.9 | 153 | 77 | 2.0× |
| 14 | Stoke-on-Trent | West Midlands | 2.4 | 75 | 39 | 2.0× |
| 15 | Leicester | East Midlands | 2.0 | 62 | 33 | 1.9× |
| 16 | Kingston upon Hull | Yorkshire and The Humber | 2.2 | 70 | 37 | 1.9× |
| 17 | Doncaster | Yorkshire and The Humber | 3.0 | 93 | 67 | 1.4× |
| 18 | Bristol | South West | 2.2 | 69 | 55 | 1.3× |
| 19 | North West Leicestershire | East Midlands | 2.9 | 92 | 73 | 1.3× |
| 20 | Peterborough | East of England | 2.2 | 68 | 55 | 1.2× |
Urban areas have little room for solar farms, so their installed total is low and the gap looks wide. That is the point: in towns and cities, roofs are where new solar can go. For car parks, see solar carports.
The biggest sheds
Big logistics and industrial buildings carry the largest single roofs. The VOA counts about 880 “large industrials” of over 20,000 m² in England and Wales, with 32.1 km² of floorspace between them, plus about 2,640 distribution warehouses with 53.5 km². At our cautious density, panels on a quarter of a 20,000 m² roof would hold about 625 kWp, and about 1.1 MWp on one of average size (36,500 m²). See warehouse solar panels for costs and payback on roofs this size.
Counts are published by the VOA rounded to the nearest 10. Council-level figures for these two types are often suppressed, so we don’t rank them.
Commercial rooftop solar potential by region
Factory and warehouse floorspace by English region and Wales (km²).
| Region / nation | Floorspace (km²) | Potential at 25% (MWp)* | At 50% (MWp)* | Generation at 25% (GWh/yr)* | Installed (MW, 2025) | Solar load factor |
|---|---|---|---|---|---|---|
| North West | 46.7 | 1,458 | 2,916 | 1,248 | 989 | 9.8% |
| West Midlands | 44.9 | 1,404 | 2,808 | 1,270 | 1,678 | 10.3% |
| East Midlands | 42.1 | 1,314 | 2,628 | 1,195 | 2,565 | 10.4% |
| Yorkshire and The Humber | 40.9 | 1,279 | 2,559 | 1,124 | 1,220 | 10.0% |
| South East | 34.4 | 1,075 | 2,150 | 1,001 | 3,666 | 10.6% |
| East of England | 33.8 | 1,056 | 2,112 | 983 | 3,455 | 10.6% |
| South West | 26.4 | 826 | 1,652 | 743 | 4,375 | 10.3% |
| Wales | 16.4 | 511 | 1,022 | 453 | 1,697 | 10.1% |
| London | 15.8 | 493 | 986 | 395 | 387 | 9.1% |
| North East | 15.5 | 485 | 971 | 425 | 472 | 10.0% |
| England and Wales | 316.9 | 9,903 | 19,805 | 8,836 | 20,505 | – |
Load factor: DESNZ standard solar PV load factor for the region, averaged over 2021–2025 to smooth out sunny and dull years. Installed solar is the sum of council figures, so it excludes a small number of installations DESNZ could not assign to an area.
What this means for businesses
A roof that already exists needs no new land. Solar on it cuts the power a business buys from the grid in daylight hours, which suits sites that run in the working day. The usual hurdles are roof strength, the cost of the system and the local grid connection.
- Cost and payback. See our commercial solar panel cost guide for typical prices and payback by system size.
- No upfront cost. Under a commercial solar PPA, a funder usually pays for and owns the panels, and you buy the power at an agreed rate. PPAs tend to suit larger roofs.
- Tax relief. Companies can claim capital allowances on solar panels, which can cut the net cost.
- Grants and loans. Our commercial solar panel grants page lists what is open now; the business energy grants hub covers the rest.
- Grid connection. Larger systems usually need a G99 application to the network operator. Adding commercial battery storage can help a site use more of its own power.
- Smaller premises. Not every roof is a big shed. See solar panels for small business and retail solar panels for shops and retail parks; England and Wales also have 27 km² of superstores and retail warehouses (in the CSV).
- Energy-heavy industry. Manufacturers with high power bills should also look at the British Industrial Competitiveness Scheme.
- Farms and public buildings. This study counts business premises only. For farm land see agrivoltaics; for schools, hospitals and council buildings see the Public Sector Decarbonisation Scheme.
In Wales? Welsh businesses have their own loans and support for solar. See business energy grants in Wales. Scotland and Northern Ireland are not covered by this data (the VOA covers England and Wales only); see business energy support in Scotland and business energy support in Northern Ireland.
Methodology and limitations
The data
- Roof space proxy. VOA, Non-domestic rating: business floorspace, March 2026 (Official Statistics, published 15 October 2026), using the local-authority file by Special Category (SCat) code. Floorspace is at 31 March 2026 on the 2023 rating list. We add up four SCat codes: “Factories, workshops and warehouses (inc bakeries & dairies)” (229 million m²), “Large industrials (over 20,000 m²)” (32.1m), “Distribution warehouses” (53.5m) and “Wholesale warehouses” (1.9m). We leave out “Land used for storage” and other open yards, which have no roof. For reference, the VOA’s whole Industry sector is 417.5 million m².
- Solar already installed. DESNZ, Regional renewable statistics (Energy Trends, published 29 September 2026): solar PV capacity in MW by local authority at the end of 2025. This counts every kind of solar: home roofs, business roofs, farms and ground-mounted solar parks.
- Sunshine. DESNZ standard solar PV load factors by region, mean of 2021–2025 (between 9.1% and 10.6%).
The formula (GBE estimate)
- Capacity (MWp) = floorspace (m²) × share of roof covered ÷ 8,000 m² per MWp.
- Generation (GWh a year) = MWp × regional load factor × 8,760 hours ÷ 1,000.
- Homes equivalent = generation ÷ 2,500 kWh, Ofgem’s typical medium household electricity use from 1 July 2026 (Ofgem TDCV decision, 27 May 2026).
- Panel density. BRE National Solar Centre (2016) gives a rule of thumb of “around 6000-8000m² of sloping roof space … per megawatt”, and says flat roofs hold less because rows need spacing. We use 8,000 m² per MWp (125 W per m²). Panels have become more powerful since 2016; the government’s Solar Roadmap (June 2025) says the UK’s largest 20% of warehouses alone offer 75 million m² of roof that could support around 15 GW, about 200 W per m². So our figure is cautious for pitched roofs and allows for row spacing on flat ones.
- Share of roof covered: a scenario, not a forecast. Not every roof can take panels: some are too weak, shaded, listed, leased on short terms or covered in plant. No official figure exists for the usable share of UK factory and warehouse roofs, so we show two clearly labelled scenarios: 25% and 50%. BRE’s own national estimate assumed 50% of south-facing commercial roof space; we lead with the more cautious 25%.
Limitations
- Floorspace is not roof area. VOA floorspace is the internal area used for rating. Mezzanines and upper floors can add floorspace without adding roof, which would overstate roof area; external walls and overhangs are left out, which understates it. Factories and warehouses are mostly single-storey, so floorspace is a reasonable proxy, but it is a proxy.
- Some roofs already have panels. Installed solar counts all solar in an area, not just business roofs, so the “gap” compares rooftop potential with everything already built. It is not a count of empty roofs.
- Suppressed cells. The VOA hides small figures (“[c]”) to protect confidentiality. We count these as zero, so council totals add up to 300.4 million m², against 316.9 million m² in the England and Wales total. Affected councils are flagged in the CSV.
- Coverage. England and Wales only. Scotland and Northern Ireland have separate rating systems and are not in the VOA data. Only properties on the local rating list are included.
- Boundaries. We use the 318 councils current in both datasets. DESNZ notes that some 2025 installations could not yet be assigned to an area and will be revised.
- Not a quote. Whether one roof suits solar depends on its structure, shading, orientation, lease and grid connection. A survey is the only way to know.
Sources
All sources checked on 1 November 2026. VOA and DESNZ data are Crown copyright under the Open Government Licence v3.0.
- VOA, Non-domestic rating: business floorspace, March 2026 (Official Statistics, published 15 October 2026)
- VOA, Floorspace, RV per m2 and counts by SCat and local authority district, 2026 (CSV)
- VOA, Non-domestic rating: floorspace background information (2026)
- VOA, Business floorspace statistical commentary (2026)
- DESNZ, Regional renewable statistics (Energy Trends, published 29 September 2026)
- DESNZ, Renewable electricity by local authority, 2014 to 2025 (Excel)
- DESNZ, Regional statistics 2009-2025: standard load factors (Excel)
- BRE National Solar Centre (2016), Solar PV on commercial buildings: a guide for owners and developers
- DESNZ, Solar Roadmap: United Kingdom powered by solar (30 June 2025)
- Ofgem, Review of typical domestic consumption values: decision (27 May 2026)
https://greatbritishenergy.com/research/commercial-rooftop-solar-potential/. Please describe derived figures as “GBE estimates”. For a local story, find your council in the table or the CSV. Press enquiries: see our About page. Sister study: the ECO4 postcode lottery.
Download the full dataset
All 318 councils plus regions and national totals: floorspace by building type, solar potential at 25% and 50%, generation, homes equivalent and solar installed, as a clean CSV.