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 | 145,476 | 77.0% | 75 |
| 2 | City of London | 7,089 | 68.0% | 71 |
| 3 | Salford | 140,699 | 63.8% | 70 |
| 4 | Milton Keynes | 110,224 | 63.4% | 71 |
| 5 | Southwark | 125,440 | 63.2% | 71 |
| 6 | Hackney | 109,960 | 63.1% | 70 |
| 7 | Knowsley | 69,493 | 60.7% | 69 |
| 8 | Lewisham | 112,750 | 60.2% | 70 |
| 9 | Welwyn Hatfield | 44,929 | 60.0% | 69 |
| 10 | Islington | 105,323 | 59.2% | 69 |
| 11 | Crawley | 36,510 | 59.2% | 69 |
| 12 | Telford and Wrekin | 74,529 | 58.9% | 70 |
| 13 | Cambridge | 53,792 | 58.8% | 70 |
| 14 | Westminster | 130,598 | 58.6% | 69 |
| 15 | Vale of White Horse | 56,328 | 58.5% | 70 |
| 16 | Dartford | 42,101 | 58.2% | 70 |
| 17 | Wokingham | 47,357 | 58.2% | 70 |
| 18 | Basingstoke and Deane | 65,667 | 58.0% | 69 |
| 19 | Wandsworth | 149,828 | 57.7% | 69 |
| 20 | South Kesteven | 89,665 | 57.7% | 69 |
| 21 | South Derbyshire | 42,266 | 57.7% | 69 |
| 22 | Tewkesbury | 37,355 | 57.4% | 70 |
| 23 | Winchester | 48,869 | 57.4% | 70 |
| 24 | Stevenage | 36,170 | 57.2% | 69 |
| 25 | St Albans | 109,805 | 56.9% | 69 |
| 26 | Cherwell | 60,466 | 56.3% | 69 |
| 27 | Newham | 136,013 | 56.2% | 70 |
| 28 | Winchester | 48,389 | 55.8% | 69 |
| 29 | Wokingham | 58,359 | 55.8% | 69 |
| 30 | Hammersmith and Fulham | 95,950 | 55.7% | 69 |
| 31 | Central Bedfordshire | 70,107 | 55.6% | 68 |
| 32 | South Cambridgeshire | 65,197 | 55.5% | 69 |
| 33 | Swindon | 80,995 | 55.3% | 69 |
| 34 | Uttlesford | 31,908 | 55.3% | 68 |
| 35 | Manchester | 263,901 | 55.2% | 68 |
| 36 | Hart | 33,718 | 55.0% | 69 |
| 37 | Harlow | 44,662 | 54.9% | 69 |
| 38 | Colchester | 73,792 | 54.7% | 68 |
| 39 | Camden | 101,874 | 54.4% | 68 |
| 40 | Rushmoor | 39,990 | 54.4% | 68 |
| 41 | Test Valley | 46,609 | 54.3% | 68 |
| 42 | Mid Sussex | 56,992 | 54.2% | 69 |
| 43 | Rugby | 41,947 | 54.1% | 69 |
| 44 | Slough | 52,656 | 54.0% | 68 |
| 45 | Maidstone | 67,365 | 54.0% | 68 |
| 46 | Hounslow | 93,941 | 53.9% | 68 |
| 47 | Harborough | 36,408 | 53.8% | 68 |
| 48 | North Northamptonshire | 130,760 | 53.7% | 68 |
| 49 | Exeter | 49,369 | 53.5% | 68 |
| 50 | Dacorum | 55,488 | 53.5% | 67 |
| 51 | Harrow | 123,341 | 53.4% | 69 |
| 52 | Lewisham | 133,535 | 53.3% | 68 |
| 53 | Lambeth | 154,786 | 53.3% | 68 |
| 54 | South Gloucestershire | 99,084 | 53.1% | 68 |
| 55 | Reigate and Banstead | 55,865 | 53.1% | 67 |
| 56 | Ashford | 49,135 | 53.0% | 67 |
| 57 | East Hertfordshire | 51,695 | 52.9% | 68 |
| 58 | Huntingdonshire | 67,194 | 52.8% | 68 |
| 59 | North Tyneside | 80,283 | 52.6% | 68 |
| 60 | West Oxfordshire | 44,421 | 52.4% | 67 |
| 61 | Tonbridge and Malling | 44,414 | 52.3% | 68 |
| 62 | West Northamptonshire | 155,868 | 52.2% | 68 |
| 63 | Winchester | 45,498 | 52.2% | 68 |
| 64 | Stratford-on-Avon | 61,603 | 52.2% | 67 |
| 65 | Oxford | 58,767 | 52.0% | 67 |
| 66 | Halton | 47,562 | 51.8% | 67 |
| 67 | Barnet | 154,968 | 51.7% | 68 |
| 68 | Torfaen | 33,914 | 51.6% | 67 |
| 69 | Newport | 56,906 | 51.5% | 68 |
| 70 | Chelmsford | 64,625 | 51.4% | 67 |
| 71 | Newcastle upon Tyne | 116,654 | 51.4% | 68 |
| 72 | Broxbourne | 33,391 | 51.2% | 67 |
| 73 | Warrington | 78,277 | 51.2% | 68 |
| 74 | Norwich | 60,110 | 51.1% | 67 |
| 75 | Ealing | 137,441 | 51.0% | 68 |
| 76 | Bolsover | 35,040 | 50.9% | 67 |
| 77 | Hertsmere | 36,056 | 50.9% | 67 |
| 78 | Woking | 39,508 | 50.8% | 68 |
| 79 | Cardiff | 149,105 | 50.8% | 67 |
| 80 | Watford | 36,713 | 50.8% | 68 |
| 81 | Liverpool | 237,586 | 50.8% | 66 |
| 82 | West Suffolk | 39,686 | 50.7% | 67 |
| 83 | Vale of White Horse | 54,735 | 50.7% | 67 |
| 84 | Redditch | 30,254 | 50.6% | 67 |
| 85 | Braintree | 53,631 | 50.5% | 67 |
| 86 | North Somerset | 86,985 | 50.5% | 67 |
| 87 | Stevenage | 52,915 | 50.4% | 67 |
| 88 | Charnwood | 65,119 | 50.4% | 67 |
| 89 | South Norfolk | 54,290 | 50.1% | 67 |
| 90 | Reading | 69,144 | 50.0% | 67 |
| 91 | Kensington and Chelsea | 89,396 | 50.0% | 66 |
| 92 | West Northamptonshire | 206,226 | 50.0% | 67 |
| 93 | Chorley | 41,883 | 49.7% | 67 |
| 94 | Lichfield | 37,433 | 49.7% | 67 |
| 95 | Cheshire West and Chester | 134,080 | 49.6% | 67 |
| 96 | Basildon | 61,629 | 49.6% | 67 |
| 97 | Horsham | 52,499 | 49.5% | 67 |
| 98 | Wychavon | 51,154 | 49.5% | 66 |
| 99 | Warwick | 60,237 | 49.5% | 67 |
| 100 | Fareham | 36,689 | 49.4% | 67 |
| 101 | Preston | 65,464 | 49.3% | 67 |
| 102 | Runnymede | 32,531 | 49.1% | 67 |
| 103 | Rushcliffe | 44,964 | 49.1% | 67 |
| 104 | St Albans | 51,898 | 49.1% | 67 |
| 105 | Monmouthshire | 34,065 | 49.0% | 65 |
| 106 | East Cambridgeshire | 34,296 | 49.0% | 66 |
| 107 | Tamworth | 25,646 | 49.0% | 67 |
| 108 | Gosport | 31,084 | 49.0% | 66 |
| 109 | Vale of Glamorgan | 51,426 | 48.7% | 67 |
| 110 | Swale | 54,657 | 48.5% | 66 |
| 111 | West Suffolk | 71,615 | 48.5% | 66 |
| 112 | Ipswich | 55,576 | 48.3% | 66 |
| 113 | Sunderland | 145,729 | 48.2% | 67 |
| 114 | Plymouth | 111,019 | 48.2% | 66 |
| 115 | Newham | 78,562 | 48.2% | 68 |
| 116 | Canterbury | 59,803 | 48.1% | 67 |
| 117 | Gloucester | 49,982 | 48.1% | 67 |
| 118 | Rochdale | 85,659 | 48.1% | 66 |
| 119 | North West Leicestershire | 45,586 | 48.1% | 67 |
| 120 | Cheltenham | 48,675 | 48.0% | 66 |
| 121 | Thurrock | 59,046 | 48.0% | 67 |
| 122 | Havant | 45,893 | 47.9% | 66 |
| 123 | Wiltshire | 189,858 | 47.9% | 66 |
| 124 | East Staffordshire | 50,461 | 47.8% | 66 |
| 125 | Medway | 101,584 | 47.8% | 66 |
| 126 | Eastbourne | 42,636 | 47.7% | 66 |
| 127 | Stafford | 50,016 | 47.5% | 66 |
| 128 | Surrey Heath | 29,951 | 47.3% | 67 |
| 129 | Stockton-on-Tees | 78,015 | 47.3% | 67 |
| 130 | Hinckley and Bosworth | 42,054 | 47.3% | 66 |
| 131 | Spelthorne | 39,443 | 47.3% | 66 |
| 132 | Guildford | 52,597 | 47.3% | 66 |
| 133 | Windsor and Maidenhead | 55,634 | 47.3% | 66 |
| 134 | South Kesteven | 56,717 | 47.3% | 66 |
| 135 | Sutton | 76,235 | 47.2% | 66 |
| 136 | Bournemouth, Christchurch and Poole | 162,799 | 47.2% | 66 |
| 137 | East Devon | 64,456 | 47.2% | 65 |
| 138 | Elmbridge | 49,312 | 46.9% | 66 |
| 139 | Merton | 73,381 | 46.8% | 66 |
| 140 | Gateshead | 75,884 | 46.7% | 66 |
| 141 | North Kesteven | 47,062 | 46.7% | 66 |
| 142 | Somerset | 227,694 | 46.7% | 65 |
| 143 | Haringey | 111,945 | 46.7% | 66 |
| 144 | South Tyneside | 62,917 | 46.7% | 67 |
| 145 | Dover | 48,647 | 46.7% | 66 |
| 146 | Gravesham | 37,873 | 46.6% | 66 |
| 147 | West Lancashire | 43,651 | 46.6% | 65 |
| 148 | South Ribble | 38,595 | 46.6% | 67 |
| 149 | Fenland | 41,704 | 46.6% | 65 |
| 150 | Southampton | 101,782 | 46.6% | 65 |
| 151 | Bristol, City of | 178,328 | 46.4% | 66 |
| 152 | County Durham | 242,175 | 46.3% | 66 |
| 153 | Three Rivers | 31,107 | 46.3% | 66 |
| 154 | Middlesbrough | 66,241 | 46.3% | 66 |
| 155 | Hartlepool | 45,460 | 46.3% | 66 |
| 156 | Worcester | 42,543 | 46.3% | 66 |
| 157 | East Hampshire | 51,237 | 46.3% | 65 |
| 158 | Stockport | 156,200 | 46.3% | 66 |
| 159 | Gedling | 49,331 | 46.3% | 65 |
| 160 | Brentwood | 28,982 | 46.2% | 66 |
| 161 | Tameside | 96,307 | 46.2% | 66 |
| 162 | Babergh | 34,237 | 46.1% | 65 |
| 163 | Harrow | 83,514 | 46.0% | 66 |
| 164 | Waltham Forest | 108,330 | 45.9% | 66 |
| 165 | West Berkshire | 59,551 | 45.8% | 65 |
| 166 | York | 70,755 | 45.8% | 67 |
| 167 | Newark and Sherwood | 49,302 | 45.7% | 66 |
| 168 | Croydon | 146,093 | 45.7% | 66 |
| 169 | Blaby | 32,921 | 45.7% | 67 |
| 170 | Hillingdon | 102,481 | 45.7% | 66 |
| 171 | Folkestone and Hythe | 48,824 | 45.6% | 65 |
| 172 | Lincoln | 38,023 | 45.5% | 66 |
| 173 | Bridgend | 51,551 | 45.5% | 65 |
| 174 | Wigan | 76,700 | 45.5% | 66 |
| 175 | Arun | 66,253 | 45.5% | 66 |
| 176 | Sheffield | 214,539 | 45.4% | 65 |
| 177 | Flintshire | 56,696 | 45.4% | 65 |
| 178 | Northumberland | 132,779 | 45.3% | 64 |
| 179 | West Lindsey | 41,079 | 45.2% | 65 |
| 180 | South Norfolk | 54,556 | 45.1% | 65 |
| 181 | Kingston upon Thames | 65,343 | 45.1% | 65 |
| 182 | Thanet | 67,499 | 45.0% | 65 |
| 183 | Kingston upon Hull, City of | 124,119 | 45.0% | 66 |
| 184 | Solihull | 149,338 | 44.9% | 66 |
| 185 | Brighton and Hove | 125,340 | 44.9% | 65 |
| 186 | Bath and North East Somerset | 73,035 | 44.9% | 65 |
| 187 | Portsmouth | 91,922 | 44.9% | 66 |
| 188 | Broadland | 46,378 | 44.9% | 66 |
| 189 | Rugby | 50,071 | 44.8% | 66 |
| 190 | Wealden | 60,296 | 44.8% | 65 |
| 191 | Hastings | 44,315 | 44.8% | 65 |
| 192 | Solihull | 75,136 | 44.8% | 66 |
| 193 | Waverley | 45,523 | 44.7% | 65 |
| 194 | East Devon | 145,387 | 44.7% | 65 |
| 195 | Wrexham | 46,223 | 44.6% | 65 |
| 196 | Rochford | 26,595 | 44.6% | 66 |
| 197 | Cannock Chase | 37,592 | 44.6% | 66 |
| 198 | Ribble Valley | 22,673 | 44.5% | 65 |
| 199 | Merthyr Tydfil | 23,834 | 44.5% | 65 |
| 200 | Rutland | 14,450 | 44.4% | 65 |
| 201 | Wigan | 117,663 | 44.4% | 66 |
| 202 | Luton | 76,163 | 44.4% | 65 |
| 203 | Lewes | 37,891 | 44.4% | 65 |
| 204 | Mansfield | 44,923 | 44.3% | 66 |
| 205 | Neath Port Talbot | 53,928 | 44.2% | 64 |
| 206 | Rotherham | 101,670 | 44.1% | 66 |
| 207 | Stroud | 44,139 | 44.1% | 65 |
| 208 | Boston | 29,949 | 44.0% | 64 |
| 209 | Epsom and Ewell | 25,572 | 44.0% | 65 |
| 210 | Caerphilly | 62,401 | 44.0% | 65 |
| 211 | Bassetlaw | 52,078 | 44.0% | 65 |
| 212 | Nottingham | 156,029 | 43.8% | 65 |
| 213 | North East Derbyshire | 40,602 | 43.6% | 66 |
| 214 | Tunbridge Wells | 45,263 | 43.6% | 65 |
| 215 | East Suffolk | 101,933 | 43.5% | 64 |
| 216 | Epping Forest | 43,724 | 43.4% | 65 |
| 217 | Bolton | 106,625 | 43.3% | 65 |
| 218 | Wakefield | 173,850 | 43.2% | 67 |
| 219 | Wolverhampton | 33,544 | 43.2% | 65 |
| 220 | Darlington | 46,811 | 42.9% | 65 |
| 221 | North Devon | 30,725 | 42.8% | 63 |
| 222 | Wychavon | 31,820 | 42.8% | 64 |
| 223 | New Forest | 63,056 | 42.7% | 65 |
| 224 | High Peak | 31,120 | 42.5% | 65 |
| 225 | Barnsley | 98,841 | 42.5% | 66 |
| 226 | Maldon | 23,741 | 42.5% | 64 |
| 227 | West Devon | 52,919 | 42.5% | 64 |
| 228 | Isle of Wight | 61,132 | 42.4% | 64 |
| 229 | Leeds | 332,338 | 42.4% | 65 |
| 230 | East Riding of Yorkshire | 134,739 | 42.3% | 64 |
| 231 | Bexley | 86,056 | 42.3% | 65 |
| 232 | North East Derbyshire | 49,053 | 42.2% | 65 |
| 233 | Chesterfield | 42,253 | 42.2% | 66 |
| 234 | South Holland | 40,110 | 42.1% | 65 |
| 235 | Redditch | 31,422 | 42.1% | 65 |
| 236 | Cotswold | 37,712 | 42.0% | 63 |
| 237 | Shropshire | 122,522 | 41.9% | 63 |
| 238 | Tandridge | 30,605 | 41.8% | 65 |
| 239 | North Devon | 41,891 | 41.8% | 63 |
| 240 | Bromley | 114,940 | 41.8% | 65 |
| 241 | Swansea | 86,905 | 41.7% | 64 |
| 242 | Sandwell | 122,660 | 41.7% | 65 |
| 243 | Melton | 19,968 | 41.5% | 64 |
| 244 | Mole Valley | 30,383 | 41.4% | 64 |
| 245 | Redcar and Cleveland | 55,330 | 41.3% | 65 |
| 246 | Gedling | 45,636 | 41.2% | 65 |
| 247 | Havering | 86,180 | 41.2% | 65 |
| 248 | Great Yarmouth | 41,477 | 41.2% | 63 |
| 249 | Staffordshire Moorlands | 43,297 | 41.1% | 65 |
| 250 | Richmond upon Thames | 67,923 | 41.1% | 64 |
| 251 | Trafford | 82,841 | 41.1% | 65 |
| 252 | North Lincolnshire | 61,060 | 41.0% | 64 |
| 253 | Derby | 97,286 | 40.7% | 64 |
| 254 | Adur | 22,438 | 40.7% | 65 |
| 255 | Forest of Dean | 31,440 | 40.7% | 62 |
| 256 | Enfield | 116,955 | 40.6% | 65 |
| 257 | Redbridge | 91,467 | 40.4% | 65 |
| 258 | Sefton | 113,982 | 40.2% | 63 |
| 259 | Birmingham | 465,299 | 40.2% | 64 |
| 260 | Sevenoaks | 37,686 | 40.1% | 64 |
| 261 | Walsall | 103,945 | 40.1% | 64 |
| 262 | Oldham | 91,924 | 40.0% | 64 |
| 263 | Fylde | 36,220 | 40.0% | 64 |
| 264 | Doncaster | 126,828 | 40.0% | 65 |
| 265 | Worthing | 44,183 | 40.0% | 64 |
| 266 | Pendle | 254,381 | 39.9% | 63 |
| 267 | Wolverhampton | 94,479 | 39.9% | 64 |
| 268 | Stoke-on-Trent | 99,708 | 39.8% | 64 |
| 269 | Dudley | 116,879 | 39.8% | 64 |
| 270 | Wyre Forest | 36,722 | 39.8% | 64 |
| 271 | Herefordshire, County of | 73,754 | 39.4% | 62 |
| 272 | North Warwickshire | 25,117 | 39.2% | 64 |
| 273 | Oadby and Wigston | 19,627 | 39.2% | 65 |
| 274 | Leicester | 134,592 | 39.1% | 64 |
| 275 | Blackburn with Darwen | 62,843 | 39.1% | 64 |
| 276 | South Hams | 41,037 | 39.1% | 62 |
| 277 | Torridge | 30,256 | 39.0% | 61 |
| 278 | Wyre | 45,367 | 38.9% | 64 |
| 279 | Cornwall | 248,131 | 38.8% | 60 |
| 280 | Bury | 73,005 | 38.7% | 64 |
| 281 | Wealden | 39,261 | 38.7% | 63 |
| 282 | Tendring | 61,464 | 38.6% | 64 |
| 283 | Stockport | 102,224 | 38.4% | 64 |
| 284 | Torbay | 58,764 | 38.2% | 63 |
| 285 | Westmorland and Furness | 108,503 | 38.1% | 63 |
| 286 | Kirklees | 154,183 | 38.1% | 64 |
| 287 | Wirral | 131,599 | 38.0% | 64 |
| 288 | Broxtowe | 39,104 | 38.0% | 64 |
| 289 | Erewash | 41,380 | 37.8% | 63 |
| 290 | West Lindsey | 65,280 | 37.7% | 64 |
| 291 | Rossendale | 27,140 | 37.0% | 63 |
| 292 | Rhondda Cynon Taf | 89,711 | 36.7% | 64 |
| 293 | West Devon | 22,199 | 36.4% | 60 |
| 294 | Derbyshire Dales | 28,156 | 36.3% | 62 |
| 295 | Pembrokeshire | 48,941 | 36.1% | 60 |
| 296 | King's Lynn and West Norfolk | 68,990 | 36.0% | 61 |
| 297 | Lancaster | 51,962 | 35.0% | 62 |
| 298 | East Lindsey | 66,760 | 34.9% | 61 |
| 299 | Blaenau Gwent | 24,804 | 34.8% | 63 |
| 300 | Isle of Anglesey | 31,796 | 34.3% | 58 |
| 301 | Westmorland and Furness | 95,566 | 34.0% | 61 |
| 302 | Calderdale | 87,192 | 33.7% | 61 |
| 303 | Southend-on-Sea | 67,558 | 33.3% | 62 |
| 304 | Powys | 52,612 | 33.1% | 59 |
| 305 | Burnley | 44,139 | 32.9% | 61 |
| 306 | Conwy | 48,229 | 32.9% | 60 |
| 307 | Carmarthenshire | 72,532 | 32.5% | 59 |
| 308 | North Norfolk | 46,802 | 32.4% | 60 |
| 309 | Bradford | 233,860 | 32.4% | 61 |
| 310 | Denbighshire | 41,019 | 32.3% | 60 |
| 311 | Hyndburn | 34,742 | 30.5% | 61 |
| 312 | Staffordshire Moorlands | 32,772 | 30.3% | 61 |
| 313 | Castle Point | 27,067 | 29.4% | 62 |
| 314 | Fylde | 78,440 | 28.3% | 60 |
| 315 | Ceredigion | 31,929 | 28.1% | 56 |
| 316 | Gwynedd | 48,365 | 28.0% | 56 |
| 317 | Pendle | 40,393 | 26.8% | 60 |
| 318 | Isles of Scilly | 1,185 | 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.