Open-data series · Luxembourg ENFRLU

Solar PV in Luxembourg, municipality by municipality

820.8 MW of solar PV connected as of 19 October 2026, up +38% since the Q1 2025 reading: solar accounts for 64.8% of decentralised generation capacity. The Open Data portal asked for the share of solar PV in electricity production by municipality; since the Leneda files give connected capacity rather than energy produced, this dashboard measures the PV share of installed capacity, municipality by municipality.

Data as of 19 October 2026 Source Leneda · data.public.lu Licence CC0 100 municipalities · 6 technologies
Installed solar PV
820.8 MW
capacity connected to the grid
PV growth
+38 %
since the Q1 2025 reading
PV installations
37,978
connected to the grid · +50% since Q1 2025
Share of decentralised fleet
64.8 %
of 1,267 MW across all technologies
Since end-2025
+75.5 MW
+4,728 installations · weekly reading vs Q4 2025 reading
PNEC 2030 reference
1,236 MW
national energy and climate plan, July 2024 update

Reminder: installed capacity does not mean energy produced; the PNEC figure is the target written into the national plan, not a projection by this dashboard.

National trajectory: PV pulls ahead

MW installed · Q1 2025 → today

Cumulative installed capacity by technology across the 6 published readings. Solar PV accounts for 92% of the 246 MW net added to the fleet since Q1 2025 (wind +34.3 MW, cogeneration -15.5 MW, hydropower, biomass and biogas -0.3 MW together).

Chart data
ReadingSolar PVWindBiomassCogenerationHydroBiogas
2025 Q1593.8213.796.673.134.09.8
2025 Q2648.7213.796.673.134.09.8
2025 Q3698.4226.596.672.534.09.2
2025 Q4745.4230.796.672.534.09.9
2026 Q1769.3230.796.660.334.09.8
19 Oct 2026820.8248.196.657.634.09.4

How much PV capacity is added each quarter?

net MW added between two consecutive readings

Net additions of solar PV capacity between consecutive Leneda readings. The quarterly bars compare two quarterly files; the last bar compares the weekly reading of 19 October 2026 with the latest published quarterly reading (Q1 2026), two separate Leneda extracts.

2025 Q1 → 2025 Q2
+54.9 MW · +2,863 inst.
2025 Q2 → 2025 Q3
+49.7 MW · +2,385 inst.
2025 Q3 → 2025 Q4
+47.0 MW · +2,604 inst.
2025 Q4 → 2026 Q1
+23.9 MW · +1,597 inst.
2026 Q1 → 19 Oct 2026 · weekly vs quarterly
+51.6 MW · +3,131 inst.

What share of electricity comes from solar?

Capacity (MW) and production (GWh) are two different measures. According to the ILR (Key figures 2025 of the electricity market, published 2026), solar PV produced 627 GWh in 2025, ahead of wind (467 GWh), out of a national production of 1,826 GWh and a gross national consumption of 6,529 GWh; 444 GWh were self-consumed or shared (7% of final consumption). Lux-solaire calculation from these figures: PV accounts for 34.3% of national production and 9.6% of gross consumption.

Official reference figures

ILR, end of 2025: 746 MW of solar PV (+197 MW, +35.8%) and 33,304 installations (+10,694, +47.3%). Leneda, Q4 2025 reading: 745.4 MW and 33,250 installations.

PNEC (integrated national energy and climate plan, July 2024 update, table 8, p. 44), planned installed PV capacity, in MW:

202520262027202820292030
6447568679891,1111,236

Technology mix

reading of 19 October 2026
Solar PV64.8 % · 820.8 MW
Wind19.6 % · 248.1 MW
Biomass7.6 % · 96.6 MW
Cogeneration4.5 % · 57.6 MW
Hydro2.7 % · 34.0 MW
Biogas0.7 % · 9.4 MW

Three signals in the data

24 municipalities

draw, to the nearest rounding, all of their decentralised capacity from solar PV. The median PV share per municipality reaches 93.4%.

+12,426 kW

the largest rise in PV capacity since the Q1 2025 reading, in Luxembourg (+83%).

4 × ≈5 MW

The four largest PV installations on record top out just below 5 MW (Junglinster, Differdange, Käerjeng, Sanem), likely the mark of a tender threshold.

Top 15: PV capacity

kW installed
Sanem · Esch
30,165 · 31.3 %
Luxembourg · Luxembourg
27,322 · 45.9 %
Wincrange · Clervaux
25,794 · 32.6 %
Junglinster · Grevenmacher
25,734 · 95.3 %
Dudelange · Esch
24,131 · 93.3 %
Clervaux · Clervaux
22,771 · 64.7 %
Käerjeng · Capellen
21,210 · 97.2 %
Differdange · Esch
20,774 · 96.1 %
Colmar-Berg · Mersch
19,889 · 81.2 %
Contern · Luxembourg
17,292 · 99.5 %
Rambrouch · Redange
15,225 · 41.4 %
Troisvierges · Clervaux
14,346 · 100.0 %
Parc Hosingen · Clervaux
14,079 · 42.9 %
Mersch · Mersch
13,524 · 59.8 %
Niederanven · Luxembourg
13,373 · 87.7 %

Top 10: PV growth

kW added since Q1 2025
Luxembourg · Luxembourg
+12,426 · +83 %
Colmar-Berg · Mersch
+7,935 · +66 %
Tandel · Vianden
+7,442 · +129 %
Sanem · Esch
+7,069 · +31 %
Differdange · Esch
+6,681 · +47 %
Frisange · Esch
+5,263 · +98 %
Bissen · Mersch
+5,174 · +70 %
Bettembourg · Esch
+5,130 · +68 %
Dippach · Capellen
+5,121 · +113 %
Contern · Luxembourg
+5,055 · +41 %

Which municipalities have the most solar PV per inhabitant?

RNPP population as of 1er October 2026

Set against population, PV capacity reverses the rankings: 1,179 W per inhabitant nationally (municipal median 1,687 W/inh.), 7,883 W/inh. in Colmar-Berg against 197 in Luxembourg. Large plants inflate small municipalities: in Colmar-Berg, 19.9 MW come from only 171 installations. The “rooftops” column counts installations of 30 kW or less per 1,000 inhabitants.

Top 10: W per inhabitant

rooftops (≤ 30 kW) per 1,000 inh. second
Colmar-Berg · Mersch
7,883 W/inh. · 61.0 rooftops/1,000
Tandel · Vianden
5,556 W/inh. · 107.6 rooftops/1,000
Wincrange · Clervaux
5,129 W/inh. · 126.9 rooftops/1,000
Nommern · Mersch
4,335 W/inh. · 120.8 rooftops/1,000
Ell · Redange
4,199 W/inh. · 134.2 rooftops/1,000
Troisvierges · Clervaux
3,823 W/inh. · 80.7 rooftops/1,000
Flaxweiler · Grevenmacher
3,756 W/inh. · 120.2 rooftops/1,000
Clervaux · Clervaux
3,567 W/inh. · 86.5 rooftops/1,000
Bissen · Mersch
3,505 W/inh. · 77.4 rooftops/1,000
Redange/Attert · Redange
3,493 W/inh. · 105.1 rooftops/1,000

The 12 cantons

sorted by W/inh.
CantonPV kWInst.PopulationW/inh.Inst./1,000 inh.
Clervaux85,6212,49522,4233,818111.3
Vianden16,6474855,8562,84382.8
Redange59,5522,80321,8122,730128.5
Grevenmacher77,5362,94034,4612,25085.3
Mersch78,1702,93837,4242,08978.5
Wiltz35,3621,70820,6231,71582.8
Echternach34,6171,68920,7361,66981.5
Remich36,9901,87324,8441,48975.4
Capellen83,8984,61457,3361,46380.5
Diekirch41,4722,08936,6701,13157.0
Esch160,5287,451198,11481037.6
Luxembourg110,4396,893215,96851131.9

The residential paradox

37,977 PV installations counted one by one

96% of installations are 30 kW or less, mostly residential rooftops, yet they account for only 55% of capacity. At the other end, 132 installations above 0.5 MW alone concentrate 175 MW.

share of installations share of capacity
0–5 kW
8 % · 2,979 inst.
1 % · 11.7 MW
5–10 kW
40 % · 15,195 inst.
15 % · 120.5 MW
10–15 kW
25 % · 9,529 inst.
14 % · 115.8 MW
15–30 kW
23 % · 8,830 inst.
24 % · 201.0 MW
30–100 kW
2 % · 616 inst.
5 % · 38.1 MW
100–500 kW
2 % · 696 inst.
19 % · 158.6 MW
0.5–1 MW
0.2 % · 78 inst.
7 % · 55.9 MW
1–5 MW
0.1 % · 54 inst.
15 % · 119.3 MW
Chart data
Size (kW)Inst.share of installationsMWshare of capacity
0–5 kW2,9797.8 %11.71.4 %
5–10 kW15,19540.0 %120.514.7 %
10–15 kW9,52925.1 %115.814.1 %
15–30 kW8,83023.3 %201.024.5 %
30–100 kW6161.6 %38.14.6 %
100–500 kW6961.8 %158.619.3 %
0.5–1 MW780.2 %55.96.8 %
1–5 MW540.1 %119.314.5 %

The 100 municipalities

click a header to sort
SanemEsch30,16589131.3 %+7,06996,4801,52545.1
LuxembourgLuxembourg27,3222,02445.9 %+12,42659,50819714.6
WincrangeClervaux25,79470832.6 %+3,10079,0745,129140.8
JunglinsterGrevenmacher25,73486195.3 %+4,73527,0082,76592.5
DudelangeEsch24,13195793.3 %+2,77725,8681,07442.6
ClervauxClervaux22,77161864.7 %+3,38835,2013,56796.8
KäerjengCapellen21,21084197.2 %+3,32221,8211,85473.5
DifferdangeEsch20,77490396.1 %+6,68121,62066128.7
Colmar-BergMersch19,88917181.2 %+7,93524,4847,88367.8
ConternLuxembourg17,29247999.5 %+5,05517,3823,40194.2
RambrouchRedange15,22575041.4 %+3,51136,8002,969146.3
TroisviergesClervaux14,346347100.0 %+1,98914,3463,82392.5
Parc HosingenClervaux14,07956942.9 %+2,55532,8493,134126.7
MerschMersch13,52469559.8 %+4,77222,6051,23563.5
NiederanvenLuxembourg13,37387287.7 %+4,63515,2531,872122.1
TandelVianden13,22327572.6 %+7,44218,2235,556115.5
KehlenCapellen12,99279797.6 %+4,04313,3121,691103.8
BetzdorfGrevenmacher12,93350796.9 %+3,25713,3433,068120.3
MondercangeEsch12,72252075.2 %+2,07016,9281,73570.9
BettembourgEsch12,72166295.3 %+5,13013,3511,08656.5
BissenMersch12,58731076.3 %+5,17416,4923,50586.3
Esch-sur-AlzetteEsch12,14844896.8 %+3,97512,55331711.7
MamerCapellen12,09272186.7 %+2,57213,9491,02060.8
GrevenmacherGrevenmacher11,91224358.8 %+1,03720,2722,24045.7
Redange/AttertRedange11,03936588.8 %+1,94012,4343,493115.5
FrisangeEsch10,657442100.0 %+5,26310,6572,10387.2
HesperangeLuxembourg10,32368894.7 %+3,46610,90559439.6
DippachCapellen9,650411100.0 %+5,1219,6502,01585.8
SteinfortCapellen9,33353897.4 %+2,2629,5831,51187.1
WiltzWiltz9,21436956.7 %+3,74416,2481,07042.9
HelperknappMersch9,12959299.7 %+2,2649,1591,697110.1
BertrangeLuxembourg8,83248297.6 %+2,8149,05289849.0
SchengenRemich8,71450764.6 %+2,05713,4941,66096.6
WeiswampachClervaux8,63125330.1 %+2,73128,6393,12191.5
SchuttrangeLuxembourg8,59848589.1 %+2,9709,6461,931108.9
FlaxweilerGrevenmacher8,53429795.5 %+1,0388,9333,756130.7
EchternachEchternach8,293223100.0 %+1,5228,2931,37837.1
Mondorf-les-BainsRemich8,17326780.3 %+1,45710,1791,46447.8
Rosport-MompachEchternach7,84543646.0 %+1,23317,0452,050114.0
SteinselLuxembourg7,64649593.8 %+1,7708,1551,20477.9
Groussbus-WalRedange7,26733899.9 %+1,3047,2733,060142.3
EllRedange7,16324790.0 %+1,0547,9634,199144.8
RoeserEsch7,02144760.8 %+3,35811,54196961.7
PétangeEsch6,97259384.3 %+2,9468,27232627.7
HabschtCapellen6,812454100.0 %+2,2226,8121,27685.0
LenningenRemich6,756208100.0 %+5,0526,7563,23199.5
Lac de la Haute-SûreWiltz6,738292100.0 %+1,2356,7382,805121.6
NommernMersch6,52920193.6 %+6076,9794,335133.5
Erpeldange-sur-SûreDiekirch6,35322697.1 %+1,2156,5432,28981.4
BeckerichRedange6,14734459.0 %+1,28910,4172,092117.1
LeudelangeEsch6,08720622.2 %+2,60427,4152,21575.0
Esch-sur-SûreWiltz5,78734125.2 %+1,19322,9311,68399.2
Vallée de l'ErnzDiekirch5,60529030.5 %+1,39618,3751,90798.7
FeulenDiekirch5,45023661.7 %+1,4758,8402,22796.4
MertertGrevenmacher5,34125592.5 %+1,2995,77791543.7
WalferdangeLuxembourg5,20640983.9 %+2,0946,20655343.4
WinselerWiltz5,191167100.0 %+6615,1913,206103.2
Reckange-sur-MessEsch5,161318100.0 %+1,7475,1611,696104.5
BeaufortEchternach5,131220100.0 %+1,3465,1311,62369.6
StrassenLuxembourg5,11338770.1 %+2,4487,28946134.9
SchifflangeEsch5,09748788.1 %+2,0945,78743041.1
EttelbruckDiekirch5,02229255.7 %+1,4629,02349728.9
MertzigDiekirch4,871260100.0 %+9984,8712,012107.4
KaylEsch4,749437100.0 %+1,7614,74947543.7
KoerichCapellen4,68627783.9 %+1,1365,5861,67599.0
StadtbredimusRemich4,673238100.0 %+2,4844,6732,331118.7
LorentzweilerMersch4,64531397.5 %+1,4294,76597065.3
WormeldangeGrevenmacher4,57627399.9 %+1,3404,5821,39183.0
Bous-WaldbredimusRemich4,543335100.0 %+1,4484,5451,35599.9
ManternachGrevenmacher4,37730450.1 %+9268,7371,894131.5
WaldbilligEchternach4,347255100.0 %+1,1424,3472,178127.8
DiekirchDiekirch4,13315749.3 %+1,0168,38155721.2
BiwerGrevenmacher4,128200100.0 %+1,1134,1282,161104.7
GarnichCapellen4,09632836.9 %+1,17611,0961,624130.1
BettendorfDiekirch3,86620693.0 %+7334,1571,25867.0
HeffingenMersch3,801159100.0 %+2,3483,8012,34298.0
UseldangeRedange3,78824598.8 %+8993,8331,729111.8
VichtenRedange3,757190100.0 %+6193,7572,624132.7
SandweilerLuxembourg3,48129884.7 %+1,2304,11190077.1
LintgenMersch3,47523884.8 %+9384,10099968.4
BoulaideWiltz3,447200100.0 %+6413,4472,208128.1
Weiler-la-TourLuxembourg3,25327499.8 %+9103,2591,293108.9
ConsdorfEchternach3,190221100.0 %+3453,1901,527105.8
BerdorfEchternach3,10015499.9 %+1,1953,1021,36868.0
KopstalCapellen3,02724799.6 %+1,2043,03864052.2
SaeulRedange2,92315498.0 %+4082,9832,724143.5
FischbachMersch2,891166100.0 %+6142,8912,129122.2
BourscheidDiekirch2,77517912.4 %+1,08522,4251,54799.8
BechEchternach2,712180100.0 %+6852,7121,964130.3
GoesdorfWiltz2,54217529.6 %+7368,5921,516104.4
DalheimRemich2,44418910.4 %+63823,4441,02379.1
KiischpeltWiltz2,44316498.9 %+7162,4701,855124.5
PutscheidVianden2,31914648.7 %+6784,7571,931121.6
PréizerdaulRedange2,24317064.9 %+5613,4581,24094.0
RumelangeEsch2,12514087.8 %+5792,41937124.4
SchierenDiekirch1,98215631.3 %+7736,34288669.7
LarochetteMersch1,70093100.0 %+4431,70076341.7
RemichRemich1,68612970.4 %+7332,39640430.9
ReisdorfDiekirch1,4148798.5 %+4491,43596759.5
ViandenVianden1,10664100.0 %+5411,10648628.1