share of renewable energy in gross final energy consumption in the EU in 2024
Share of renewable energy in gross final energy consumption in the EU in 2024: 25.2%
According to the Eurostat dataset "Share of renewable energy in gross final energy consumption by sector"1, the EU (EU27, from 2020) reached 25.24% renewable energy in gross final energy consumption in 2024 — i.e. just over a quarter of final energy came from renewable sources2.
For context, the same source shows how the EU has progressed and how the overall figure breaks down by sector in 2024:
| Category | 2024 share (%) |
|---|---|
| Overall (gross final energy consumption) | 25.2 |
| Electricity | 47.5 |
| Heating & cooling | 26.7 |
| Transport | 11.2 |
This is a steady increase from 9.6% in 2004, with notably strong growth since 20203. The long-run trend is shown in the chart generated in the code run 3. (The dataset also contains a 2025 figure of 26.2%, but as 2024 is the latest full year of actual data, the 2024 value of 25.2% is the appropriate answer.)
- Eurostat dataset: Share of renewable energy in gross final energy consumption by sector
- Code Run 1Dataset: sdg_07_40
Dataset filters for
sdg_07_40Filter Value(s) geo EU27_2020 nrg_bal REN, REN_TRA, REN_ELC, REN_HEAT_CL unit PC TIME_PERIOD 2024 Program output
['freq', 'nrg_bal', 'unit', 'geo', 'time', 'value'] (4, 6) freq nrg_bal unit geo time value 0 A REN_TRA PC EU27_2020 2024 11.200 1 A REN_ELC PC EU27_2020 2024 47.503 2 A REN PC EU27_2020 2024 25.241 3 A REN_HEAT_CL PC EU27_2020 2024 26.738Code
import pandas as pd df = pd.read_csv(DATASET_FILE0) print(df.columns.tolist()) print(df.shape) print(df.head(20).to_string()) - Code Run 2Dataset: sdg_07_40
Images
renewable_share_eu.svgDataset filters for
sdg_07_40Filter Value(s) geo EU27_2020 nrg_bal REN unit PC Program output
time value 2004 9.605 2005 10.182 2006 10.778 2007 11.749 2008 12.552 2009 13.850 2010 14.405 2011 14.547 2012 16.002 2013 16.659 2014 17.416 2015 17.820 2016 17.978 2017 18.411 2018 19.096 2019 19.887 2020 22.038 2021 21.897 2022 23.003 2023 24.579 2024 25.241 2025 26.200 saved 2024 value: [25.241]Code
import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv(DATASET_FILE0) df['time'] = df['time'].astype(int) df = df.sort_values('time') print(df[['time','value']].to_string(index=False)) fig, ax = plt.subplots(figsize=(8,4.5)) ax.plot(df['time'], df['value'], marker='o', color='#2a9d8f') ax.axhline(42.5, color='gray', linestyle='--', linewidth=1) ax.text(df['time'].min(), 42.5, ' EU 2030 target (42.5%)', va='bottom', fontsize=8, color='gray') ax.set_title('Share of renewable energy in gross final energy consumption, EU27 (2004–2024)') ax.set_xlabel('Year') ax.set_ylabel('% of gross final energy consumption') ax.grid(alpha=0.3) fig.tight_layout() fig.savefig('renewable_share_eu.svg') print("saved") print("2024 value:", df[df['time']==2024]['value'].values)