Building energy labels and owners' finances
Energy labels for Danish buildings with CVR-registered owners: municipality, use and age comparisons, owners' annual accounts and downloadable data.
As of 13 September 2026. Report extraction: 13 September 2026.
Source: companydata.dk · EJF, BBR, EMOData, CVR/XBRL.
Figures, tables and charts are published under CC BY 4.0. Reuse and attribution
54,561 of 193,713 buildings with a matched valid energy label are rated D–G (28.17%). We connect physical buildings with CVR-registered owners, then examine the owners' 2025 accounts.
564,977 unique completed buildings with registered CVR ownership, including partial ownership and flats. 193,713 have a matched valid label.
- D–G among labelled buildings
- 28.17 %
- F–G among labelled buildings
- 4.23 %
- Label coverage
- 34.29 %
How much of the building stock can we see?
An unambiguous valid label was matched to 193,713 of 564,977 eligible buildings (34.29%). The other 371,264 are kept in the coverage denominator. A missing match does not show that a building lacks a legally required label.
View figures and methodologyEnergy labels alongside owners' balance sheets
Among owners with at least one D–G building and matched 2025 accounts, 871 of 9,796 had negative equity (8.89%). For owners with only A–C among their matched labels, the figure was 651 of 9,260 (7.03%). Portfolio size, ownership structure and accounting coverage differ; this is not a causal or credit-risk comparison.
View figures and methodologyWhere D–G labels are most common
Tønder had the highest D–G share among 97 municipalities with at least 100 matched labels: 863 of 1,718 (50.23%). Its label coverage was 27.32%. This is an unadjusted comparison of the observed building mix.
View figures and methodologyThe energy-label distribution
Each physical building counts once, including buildings where a CVR owner owns only a flat or a share. A combines A2020, A2015, A2010 and other recorded A variants. Shares use matched, currently valid labels.
| Group | ||
|---|---|---|
| A (all A classes) | 34,509 | 17.81 |
| B | 32,751 | 16.91 |
| C | 71,892 | 37.11 |
| D | 33,920 | 17.51 |
| E | 12,452 | 6.43 |
| F | 5,254 | 2.71 |
| G | 2,935 | 1.52 |
Municipalities: building locations
Municipalities come from the building's BBR record, not the owner's registered office. Groups below 100 buildings are omitted. D–G and F–G shares use labelled buildings; coverage uses all eligible buildings. Percentages with fewer than 30 observations are blank. Group differences can reflect use, age and label coverage.
Scroll sideways for all columns. Click a metric to sort the groups.
| Code | Group | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 0751 | Aarhus | 26,873 | 11,061 | 41.16 | 2,033 | 18.38 | 141 | 1.27 | 15,812 |
| 0101 | København | 26,737 | 10,567 | 39.52 | 2,620 | 24.79 | 208 | 1.97 | 16,170 |
| 0851 | Aalborg | 19,753 | 8,029 | 40.65 | 1,534 | 19.11 | 182 | 2.27 | 11,724 |
| 0461 | Odense | 17,308 | 7,411 | 42.82 | 2,142 | 28.9 | 240 | 3.24 | 9,897 |
| 0630 | Vejle | 14,428 | 5,250 | 36.39 | 1,220 | 23.24 | 190 | 3.62 | 9,178 |
| 0561 | Esbjerg | 12,615 | 4,708 | 37.32 | 1,507 | 32.01 | 215 | 4.57 | 7,907 |
| 0621 | Kolding | 11,723 | 4,687 | 39.98 | 1,122 | 23.94 | 158 | 3.37 | 7,036 |
| 0740 | Silkeborg | 11,500 | 3,770 | 32.78 | 844 | 22.39 | 92 | 2.44 | 7,730 |
| 0540 | Sønderborg | 8,714 | 3,737 | 42.89 | 956 | 25.58 | 117 | 3.13 | 4,977 |
| 0791 | Viborg | 12,723 | 3,627 | 28.51 | 916 | 25.26 | 141 | 3.89 | 9,096 |
| 0730 | Randers | 9,851 | 3,510 | 35.63 | 1,033 | 29.43 | 107 | 3.05 | 6,341 |
| 0330 | Slagelse | 8,656 | 3,330 | 38.47 | 1,209 | 36.31 | 201 | 6.04 | 5,326 |
| 0657 | Herning | 11,165 | 3,275 | 29.33 | 829 | 25.31 | 94 | 2.87 | 7,890 |
| 0615 | Horsens | 8,800 | 3,260 | 37.05 | 790 | 24.23 | 112 | 3.44 | 5,540 |
| 0813 | Frederikshavn | 9,487 | 2,989 | 31.51 | 774 | 25.89 | 141 | 4.72 | 6,498 |
| 0580 | Aabenraa | 8,142 | 2,865 | 35.19 | 990 | 34.55 | 166 | 5.79 | 5,277 |
| 0370 | Næstved | 8,918 | 2,826 | 31.69 | 782 | 27.67 | 155 | 5.48 | 6,092 |
| 0510 | Haderslev | 7,568 | 2,668 | 35.25 | 1,059 | 39.69 | 166 | 6.22 | 4,900 |
| 0430 | Faaborg-Midtfyn | 7,134 | 2,571 | 36.04 | 740 | 28.78 | 166 | 6.46 | 4,563 |
| 0410 | Middelfart | 6,229 | 2,503 | 40.18 | 449 | 17.94 | 96 | 3.84 | 3,726 |
| 0661 | Holstebro | 8,447 | 2,410 | 28.53 | 516 | 21.41 | 74 | 3.07 | 6,037 |
| 0760 | Ringkøbing-Skjern | 10,605 | 2,329 | 21.96 | 463 | 19.88 | 91 | 3.91 | 8,276 |
| 0316 | Holbæk | 6,748 | 2,276 | 33.73 | 814 | 35.76 | 178 | 7.82 | 4,472 |
| 0479 | Svendborg | 6,258 | 2,274 | 36.34 | 657 | 28.89 | 116 | 5.1 | 3,984 |
| 0265 | Roskilde | 6,260 | 2,245 | 35.86 | 564 | 25.12 | 65 | 2.9 | 4,015 |
| 0860 | Hjørring | 8,884 | 2,241 | 25.23 | 755 | 33.69 | 156 | 6.96 | 6,643 |
| 0766 | Hedensted | 7,431 | 2,231 | 30.02 | 529 | 23.71 | 79 | 3.54 | 5,200 |
| 0746 | Skanderborg | 5,581 | 2,093 | 37.5 | 470 | 22.46 | 36 | 1.72 | 3,488 |
| 0575 | Vejen | 6,710 | 2,031 | 30.27 | 719 | 35.4 | 112 | 5.51 | 4,679 |
| 0440 | Kerteminde | 4,691 | 2,015 | 42.95 | 871 | 43.23 | 69 | 3.42 | 2,676 |
| 0607 | Fredericia | 5,419 | 2,000 | 36.91 | 570 | 28.5 | 65 | 3.25 | 3,419 |
| 0165 | Albertslund | 3,434 | 1,996 | 58.12 | 201 | 10.07 | 9 | 0.45 | 1,438 |
| 0420 | Assens | 5,689 | 1,995 | 35.07 | 665 | 33.33 | 193 | 9.67 | 3,694 |
| 0376 | Guldborgsund | 6,759 | 1,989 | 29.43 | 740 | 37.2 | 198 | 9.95 | 4,770 |
| 0259 | Køge | 4,806 | 1,984 | 41.28 | 514 | 25.91 | 115 | 5.8 | 2,822 |
| 0159 | Gladsaxe | 3,666 | 1,951 | 53.22 | 887 | 45.46 | 49 | 2.51 | 1,715 |
| 0326 | Kalundborg | 5,995 | 1,942 | 32.39 | 731 | 37.64 | 170 | 8.75 | 4,053 |
| 0217 | Helsingør | 4,455 | 1,910 | 42.87 | 673 | 35.24 | 108 | 5.65 | 2,545 |
| 0147 | Frederiksberg | 3,370 | 1,901 | 56.41 | 541 | 28.46 | 37 | 1.95 | 1,469 |
| 0573 | Varde | 7,320 | 1,897 | 25.92 | 600 | 31.63 | 110 | 5.8 | 5,423 |
| 0151 | Ballerup | 6,255 | 1,816 | 29.03 | 397 | 21.86 | 23 | 1.27 | 4,439 |
| 0400 | Bornholm | 6,019 | 1,758 | 29.21 | 605 | 34.41 | 94 | 5.35 | 4,261 |
| 0320 | Faxe | 4,278 | 1,753 | 40.98 | 439 | 25.04 | 63 | 3.59 | 2,525 |
| 0550 | Tønder | 6,288 | 1,718 | 27.32 | 863 | 50.23 | 122 | 7.1 | 4,570 |
| 0360 | Lolland | 5,566 | 1,637 | 29.41 | 783 | 47.83 | 203 | 12.4 | 3,929 |
| 0706 | Syddjurs | 5,609 | 1,628 | 29.02 | 546 | 33.54 | 71 | 4.36 | 3,981 |
| 0779 | Skive | 6,184 | 1,598 | 25.84 | 551 | 34.48 | 70 | 4.38 | 4,586 |
| 0756 | Ikast-Brande | 5,661 | 1,580 | 27.91 | 503 | 31.84 | 67 | 4.24 | 4,081 |
| 0250 | Frederikssund | 4,500 | 1,519 | 33.76 | 484 | 31.86 | 89 | 5.86 | 2,981 |
| 0230 | Rudersdal | 3,268 | 1,452 | 44.43 | 504 | 34.71 | 68 | 4.68 | 1,816 |
| 0173 | Lyngby-Taarbæk | 3,006 | 1,449 | 48.2 | 489 | 33.75 | 63 | 4.35 | 1,557 |
| 0390 | Vordingborg | 4,432 | 1,423 | 32.11 | 536 | 37.67 | 123 | 8.64 | 3,009 |
| 0810 | Brønderslev | 4,340 | 1,422 | 32.76 | 376 | 26.44 | 58 | 4.08 | 2,918 |
| 0846 | Mariagerfjord | 5,964 | 1,377 | 23.09 | 454 | 32.97 | 68 | 4.94 | 4,587 |
| 0710 | Favrskov | 4,601 | 1,375 | 29.88 | 263 | 19.13 | 37 | 2.69 | 3,226 |
| 0219 | Hillerød | 3,520 | 1,360 | 38.64 | 350 | 25.74 | 57 | 4.19 | 2,160 |
| 0787 | Thisted | 6,659 | 1,359 | 20.41 | 366 | 26.93 | 83 | 6.11 | 5,300 |
| 0306 | Odsherred | 4,073 | 1,340 | 32.9 | 548 | 40.9 | 121 | 9.03 | 2,733 |
| 0820 | Vesthimmerlands | 6,066 | 1,335 | 22.01 | 416 | 31.16 | 77 | 5.77 | 4,731 |
| 0450 | Nyborg | 3,627 | 1,331 | 36.7 | 311 | 23.37 | 64 | 4.81 | 2,296 |
| 0530 | Billund | 4,678 | 1,313 | 28.07 | 423 | 32.22 | 60 | 4.57 | 3,365 |
| 0340 | Sorø | 3,358 | 1,278 | 38.06 | 398 | 31.14 | 82 | 6.42 | 2,080 |
| 0849 | Jammerbugt | 4,980 | 1,178 | 23.65 | 370 | 31.41 | 67 | 5.69 | 3,802 |
| 0157 | Gentofte | 2,923 | 1,144 | 39.14 | 549 | 47.99 | 106 | 9.27 | 1,779 |
| 0190 | Furesø | 2,048 | 1,124 | 54.88 | 371 | 33.01 | 26 | 2.31 | 924 |
| 0210 | Fredensborg | 2,701 | 1,119 | 41.43 | 374 | 33.42 | 32 | 2.86 | 1,582 |
| 0253 | Greve | 2,728 | 1,090 | 39.96 | 269 | 24.68 | 43 | 3.94 | 1,638 |
| 0707 | Norddjurs | 4,959 | 1,086 | 21.9 | 351 | 32.32 | 65 | 5.99 | 3,873 |
| 0329 | Ringsted | 2,984 | 1,070 | 35.86 | 326 | 30.47 | 54 | 5.05 | 1,914 |
| 0169 | Høje-Taastrup | 3,493 | 1,052 | 30.12 | 183 | 17.4 | 33 | 3.14 | 2,441 |
| 0167 | Hvidovre | 2,311 | 1,045 | 45.22 | 259 | 24.78 | 23 | 2.2 | 1,266 |
| 0480 | Nordfyns | 4,491 | 1,040 | 23.16 | 348 | 33.46 | 83 | 7.98 | 3,451 |
| 0163 | Herlev | 2,125 | 1,035 | 48.71 | 317 | 30.63 | 18 | 1.74 | 1,090 |
| 0175 | Rødovre | 2,063 | 904 | 43.82 | 309 | 34.18 | 27 | 2.99 | 1,159 |
| 0840 | Rebild | 3,212 | 894 | 27.83 | 160 | 17.9 | 34 | 3.8 | 2,318 |
| 0270 | Gribskov | 3,261 | 877 | 26.89 | 234 | 26.68 | 54 | 6.16 | 2,384 |
| 0260 | Halsnæs | 2,687 | 851 | 31.67 | 253 | 29.73 | 47 | 5.52 | 1,836 |
| 0240 | Egedal | 2,279 | 837 | 36.73 | 167 | 19.95 | 40 | 4.78 | 1,442 |
| 0350 | Lejre | 2,439 | 833 | 34.15 | 273 | 32.77 | 56 | 6.72 | 1,606 |
| 0153 | Brøndby | 1,727 | 824 | 47.71 | 288 | 34.95 | 24 | 2.91 | 903 |
| 0336 | Stevns | 2,263 | 812 | 35.88 | 274 | 33.74 | 64 | 7.88 | 1,451 |
| 0671 | Struer | 2,967 | 789 | 26.59 | 164 | 20.79 | 21 | 2.66 | 2,178 |
| 0185 | Tårnby | 3,601 | 766 | 21.27 | 273 | 35.64 | 40 | 5.22 | 2,835 |
| 0727 | Odder | 2,097 | 678 | 32.33 | 161 | 23.75 | 24 | 3.54 | 1,419 |
| 0773 | Morsø | 3,110 | 660 | 21.22 | 202 | 30.61 | 57 | 8.64 | 2,450 |
| 0161 | Glostrup | 2,953 | 617 | 20.89 | 178 | 28.85 | 17 | 2.76 | 2,336 |
| 0201 | Allerød | 1,673 | 590 | 35.27 | 194 | 32.88 | 17 | 2.88 | 1,083 |
| 0665 | Lemvig | 3,376 | 560 | 16.59 | 182 | 32.5 | 25 | 4.46 | 2,816 |
| 0183 | Ishøj | 1,774 | 540 | 30.44 | 87 | 16.11 | 15 | 2.78 | 1,234 |
| 0223 | Hørsholm | 1,109 | 526 | 47.43 | 213 | 40.49 | 64 | 12.17 | 583 |
| 0482 | Langeland | 2,244 | 503 | 22.42 | 212 | 42.15 | 36 | 7.16 | 1,741 |
| 0269 | Solrød | 1,035 | 418 | 40.39 | 86 | 20.57 | 17 | 4.07 | 617 |
| 0155 | Dragør | 1,559 | 323 | 20.72 | 91 | 28.17 | 14 | 4.33 | 1,236 |
| 0187 | Vallensbæk | 580 | 229 | 39.48 | 28 | 12.23 | 7 | 3.06 | 351 |
| 0492 | Ærø | 883 | 203 | 22.99 | 74 | 36.45 | 27 | 13.3 | 680 |
| 0563 | Fanø | 389 | 127 | 32.65 | 36 | 28.35 | 8 | 6.3 | 262 |
| 0741 | Samsø | 790 | 111 | 14.05 | 36 | 32.43 | 10 | 9.01 | 679 |
| 0825 | Læsø | 359 | 83 | 23.12 | 35 | 42.17 | 13 | 15.66 | 276 |
Building use
Current BBR use, grouped by the first digit. CVR ownership includes residential buildings, public bodies and associations. Groups below 100 buildings are omitted. D–G and F–G shares use labelled buildings; coverage uses all eligible buildings. Percentages with fewer than 30 observations are blank. Group differences can reflect use, age and label coverage.
Scroll sideways for all columns. Click a metric to sort the groups.
| Group | ||||||||
|---|---|---|---|---|---|---|---|---|
| Residential (BBR 1xx) | 283,085 | 156,003 | 55.11 | 41,408 | 26.54 | 5,891 | 3.78 | 127,082 |
| Commerce, offices and transport (BBR 3xx) | 94,880 | 18,452 | 19.45 | 6,370 | 34.52 | 1,255 | 6.8 | 76,428 |
| Institutions (BBR 4xx) | 42,901 | 14,767 | 34.42 | 5,349 | 36.22 | 714 | 4.84 | 28,134 |
| Leisure and holiday use (BBR 5xx) | 56,514 | 4,214 | 7.46 | 1,318 | 31.28 | 290 | 6.88 | 52,300 |
| Production and agriculture (BBR 2xx) | 87,597 | 277 | 0.32 | 116 | 41.88 | 39 | 14.08 | 87,320 |
Construction year
Newest construction periods first. Construction year is not the year of the latest renovation. Groups below 100 buildings are omitted. D–G and F–G shares use labelled buildings; coverage uses all eligible buildings. Percentages with fewer than 30 observations are blank. Group differences can reflect use, age and label coverage.
Scroll sideways for all columns. Click a metric to sort the groups.
| Group | ||||||||
|---|---|---|---|---|---|---|---|---|
| 2016 onwards | 64,138 | 23,746 | 37.02 | 61 | 0.26 | 20 | 0.08 | 40,392 |
| 2000–2015 | 83,279 | 24,263 | 29.13 | 834 | 3.44 | 62 | 0.26 | 59,016 |
| 1980–1999 | 137,556 | 51,780 | 37.64 | 7,284 | 14.07 | 387 | 0.75 | 85,776 |
| 1960–1979 | 112,543 | 35,005 | 31.1 | 13,612 | 38.89 | 1,543 | 4.41 | 77,538 |
| 1940–1959 | 56,265 | 21,953 | 39.02 | 12,955 | 59.01 | 1,902 | 8.66 | 34,312 |
| Before 1940 | 111,131 | 36,965 | 33.26 | 19,815 | 53.6 | 4,275 | 11.56 | 74,166 |
2025: owners' annual accounts
Each CVR owner belongs to one group. Any D–G label takes priority; 'only A–C' describes known labels and does not imply a fully labelled portfolio. Accounting percentages use matched calendar-year DKK accounts with both equity and profit/loss. Missing accounts are shown through coverage. Current ownership is compared with earlier accounts; these are associations, not evidence of renovation capacity or causation.
Scroll sideways for all columns. Click a metric to sort within each year; the newest year always comes first.
| Financial year | Group | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | At least one building with D–G | 19,260 | 9,796 | 50.86 | 871 | 8.89 | 2,648 | 27.03 | 9,791 | 35.23 | 9,796 |
| 2025 | Only A–C among matched labels | 22,002 | 9,260 | 42.09 | 651 | 7.03 | 2,198 | 23.74 | 9,257 | 37 | 9,260 |
| 2025 | No building with a matched valid label | 57,631 | 21,050 | 36.53 | 1,728 | 8.21 | 5,867 | 27.87 | 21,040 | 45.36 | 21,050 |
Population and matching coverage
The steps use different units: ownership records, BFEs, physical buildings and label serials. They must not be added together. The building table below reconciles the final population. Missing or ambiguous links remain unknown; they are not assigned a favourable energy class.
| Group | |
|---|---|
| Active ownership records before exclusions | 577,059 |
| Excluded: missing CVR, BFE, effective date eligibility or positive share | 4,348 |
| Unique BFEs with eligible CVR ownership | 560,817 |
| Unique BFE/CVR links | 572,711 |
| BFEs with a completed energy-label lookup | 559,846 |
| BFEs found in property data | 560,817 |
| BFEs with building IDs | 411,508 |
| Unique building IDs before status and use restrictions | 1,235,622 |
| Unique valid label serials in property lookups | 160,908 |
| Completed buildings with BBR use 1xx–5xx | 564,977 |
| Eligible buildings with a building number | 564,977 |
| Eligible buildings with a known BBR municipality | 564,977 |
| Label serials matched to eligible buildings | 145,667 |
| Buildings with conflicting latest labels | 207 |
All eligible buildings
Labelled plus unknown equals the eligible building population. This is a registry-linked population, not an estimate for all Danish buildings or all commercial property.
Scroll sideways for all columns. Click a metric to sort the groups.
| Group | ||||||||
|---|---|---|---|---|---|---|---|---|
| All buildings | 564,977 | 193,713 | 34.29 | 54,561 | 28.17 | 8,189 | 4.23 | 371,264 |
Source and methodology
Source: companydata.dk · EJF, BBR, EMOData, CVR/XBRL. Reviewed snapshot. Daily catalogue updates retain this report's extraction date until a new edition is generated. A saved edition preserves the figures, methodology and downloads from the same extraction.
Read Statistics Denmark's documentation
Population: current EJF ownership records with a valid CVR/BFE, effective ownership and a positive actual share, falling back to the registered share only when the actual fraction is incomplete. Duplicate BFE/CVR links are removed. CVR owners include businesses, associations and public bodies; sole traders may also be present.
Physical buildings are deduplicated by BBR UUID across properties, flats and co-owners. Only completed buildings (BBR status 6) with use codes 1xx–5xx enter the population. Garages and other secondary buildings are excluded. Partial ownership or ownership of one flat is sufficient for a link; we do not claim that the whole building is company-owned and do not sum building areas or ownership fractions.
EMO labels are linked by building number within an explicitly identified BFE. Address results require their recorded mother BFE, whose BBR building IDs supply the scope. Missing BFE scope, repeated numbers and ambiguous building matches are rejected. The legacy BBR import lacks building numbers; a separate, dated Datafordeler supplement supplies them, with a maximum cache age of 30 days.
Labels must have stored status VALID and recorded start/end dates covering the extraction date in Copenhagen. The latest valid-from date wins for each building; conflicting classes on that date are unknown. A label covering several explicitly matched buildings contributes once to each building. The property-level headline label is never broadcast to all buildings. All A variants are combined as A.
D–G and F–G are descriptive bands on the recorded energy scale, not legal renovation deadlines, measured energy bills or estimates of renovation costs. Validity is based on stored source fields; unrecorded renovations and later source corrections can change the picture. Missing matches do not establish non-compliance.
Geography is the building's BBR municipality. Use and construction year also come from BBR, not the owner's industry or office address. Group comparisons are unadjusted for building mix and unequal label coverage. We do not extrapolate these figures to the whole country. Groups below 100 buildings are omitted; rates and medians require at least 30 observations.
Owner finances use 2025 DKK calendar-year accounts published by extraction, with exactly one filing ending in that year and finite equity and profit/loss. Current owners are counted once in disjoint D–G, known-A–C and no-matched-label groups. A co-owned building can link to several owners, so owner counts and building counts have different denominators. Owners without comparable accounts remain in accounting coverage, not in financial percentage denominators.
Equity ratios require positive total assets. Legacy financial extraction does not verify separate-company versus consolidated scope; the table discloses this count. We do not add monetary values across potentially overlapping groups and subsidiaries. Earlier accounts and current ownership do not establish renovation capacity, causation or insolvency risk.
Methodology version building-energy-1.0. Edition 14ffb49474ab878d30884a7b.
Reuse and attribution
You may freely reuse the figures and chart, including in editorial and commercial publications, provided you credit companydata.dk · EJF, BBR, EMOData, CVR/XBRL and link to this page. Include the compilation date and describe any changes you make to the chart.
Figures, tables and charts are published under CC BY 4.0.
Suggested citation for this edition:
Building energy labels and owners' finances. Source: companydata.dk · EJF, BBR, EMOData, CVR/XBRL. As of 13 September 2026.
https://companydata.dk/en/statistik/energimaerker-og-ejernes-oekonomi?revision=14ffb49474ab878d30884a7b