Emissions · European power grids

How clean is each European grid?

Carbon intensity of electricity generation, country by country — every complete year and the latest twelve months — from ENTSO-E and NESO data. Switch to GO abatement and pick a base country to see how much more — or less — a Guarantee of Origin from anywhere else displaces.

European average
000
Cleanest grid
000
Dirtiest grid
000
GO spread
000

Complete calendar years, plus the latest twelve complete months. Hatched: a covered country without complete data for the period; grey: outside the data this site serves. † Coverage caveat. ENTSO-E's generation_per_type under-represents distribution-connected generation (rooftop solar, small gas cogeneration), so country totals undershoot national inventories — Italy is the clearest case: ~57 Mt CO2 here for 2024 versus ~75 Mt in Ember's inventory, because a large share of Italian gas and solar is embedded. Rankings are largely unaffected; treat absolute Mt for † countries as lower bounds. See the methodology.

Methodology, drawn

How the GO index works

A Guarantee of Origin certifies that one MWh of renewable electricity was produced. What that MWh avoided depends on where — and when — it was produced. Three ways to count it, and two things no index can tell you.

1

Average

on the map

The default view. A GO's MWh displaces one MWh of the issuing country's average mix, so the multiple is the ratio of the two grids' intensity.

Average basis, 2025: a Polish GO abates 4.5 times a Spanish onePoland's grid averages 585 g CO2e per kWh and Spain's 131, so a GO from Poland displaces 4.5 times as much CO2 on the average basis.kg CO₂e a GO displaces (= g/kWh), 2025Poland585Spain1314.5×Poland ÷ Spain
2

Hour-matched

on the map: Solar GO · Wind GO

A grid's intensity moves through the day, and a solar MWh arrives with the sun. Weighting every hour by what solar — or wind — produced gives the grid that GO really met, and compares a solar GO with a solar GO.

Spain 2025: grid intensity by hour against solar outputSpain's grid intensity falls from about 165 g per kWh in the evening to about 99 at midday, when solar output peaks. Weighted by solar output a solar MWh meets 108 g per kWh, against an average of 131.Spain 2025 · grid intensity by hour (local time), g CO₂e/kWhavg 131solar 108solar output, GW (peak 16)00:0006:0012:0018:0023:00
3

Marginal

not on the map yet

In the short run an extra MWh does not replace the average mix: it pushes back the plant at the margin — usually gas or coal, often across a border. Multiples get much flatter. Doing it properly means finding that plant hour by hour from prices; it is on the roadmap.

Merit order: an extra renewable MWh pushes back the marginal plantPlants stacked by running cost: wind and solar, nuclear and hydro first, then coal, gas and peakers. Demand crosses at gas, so one more MWh of wind or solar displaces gas at about 490 g per kWh, whatever the grid's average is.running cost per MWh ↑Wind+solarNuclearHydroCoalGas CCGTPeakerdemandOne more MWh of wind or solarpushes back the plant at the margin:here gas (outlined), ≈490 g/kWhcapacity, cheapest first →
≈

One GO, three bases

live

How the multiple moves with the basis, for the largest markets.

!

The GO's own footprint

caveat

These are lifecycle intensities, and renewable plants have a lifecycle footprint too. Netting it out barely moves a Polish GO but turns a Norwegian solar GO negative — so the index compares grids, gross.

A solar GO's net abatement after its own lifecycle footprintNet of a solar plant's lifecycle footprint of 48 g per kWh: Poland 537, Spain 83, Norway -21.g CO₂e per kWh, 2025Polandgrid 585 − 48 = 537Spaingrid 131 − 48 = 83Norwaygrid 27 − 48 = −21grid the GO displaces (map colours)solar plant's footprint (48)
!

Additionality

caveat

The index says what an extra MWh would displace. A GO from a plant that runs anyway moves a claim, not a tonne of CO₂; only output your money causes — a PPA that gets a plant built — delivers what the map shows.

Additionality: a GO from a plant that runs anyway changes nothingLeft: an existing hydro plant runs regardless; buying its GO moves a claim, and grid emissions are unchanged. Right: a new solar farm your contract causes adds a MWh, so a coal plant runs less — about 0.58 t CO2 avoided per MWh in Poland.A · you buy GOs from an existing plantB · your contract causes a new plantExisting hydro plantruns regardless of youIts GO moves to youa certificate changes handsGrid emissions unchangedyour claim, others' mixNew solar farmbuilt because you signed+1 MWh on the gridsomething else backs offA coal plant runs less≈0.58 t CO₂ avoided (PL)

Inside one market

Monthly tonnes by fuel for any bidding zone — or pick a zone from a country on the map.

Monthly emissions by fuel

monthly · per market · tCO2 + intensity

Stacked bars = monthly tCO2 by fuel. Intensity line = kgCO2 per MWh of total generation (the "how clean is this grid right now" number). Months are bucketed in the market's local timezone — DST shifts absorbed cleanly.

or jump to:
Monthly emissions · tCO2 (stacked by fuel)
CO2 intensity · kgCO2 per MWh of total generation
Show the monthly table

Compare markets

monthly · up to 4 markets · same window

Side-by-side stacked bars for up to 4 bidding zones — the cleanest way to see which markets ran on coal and which ran on nuclear during the same months.

Europe over time

How fast the continent is decarbonising, and who is pulling ahead of — or falling behind — the pack.

European power-sector intensity over time

annual · gCO2/kWh · European weighted avg + per country

The bold green line is the generation-weighted average across every covered ENTSO-E bidding zone — the EU plus the UK, Norway, Switzerland, and the Western Balkans. Grey traces are the individual countries — the spread shows how far the cleanest and dirtiest grids sit from the mean — and the one selected on the map is drawn in white. Production-based, lifecycle factors; complete calendar years only.

European weighted CO2 intensity · gCO2/kWh

Grid Carbon Index

annual · European average = 100 · per country

Each country's intensity measured against the European average for that year — the generation-weighted mean of all covered ENTSO-E zones, EU and non-EU alike. Above 100 = dirtier than the typical European kWh; below 100 = cleaner. This strips out the "everyone decarbonised together" effect, so you can see who is actually pulling ahead of — or falling behind — the pack. The index moves if a country's intensity is flat while peers fall. Pick a country below or on the map to follow it.

Grid Carbon Index · European avg = 100

Where to decarbonise first

annual · generation × intensity · bubble = Mt CO2

Each bubble is a country: how much power it generates (x, log scale), how dirty each kWh is (y), and how much CO2 that adds up to (bubble size). The top-right quadrant — big and dirty — is where GO purchases and PPA-led decarbonisation move the most tonnes. Follows the year selected on the map.

† lower bound — see the coverage caveat under the map.

Methodology

GO abatement multiple

A Guarantee of Origin certifies that one MWh of renewable electricity was produced in a given country. What that MWh avoided depends on the grid it was fed into: on average it displaces one MWh of that country's generation mix. The multiple compares two such grids:

GO multiple(X vs base) = intensity(X) ÷ intensity(base)

with intensity the period's production-based lifecycle figure on the map (g CO2e/kWh = kg CO2e per MWh, so per GO). A GO from a country at 4× abates four times what a GO from the base does. The drawings in How the GO index works walk through it.

Hour-matched basis (Solar GO, Wind GO). A grid's intensity changes hour by hour, and a solar or wind MWh only arrives in the hours that technology produces. The hour-matched intensity weights every hour's grid intensity by what the technology produced in it — the country's hour, all its bidding zones summed — and the multiple then compares like with like, a solar GO with a solar GO. Solar is ENTSO-E B16 (and NESO's solar); wind is B18, B19 and NESO's two wind series.

Isolar = Σh solarh × Ih ÷ Σh solarh, Ih = emissionsh ÷ generationh

What it is not. Both bases are average-emissions, location-based views. It does not model the marginal plant an extra MWh displaces — usually gas or coal, often across a border, which makes clean grids' GOs worth more than their average suggests. It ignores the certificate's own lifecycle footprint (11–48 g/kWh depending on technology), which weighs only against the very cleanest grids. And it says nothing about additionality: a GO from a plant that would run anyway changes nobody's dispatch. Read it as a comparison of grids, not a claim about any one certificate.

Emissions and intensity

Factor source

IPCC AR5 Working Group III, Annex III (2014) — lifecycle median emission factors in gCO2eq/kWh, applied per ENTSO-E PSR code. These are the academic-LCA consensus medians; other public dashboards (Electricity Maps, Ember, EEA) use their own factor sets — most are broadly consistent with AR5 but you will not match them digit-for-digit.

Scope

Production-based: emissions are attributed to the bidding zone where generation occurs. Cross-border traded electricity is attributed to the producing zone, not the consuming one. Consumption-based / flow-tracing attribution (what Electricity Maps shows on its live map) is on the roadmap as a separate view.

Lifecycle vs direct

AR5 factors include upstream fuel cycle, plant construction, and decommissioning, so numbers here will exceed published direct combustion inventories (e.g. RTE, UBA, Eurostat) by 20–60 % in low-fossil zones. Same ranking, different absolute level. If you need direct-combustion totals for compliance reporting, use the Member-State inventory.

Biomass (B01) = 230 kgCO2eq/MWh

The AR5 sustainable-forestry lifecycle median. Operational combustion is biogenic-neutral by IPCC convention; the lifecycle factor captures upstream silviculture and processing. Co-firing and wood-pellet feedstocks run materially higher (up to ~740). Treat 230 as a lower-bound for the EU biomass mix.

Waste-to-energy (B17) = 330 kgCO2eq/MWh

Lower-bound fossil-fraction approximation. EU municipal-solid-waste typically averages closer to 500 once plastic content is properly counted; full range in the literature is 330–700+. Note: in the res_share derivation, B17 counts as renewable (ENTSO-E's source-substrate taxonomy). Here it emits at the fossil-fraction factor. Both views are intentional.

Excluded from output

Pumped storage (B10), energy storage (B25), transmission assets (B21–B24), "other" (B20), and unknown PSR codes (B99) carry no factor — no primary combustion at the asset itself, and pricing storage dispatch would double-count emissions already attributed to the source fuel that charged it.

Raw input

ENTSO-E Transparency Platform generation_per_type for every zone except Great Britain (PT15M for most zones; aggregated to hourly via average MW × 1 hour before multiplying by the factor, so the result is faithful regardless of whether the source publishes in quarters, half-hours, or full hours).

Great Britain reads a different source

ENTSO-E stopped publishing GB generation on 2021-06-15 (post-Brexit), so GB uses the NESO Data Portal generation mix (half-hourly, 2009 → now) for all years — one consistent source, no mid-2021 splice; the two sources agree within ~0.3% on comparable fuels over their overlap. NESO includes modelled estimates of embedded (distribution-connected) solar and wind — the generation that is invisible to ENTSO-E everywhere else — so GB totals sit closer to the national inventory than other zones, at the price of those two components being estimates rather than meterings. NESO's wind splits by connection level, not technology: transmission-connected wind (~75–80% offshore) takes the AR5 offshore median, embedded wind the onshore median. Net interconnector imports and net storage discharge are excluded, same as storage everywhere else. Supported by National Energy SO Open Data.

Ireland is the whole island

Ireland and Northern Ireland trade as one Single Electricity Market (bidding zone IE_SEM), so the map draws Northern Ireland with Ireland, and Great Britain's figure is GB only.

Periods

A country's year is shown only when every one of its bidding zones has twelve complete months; sub-zones are summed into their country (Italy has seven). Last 12 months is the twelve most recent complete months — a month counts once it ended at least ten days ago, so late publishers have landed — under the same rule; its "change" compares it with the twelve months before. The map's data is recomputed when new generation lands and served from a stored snapshot, so it is there at once.

Generation coverage — totals undershoot national inventories

ENTSO-E aggregated generation-per-type captures generation visible to the TSO; distribution-connected and self-consumed plants below the platform's reporting thresholds — chiefly rooftop solar PV and small gas cogeneration — are under-represented (EC review of the Transparency Platform). Production-based totals here therefore fall short of national power-sector inventories, and the gap is widest in markets with a large distributed/cogeneration fleet. Italy is the clearest case: summed across all seven Italian bidding zones (IT_NORD, IT_CNOR, IT_CSUD, IT_SUD, IT_CALA, IT_SICI, IT_SARD), 2024 lands at ~57 Mt CO2 here versus ~75 Mt in Ember's inventory. Transmission-connected fuels match (our 2024 wind ≈ 22 TWh and coal ≈ 8 TWh track Terna), but landed gas (~94 TWh) and solar (~28 TWh) fall short of Terna's ~115 TWh and 36 TWh — the per-MWh factors are right, the missing piece is distributed generation. A country total must sum every one of a country's bidding zones; Italy has seven. Countries marked † on the map, ranking, and scatter carry this caveat.

Map

Country shapes from Natural Earth (public domain), drawn in the EU's equal-area projection (ETRS89-LAEA), so no country looks bigger — or dirtier — than it is.