8 European grids, every hour of 2025. Austria's annual share is 85.6% and its worst single hour of the year is 45.92% — which is exactly 2.0 times the Netherlands' figure for the whole year. Seven of the eight markets paid people to generate at some point.
Austria generated 85.6% renewable electricity across 2025, and its worst single hour of the year was 45.92%. The Netherlands managed 22.93% for the entire year. One grid's worst hour is 2.0 times another's annual average.
Every grid here publishes an annual renewable share. Underneath each one is a distribution of 70,075 hourly shares, and the distributions do not resemble each other even where the annual figures are close.
Annual share. Its worst hour of the year was 45.92% and its best 99.8%, and it spent 5,491 hours at or above 80%.
Annual share, with a range of 2.51% to 64.25%.
Austria's worst single hour of the entire year, divided by Netherlands's average for the entire year. An annual share cannot express that.
The grid most people mean when they say “the energy transition”. Its published figure for 2025 is one number; the year it describes is not.
Energy-weighted: total renewable megawatt-hours over total. The mean of its hourly shares is 61.6%, which is a different statistic and deliberately shown beside it.
A 59.22-point spread. The extremes are wider still: 20.4% at worst and 93.1% at best.
21.0% of the year running on a grid that is four fifths renewable — and the same year contains the January week in the next section.
For each country, the worst rolling 168-hour window of the year, found by search rather than by picking calendar weeks. The dates are the finding: 4 of 8 fall in January 2025 and the windows overlap.
Against 22.93% for the year, with 91.52% fossil filling the gap.
Down from 63.38% for the year, with 66.58% fossil. Two neighbouring grids becalmed in the same window is precisely when a cable to the neighbour is worth least.
Its worst renewable week ran 18.68% renewable and 79.79% nuclear. Same weather, entirely different bill.
The day-ahead auction, settled prices, 123,096 intervals. A negative price means a generator paid to deliver: there was more must-run output than demand and something had to give.
Of intervals below zero — 724 of them. Across all zones, 3,917.
EUR/MWh, in Belgium. Someone was paid nearly five hundred euros a megawatt-hour to take electricity away.
At -16.46 EUR/MWh when negative — deeper than Germany, which goes negative almost twice as often. Frequency and severity are different questions.
The eight zones do not just differ in how often prices go negative. They differ in how far they are allowed to.
EUR/MWh was its minimum for the entire year. Not a low number — exactly zero, which is a floor. Its mean price was also the highest of the eight at 115.6.
EUR/MWh, and it still went negative 601 times. A different floor, not a different grid.
At 61.39 EUR/MWh across the year — the most nuclear-heavy grid here, and the one whose worst renewable week barely touched fossil fuel.
Five limits. The first two would each move every number on this page if handled differently, so they are stated rather than buried.
Cross-border trade is excluded, so a country importing renewable power from its neighbour looks less renewable than what it actually consumes, and an exporter looks greener. On a coupled continent that gap is large, and it is the single biggest reason not to read these as national virtue scores.
ENTSO-E transparency data covers transmission-connected plant. Distribution-level solar — which in several of these countries is most of the solar — does not appear as generation. Every solar share here is understated, and understated most in the sunniest countries.
Pumped-storage output and the consumption that fills it are both left out. Counting the output as renewable would double-count the electricity used to pump the water uphill, which on a windy night may itself have been fossil.
A wind farm paid to switch off during a negative-price hour does not appear in these figures at all. So the renewable share understates what was available, and it understates it precisely in the hours the price section is about.
5 of these countries report quarter-hourly and 3 hourly. Comparing them requires one grid, so everything is averaged to the hour — averaged rather than summed, which keeps the unit as power rather than silently turning it into energy. A 15-minute analysis would show wider extremes than anything on this page.
One fetcher, eight CSVs, and a category list written out by hand on purpose.
“Fossil coal-derived gas” contains the word gas and is not renewable. “Hydro pumped storage” contains hydro and is not generation. Every production type is assigned by name, and a check fails on any type filed as renewable whose name begins with Fossil.
The energy-weighted share is total renewable megawatt-hours over total megawatt-hours. The mean of hourly shares treats a windy midnight and a still midday as equally important. Germany's are 63.38% and 61.6%, and a check asserts they never come out equal, because if they did one of them is being computed wrongly.
A rolling 168-hour window over the whole ordered year, taking the minimum. Picking calendar weeks would have found a different and less bad answer, and picking the week after seeing the result would be choosing the finding first.
The API takes start and end in the market's own time, so a request for 2025 returns a series labelled from 23:00 on 31 December — central European time is UTC+1 in winter. It is a full local year, and the first version of the span check assumed UTC and failed on it.
The API answers “Too Many Requests” after a handful of quick calls and a year needs about two hundred, so requests are spaced and cached on disk. The cache is not committed; the eight derived CSVs are.
Energy-Charts is CC BY 4.0. Generation derives from ENTSO-E transparency data and prices from Bundesnetzagentur / SMARD, both cited on this page. ENTSO-E's own API needs a registered token, which is why this reads Energy-Charts instead.
Every figure on this page traces to one of these, through a CSV in
data/global-grid/. Each is checked against its source query on every
build.
Electricity generation by production type for eight European countries across 2025, at each country's native resolution — quarter-hourly for Spain, Poland, the Netherlands and Austria, hourly for France, Belgium, Italy and Denmark — CC BY 4.0, no key. Derived from ENTSO-E transparency data, which covers transmission-connected plant: rooftop solar is largely invisible and the solar share is understated everywhere, most in the sunniest countries.
The originating source for European generation and load data — Cited for provenance. Energy-Charts is what this analysis reads, because the ENTSO-E API requires a registered token and this project uses only sources reachable without an account.
Day-ahead market prices per bidding zone, 2025, in EUR per MWh — Served through the same Energy-Charts endpoint and licensed CC BY 4.0. These are settled day-ahead auction prices, so a negative price is a real cleared price rather than a model output.