League table · EPC register
The share of homes rated EPC C or above in every council area, computed from the full domestic EPC register. The map of where retrofit demand lives — and where the work is already done.
National share rated C+
46.6%
MHCLG Energy Performance of Buildings data (OGL) · EPC certificates lodged 2012–2026. England & Wales (the EPC scheme's reach). Councils with fewer than 100 rated certificates aren't ranked. Efficiency = mean SAP score (0–100).
| # | Council | Certificates | Rated C+ | Mean SAP |
|---|---|---|---|---|
| 1 | Tower Hamlets | 144,350 | 76.9% | 75 |
| 2 | City of London | 7,082 | 68.0% | 71 |
| 3 | Salford | 140,037 | 63.6% | 70 |
| 4 | Milton Keynes | 109,977 | 63.4% | 71 |
| 5 | Southwark | 124,909 | 63.1% | 71 |
| 6 | Hackney | 109,544 | 63.0% | 70 |
| 7 | Knowsley | 69,340 | 60.7% | 69 |
| 8 | Lewisham | 112,383 | 60.1% | 70 |
| 9 | Welwyn Hatfield | 44,808 | 59.9% | 69 |
| 10 | Islington | 104,538 | 59.2% | 69 |
| 11 | Crawley | 36,389 | 59.1% | 69 |
| 12 | Telford and Wrekin | 74,248 | 58.8% | 70 |
| 13 | Cambridge | 53,607 | 58.8% | 70 |
| 14 | Westminster | 130,252 | 58.6% | 69 |
| 15 | Vale of White Horse | 56,138 | 58.5% | 70 |
| 16 | Dartford | 41,966 | 58.2% | 70 |
| 17 | Wokingham | 47,188 | 58.1% | 70 |
| 18 | Basingstoke and Deane | 65,440 | 57.9% | 69 |
| 19 | South Derbyshire | 42,155 | 57.7% | 69 |
| 20 | Wandsworth | 149,384 | 57.7% | 69 |
| 21 | South Kesteven | 89,255 | 57.6% | 69 |
| 22 | Tewkesbury | 37,245 | 57.4% | 70 |
| 23 | Winchester | 48,742 | 57.3% | 70 |
| 24 | Stevenage | 36,064 | 57.2% | 69 |
| 25 | St Albans | 109,505 | 56.9% | 69 |
| 26 | Cherwell | 60,252 | 56.2% | 69 |
| 27 | Newham | 135,682 | 56.2% | 70 |
| 28 | Wokingham | 58,196 | 55.8% | 69 |
| 29 | Winchester | 48,242 | 55.8% | 69 |
| 30 | Hammersmith and Fulham | 95,662 | 55.6% | 69 |
| 31 | Central Bedfordshire | 69,784 | 55.5% | 68 |
| 32 | South Cambridgeshire | 64,936 | 55.4% | 69 |
| 33 | Uttlesford | 31,800 | 55.3% | 68 |
| 34 | Swindon | 80,685 | 55.3% | 69 |
| 35 | Manchester | 262,653 | 55.1% | 68 |
| 36 | Hart | 33,616 | 54.9% | 69 |
| 37 | Harlow | 44,545 | 54.8% | 69 |
| 38 | Colchester | 73,491 | 54.7% | 68 |
| 39 | Camden | 101,507 | 54.4% | 68 |
| 40 | Rushmoor | 39,891 | 54.3% | 68 |
| 41 | Test Valley | 46,478 | 54.3% | 68 |
| 42 | Mid Sussex | 56,793 | 54.1% | 69 |
| 43 | Rugby | 41,766 | 54.1% | 69 |
| 44 | Maidstone | 67,124 | 53.9% | 68 |
| 45 | Hounslow | 93,698 | 53.9% | 68 |
| 46 | Slough | 52,362 | 53.9% | 68 |
| 47 | Harborough | 36,283 | 53.8% | 68 |
| 48 | North Northamptonshire | 130,257 | 53.7% | 68 |
| 49 | Exeter | 49,172 | 53.5% | 68 |
| 50 | Dacorum | 55,248 | 53.4% | 67 |
| 51 | Harrow | 122,976 | 53.3% | 69 |
| 52 | Lewisham | 133,243 | 53.2% | 68 |
| 53 | Lambeth | 154,429 | 53.2% | 68 |
| 54 | South Gloucestershire | 98,788 | 53.0% | 68 |
| 55 | Reigate and Banstead | 55,702 | 53.0% | 67 |
| 56 | Ashford | 49,018 | 53.0% | 67 |
| 57 | East Hertfordshire | 51,532 | 52.9% | 68 |
| 58 | Huntingdonshire | 67,022 | 52.7% | 68 |
| 59 | North Tyneside | 79,948 | 52.5% | 68 |
| 60 | West Oxfordshire | 44,294 | 52.4% | 67 |
| 61 | Tonbridge and Malling | 44,287 | 52.3% | 68 |
| 62 | West Northamptonshire | 155,373 | 52.2% | 68 |
| 63 | Stratford-on-Avon | 61,441 | 52.2% | 67 |
| 64 | Winchester | 45,341 | 52.1% | 68 |
| 65 | Oxford | 58,541 | 51.9% | 67 |
| 66 | Barnet | 154,514 | 51.6% | 68 |
| 67 | Halton | 47,174 | 51.6% | 67 |
| 68 | Torfaen | 33,791 | 51.6% | 67 |
| 69 | Newport | 56,762 | 51.5% | 68 |
| 70 | Chelmsford | 64,391 | 51.3% | 67 |
| 71 | Newcastle upon Tyne | 116,184 | 51.3% | 68 |
| 72 | Broxbourne | 33,287 | 51.2% | 67 |
| 73 | Warrington | 78,031 | 51.1% | 68 |
| 74 | Norwich | 59,807 | 51.1% | 67 |
| 75 | Ealing | 136,995 | 50.9% | 68 |
| 76 | Bolsover | 34,916 | 50.8% | 67 |
| 77 | Hertsmere | 35,928 | 50.8% | 67 |
| 78 | Woking | 39,413 | 50.8% | 68 |
| 79 | Cardiff | 148,659 | 50.8% | 67 |
| 80 | Watford | 36,599 | 50.7% | 68 |
| 81 | Liverpool | 236,723 | 50.7% | 66 |
| 82 | West Suffolk | 39,560 | 50.7% | 67 |
| 83 | Vale of White Horse | 54,539 | 50.7% | 67 |
| 84 | Redditch | 30,189 | 50.6% | 67 |
| 85 | Braintree | 53,454 | 50.5% | 67 |
| 86 | North Somerset | 86,718 | 50.4% | 67 |
| 87 | Charnwood | 64,954 | 50.4% | 67 |
| 88 | Stevenage | 52,695 | 50.3% | 67 |
| 89 | South Norfolk | 54,105 | 50.1% | 67 |
| 90 | Reading | 68,932 | 50.0% | 67 |
| 91 | West Northamptonshire | 205,625 | 50.0% | 67 |
| 92 | Kensington and Chelsea | 89,095 | 49.9% | 66 |
| 93 | Chorley | 41,743 | 49.7% | 67 |
| 94 | Lichfield | 37,331 | 49.6% | 67 |
| 95 | Cheshire West and Chester | 133,665 | 49.6% | 67 |
| 96 | Horsham | 52,361 | 49.5% | 67 |
| 97 | Wychavon | 51,026 | 49.5% | 66 |
| 98 | Warwick | 60,056 | 49.4% | 67 |
| 99 | Basildon | 61,252 | 49.4% | 67 |
| 100 | Fareham | 36,529 | 49.3% | 67 |
| 101 | Preston | 65,238 | 49.2% | 67 |
| 102 | Runnymede | 32,296 | 49.1% | 67 |
| 103 | Rushcliffe | 44,809 | 49.0% | 67 |
| 104 | St Albans | 51,761 | 49.0% | 67 |
| 105 | Monmouthshire | 33,957 | 49.0% | 65 |
| 106 | East Cambridgeshire | 34,153 | 48.9% | 66 |
| 107 | Tamworth | 25,552 | 48.9% | 67 |
| 108 | Gosport | 30,937 | 48.8% | 66 |
| 109 | Vale of Glamorgan | 51,281 | 48.6% | 67 |
| 110 | West Suffolk | 71,360 | 48.5% | 66 |
| 111 | Swale | 54,509 | 48.5% | 66 |
| 112 | Plymouth | 110,620 | 48.1% | 66 |
| 113 | Ipswich | 55,245 | 48.1% | 66 |
| 114 | Sunderland | 145,241 | 48.1% | 67 |
| 115 | Newham | 78,257 | 48.1% | 68 |
| 116 | Canterbury | 59,632 | 48.0% | 67 |
| 117 | North West Leicestershire | 45,447 | 48.0% | 67 |
| 118 | Cheltenham | 48,516 | 48.0% | 66 |
| 119 | Gloucester | 49,805 | 48.0% | 67 |
| 120 | Rochdale | 85,307 | 48.0% | 66 |
| 121 | Thurrock | 58,831 | 47.9% | 67 |
| 122 | Wiltshire | 189,216 | 47.8% | 66 |
| 123 | East Staffordshire | 50,311 | 47.8% | 66 |
| 124 | Medway | 101,238 | 47.7% | 66 |
| 125 | Eastbourne | 42,479 | 47.7% | 66 |
| 126 | Havant | 45,519 | 47.6% | 66 |
| 127 | Stafford | 49,789 | 47.4% | 66 |
| 128 | Surrey Heath | 29,866 | 47.3% | 67 |
| 129 | Spelthorne | 39,354 | 47.3% | 66 |
| 130 | Stockton-on-Tees | 77,762 | 47.2% | 67 |
| 131 | Windsor and Maidenhead | 55,457 | 47.2% | 66 |
| 132 | Hinckley and Bosworth | 41,919 | 47.2% | 66 |
| 133 | South Kesteven | 56,385 | 47.2% | 66 |
| 134 | Guildford | 52,272 | 47.2% | 66 |
| 135 | East Devon | 64,262 | 47.2% | 65 |
| 136 | Bournemouth, Christchurch and Poole | 162,274 | 47.1% | 66 |
| 137 | Sutton | 75,951 | 47.1% | 66 |
| 138 | Elmbridge | 49,147 | 46.9% | 66 |
| 139 | Merton | 73,101 | 46.7% | 66 |
| 140 | Somerset | 226,952 | 46.7% | 65 |
| 141 | North Kesteven | 46,869 | 46.6% | 66 |
| 142 | Gateshead | 75,595 | 46.6% | 66 |
| 143 | Dover | 48,455 | 46.6% | 66 |
| 144 | Gravesham | 37,756 | 46.6% | 66 |
| 145 | Haringey | 111,591 | 46.6% | 66 |
| 146 | South Ribble | 38,490 | 46.6% | 67 |
| 147 | West Lancashire | 43,542 | 46.6% | 65 |
| 148 | Southampton | 101,515 | 46.5% | 65 |
| 149 | South Tyneside | 62,577 | 46.5% | 67 |
| 150 | Fenland | 41,524 | 46.5% | 65 |
| 151 | Bristol, City of | 177,742 | 46.4% | 66 |
| 152 | East Hampshire | 51,050 | 46.3% | 65 |
| 153 | Worcester | 42,418 | 46.3% | 66 |
| 154 | County Durham | 241,155 | 46.2% | 66 |
| 155 | Middlesbrough | 65,965 | 46.2% | 66 |
| 156 | Stockport | 155,732 | 46.2% | 66 |
| 157 | Brentwood | 28,894 | 46.2% | 66 |
| 158 | Hartlepool | 45,264 | 46.2% | 66 |
| 159 | Gedling | 49,131 | 46.2% | 65 |
| 160 | Tameside | 96,034 | 46.2% | 66 |
| 161 | Babergh | 34,133 | 46.1% | 65 |
| 162 | Three Rivers | 30,806 | 46.0% | 66 |
| 163 | Harrow | 83,133 | 45.9% | 66 |
| 164 | Waltham Forest | 108,044 | 45.9% | 66 |
| 165 | York | 70,543 | 45.8% | 67 |
| 166 | West Berkshire | 59,269 | 45.8% | 65 |
| 167 | Newark and Sherwood | 49,132 | 45.7% | 66 |
| 168 | Blaby | 32,823 | 45.6% | 67 |
| 169 | Hillingdon | 102,182 | 45.6% | 66 |
| 170 | Croydon | 145,346 | 45.6% | 66 |
| 171 | Folkestone and Hythe | 48,621 | 45.5% | 65 |
| 172 | Lincoln | 37,886 | 45.5% | 66 |
| 173 | Arun | 66,055 | 45.4% | 66 |
| 174 | Bridgend | 51,266 | 45.4% | 65 |
| 175 | Wigan | 76,532 | 45.4% | 66 |
| 176 | Sheffield | 213,393 | 45.4% | 65 |
| 177 | Flintshire | 56,443 | 45.2% | 65 |
| 178 | West Lindsey | 40,936 | 45.1% | 65 |
| 179 | South Norfolk | 54,421 | 45.1% | 65 |
| 180 | Kingston upon Thames | 65,092 | 45.0% | 65 |
| 181 | Northumberland | 131,510 | 44.9% | 64 |
| 182 | Kingston upon Hull, City of | 123,262 | 44.9% | 66 |
| 183 | Bath and North East Somerset | 72,796 | 44.9% | 65 |
| 184 | Broadland | 46,237 | 44.9% | 66 |
| 185 | Thanet | 67,190 | 44.8% | 65 |
| 186 | Brighton and Hove | 124,948 | 44.8% | 65 |
| 187 | Portsmouth | 91,403 | 44.8% | 65 |
| 188 | Rugby | 49,880 | 44.8% | 66 |
| 189 | Hastings | 44,181 | 44.7% | 65 |
| 190 | Wealden | 60,027 | 44.7% | 65 |
| 191 | Solihull | 148,221 | 44.7% | 66 |
| 192 | Solihull | 74,896 | 44.7% | 66 |
| 193 | Waverley | 45,163 | 44.7% | 65 |
| 194 | East Devon | 144,896 | 44.6% | 65 |
| 195 | Wrexham | 46,017 | 44.6% | 65 |
| 196 | Rochford | 26,470 | 44.6% | 66 |
| 197 | Ribble Valley | 22,598 | 44.5% | 65 |
| 198 | Cannock Chase | 37,426 | 44.5% | 66 |
| 199 | Rutland | 14,380 | 44.4% | 65 |
| 200 | Wigan | 117,251 | 44.3% | 66 |
| 201 | Lewes | 37,765 | 44.3% | 65 |
| 202 | Merthyr Tydfil | 23,706 | 44.3% | 65 |
| 203 | Luton | 75,826 | 44.3% | 65 |
| 204 | Stroud | 44,024 | 44.1% | 65 |
| 205 | Mansfield | 44,685 | 44.1% | 66 |
| 206 | Neath Port Talbot | 53,636 | 44.1% | 64 |
| 207 | Boston | 29,849 | 44.0% | 64 |
| 208 | Rotherham | 100,756 | 44.0% | 66 |
| 209 | Epsom and Ewell | 25,490 | 43.9% | 65 |
| 210 | Bassetlaw | 51,875 | 43.9% | 65 |
| 211 | Caerphilly | 62,051 | 43.9% | 65 |
| 212 | Nottingham | 155,566 | 43.8% | 65 |
| 213 | North East Derbyshire | 40,514 | 43.6% | 66 |
| 214 | Tunbridge Wells | 45,099 | 43.5% | 65 |
| 215 | East Suffolk | 101,591 | 43.4% | 64 |
| 216 | Epping Forest | 43,569 | 43.3% | 65 |
| 217 | Bolton | 106,305 | 43.2% | 65 |
| 218 | Wakefield | 173,416 | 43.2% | 67 |
| 219 | Wolverhampton | 33,425 | 43.2% | 65 |
| 220 | Darlington | 46,644 | 42.8% | 65 |
| 221 | North Devon | 30,640 | 42.8% | 63 |
| 222 | Wychavon | 31,727 | 42.8% | 64 |
| 223 | New Forest | 62,814 | 42.7% | 65 |
| 224 | High Peak | 31,022 | 42.5% | 65 |
| 225 | West Devon | 52,771 | 42.4% | 64 |
| 226 | Barnsley | 98,595 | 42.4% | 66 |
| 227 | Isle of Wight | 60,949 | 42.4% | 64 |
| 228 | Maldon | 23,663 | 42.4% | 64 |
| 229 | Leeds | 331,264 | 42.4% | 64 |
| 230 | Bexley | 85,824 | 42.2% | 65 |
| 231 | East Riding of Yorkshire | 134,210 | 42.2% | 64 |
| 232 | North East Derbyshire | 48,913 | 42.2% | 65 |
| 233 | Chesterfield | 41,920 | 42.0% | 66 |
| 234 | South Holland | 40,005 | 42.0% | 65 |
| 235 | Redditch | 31,339 | 42.0% | 65 |
| 236 | Cotswold | 37,580 | 41.9% | 63 |
| 237 | Shropshire | 122,097 | 41.8% | 63 |
| 238 | Tandridge | 30,511 | 41.8% | 65 |
| 239 | Bromley | 114,620 | 41.8% | 65 |
| 240 | North Devon | 41,730 | 41.7% | 63 |
| 241 | Swansea | 86,643 | 41.7% | 64 |
| 242 | Sandwell | 122,077 | 41.6% | 65 |
| 243 | Mole Valley | 30,286 | 41.4% | 64 |
| 244 | Melton | 19,882 | 41.4% | 64 |
| 245 | Redcar and Cleveland | 55,166 | 41.3% | 65 |
| 246 | Gedling | 45,504 | 41.2% | 65 |
| 247 | Great Yarmouth | 41,332 | 41.1% | 63 |
| 248 | Richmond upon Thames | 67,718 | 41.0% | 64 |
| 249 | Trafford | 82,562 | 41.0% | 65 |
| 250 | Havering | 85,527 | 41.0% | 65 |
| 251 | North Lincolnshire | 60,846 | 41.0% | 64 |
| 252 | Staffordshire Moorlands | 43,062 | 40.9% | 65 |
| 253 | Adur | 22,384 | 40.7% | 65 |
| 254 | Forest of Dean | 31,339 | 40.6% | 62 |
| 255 | Derby | 96,953 | 40.6% | 64 |
| 256 | Enfield | 116,645 | 40.6% | 65 |
| 257 | Redbridge | 91,054 | 40.3% | 65 |
| 258 | Birmingham | 463,708 | 40.2% | 64 |
| 259 | Sefton | 113,578 | 40.2% | 63 |
| 260 | Sevenoaks | 37,543 | 40.0% | 64 |
| 261 | Walsall | 103,439 | 40.0% | 64 |
| 262 | Fylde | 36,146 | 40.0% | 64 |
| 263 | Worthing | 44,049 | 39.9% | 64 |
| 264 | Oldham | 91,635 | 39.9% | 64 |
| 265 | Doncaster | 126,454 | 39.9% | 65 |
| 266 | Pendle | 253,492 | 39.9% | 63 |
| 267 | Wolverhampton | 94,216 | 39.8% | 64 |
| 268 | Stoke-on-Trent | 99,407 | 39.7% | 64 |
| 269 | Dudley | 116,559 | 39.7% | 64 |
| 270 | Wyre Forest | 36,627 | 39.7% | 64 |
| 271 | Herefordshire, County of | 73,514 | 39.4% | 62 |
| 272 | North Warwickshire | 25,044 | 39.2% | 64 |
| 273 | Oadby and Wigston | 19,537 | 39.1% | 65 |
| 274 | Blackburn with Darwen | 62,648 | 39.0% | 64 |
| 275 | South Hams | 40,904 | 39.0% | 62 |
| 276 | Torridge | 30,188 | 39.0% | 61 |
| 277 | Leicester | 134,034 | 39.0% | 64 |
| 278 | Wyre | 45,206 | 38.8% | 64 |
| 279 | Cornwall | 247,437 | 38.8% | 60 |
| 280 | Bury | 72,828 | 38.6% | 64 |
| 281 | Wealden | 39,159 | 38.6% | 63 |
| 282 | Tendring | 61,255 | 38.6% | 64 |
| 283 | Stockport | 101,760 | 38.2% | 64 |
| 284 | Torbay | 58,564 | 38.1% | 63 |
| 285 | Westmorland and Furness | 107,935 | 38.0% | 63 |
| 286 | Wirral | 131,151 | 38.0% | 64 |
| 287 | Kirklees | 153,319 | 38.0% | 64 |
| 288 | Broxtowe | 38,962 | 37.9% | 64 |
| 289 | Erewash | 41,183 | 37.6% | 63 |
| 290 | West Lindsey | 65,052 | 37.6% | 64 |
| 291 | Rossendale | 27,027 | 36.9% | 63 |
| 292 | Rhondda Cynon Taf | 89,401 | 36.6% | 64 |
| 293 | West Devon | 22,108 | 36.3% | 60 |
| 294 | Derbyshire Dales | 28,070 | 36.3% | 62 |
| 295 | Pembrokeshire | 48,773 | 36.0% | 60 |
| 296 | King's Lynn and West Norfolk | 68,770 | 36.0% | 61 |
| 297 | Lancaster | 51,795 | 35.0% | 62 |
| 298 | East Lindsey | 66,487 | 34.8% | 61 |
| 299 | Blaenau Gwent | 24,695 | 34.7% | 63 |
| 300 | Isle of Anglesey | 31,678 | 34.3% | 58 |
| 301 | Westmorland and Furness | 95,235 | 33.9% | 61 |
| 302 | Calderdale | 86,846 | 33.6% | 61 |
| 303 | Southend-on-Sea | 67,262 | 33.3% | 62 |
| 304 | Powys | 52,439 | 33.0% | 59 |
| 305 | Conwy | 48,063 | 32.8% | 60 |
| 306 | Burnley | 43,900 | 32.6% | 61 |
| 307 | North Norfolk | 46,668 | 32.4% | 60 |
| 308 | Carmarthenshire | 72,290 | 32.4% | 59 |
| 309 | Bradford | 233,119 | 32.3% | 61 |
| 310 | Denbighshire | 40,897 | 32.3% | 60 |
| 311 | Hyndburn | 34,658 | 30.4% | 61 |
| 312 | Staffordshire Moorlands | 32,676 | 30.3% | 61 |
| 313 | Castle Point | 26,982 | 29.3% | 62 |
| 314 | Fylde | 78,192 | 28.2% | 60 |
| 315 | Ceredigion | 31,809 | 28.0% | 56 |
| 316 | Gwynedd | 48,213 | 28.0% | 56 |
| 317 | Pendle | 40,248 | 26.8% | 60 |
| 318 | Isles of Scilly | 1,183 | 15.0% | 47 |
Paid plans add each council's full A–G distribution, efficiency by property type and the year-by-year trend — plus the planning data to find the retrofit work itself.