Annual electricity generation, demand and emissions by country
Annual electricity statistics for 215 countries, 1985 to 2025, from Ember: generation by fuel, shares, capacity, emissions, demand, imports and carbon intensity. Three files: a tidy long CSV with every value, a wide CSV with one row per country for its latest year, and a JSON summary. Data as of 2025.
Numbers in the files are raw values; units are in the column names or the unit column. They are not the rounded, formatted figures shown on the site's pages.
Key Facts
- Coverage: 215 countries, 1985 to 2025.
- 3 files: ember-annual-generation.csv (13 MB), ember-annual-summary.csv (28 KB), country-summary.json (121 KB).
- Licence: CC BY 4.0.
Download
Data as of 2025| File | What it holds | Rows | Size |
|---|---|---|---|
| ember-annual-generation.csv | Annual statistics, tidy long CSV. One row per country, year, metric and fuel. Missing values are omitted rather than left blank. | 231,243 | 13 MB |
| ember-annual-summary.csv | Latest year summary, wide CSV. One row per country for its latest year with data. Units are in the column names. | 215 | 28 KB |
| country-summary.json | Country summary, JSON. The same latest year summary as JSON, with the attribution and licence in a meta block. | n/a | 121 KB |
README.txt lists the attribution for every dataset. Files compress well, so most servers send them gzipped.
Fields: ember-annual-generation.csv
| Column | Unit | Meaning |
|---|---|---|
| country_id | text | World Power Monitor country id, the slug used in /countries/<id>/ URLs. |
| country | text | Country name. |
| iso3 | text | ISO 3166-1 alpha-3 code; empty where the entity has none. |
| year | year | Calendar year. |
| metric | text | generation, share_of_generation, installed_capacity or emissions (per fuel); total_generation, demand, demand_per_capita, net_imports, carbon_intensity or total_emissions (fuel empty). |
| fuel | text | Fuel id (coal, gas, other_fossil, nuclear, hydro, wind, solar, bioenergy, other_renewables); empty for totals. |
| value | per unit column | The raw number. |
| unit | text | Unit of value: TWh, GW, %, MtCO2, MWh (demand_per_capita is MWh per person) or gCO2/kWh. |
Preview: first 6 rows
| country_id | country | iso3 | year | metric | fuel | value | unit |
|---|---|---|---|---|---|---|---|
| afghanistan | Afghanistan | AFG | 2000 | total_generation | 0.48 | TWh | |
| afghanistan | Afghanistan | AFG | 2000 | demand | 0.57 | TWh | |
| afghanistan | Afghanistan | AFG | 2000 | demand_per_capita | 0.03 | MWh | |
| afghanistan | Afghanistan | AFG | 2000 | net_imports | 0.09 | TWh | |
| afghanistan | Afghanistan | AFG | 2000 | carbon_intensity | 247.92 | gCO2/kWh | |
| afghanistan | Afghanistan | AFG | 2000 | total_emissions | 0.12 | MtCO2 |
Fields: ember-annual-summary.csv
| Column | Unit | Meaning |
|---|---|---|
| country_id | text | World Power Monitor country id, the slug used in /countries/<id>/ URLs. |
| country | text | Country name. |
| iso3 | text | ISO 3166-1 alpha-3 code; empty where the entity has none. |
| year | year | Latest year with generation data for that country. |
| total_generation_twh | TWh | Total electricity generation. |
| demand_twh | TWh | Electricity demand. |
| demand_per_capita_mwh | MWh | Demand per person. |
| net_imports_twh | TWh | Net imports; negative means net exports. |
| carbon_intensity_gco2_kwh | gCO2/kWh | Carbon intensity of generation. |
| total_emissions_mtco2 | MtCO2 | Power sector emissions. |
| generation_<fuel>_twh | TWh | Generation from each fuel, one column per fuel. |
| share_<fuel>_pct | % | Share of generation from each fuel, one column per fuel. |
Preview: first 6 rows
| country_id | country | iso3 | year | total_generation_twh | demand_twh | demand_per_capita_mwh | net_imports_twh | carbon_intensity_gco2_kwh | total_emissions_mtco2 | generation_coal_twh | generation_gas_twh | generation_other_fossil_twh | generation_nuclear_twh | generation_hydro_twh | generation_wind_twh | generation_solar_twh | generation_bioenergy_twh | generation_other_renewables_twh | share_coal_pct | share_gas_pct | share_other_fossil_pct | share_nuclear_pct | share_hydro_pct | share_wind_pct | share_solar_pct | share_bioenergy_pct | share_other_renewables_pct |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| afghanistan | Afghanistan | AFG | 2024 | 0.99 | 6.82 | 0.16 | 5.83 | 117.17 | 0.12 | 0.03 | 0 | 0.1 | 0 | 0.75 | 0 | 0.11 | 0 | 0 | 3.03 | 0 | 10.1 | 0 | 75.76 | 0 | 11.11 | 0 | 0 |
| albania | Albania | ALB | 2025 | 7.11 | 7.99 | 0.88 | 25.17 | 0.18 | 0 | 0 | 0 | 0 | 6.71 | 0 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 94.32 | 0 | 5.68 | 0 | 0 | |
| algeria | Algeria | DZA | 2024 | 96.36 | 93.84 | 2.01 | -2.52 | 632.85 | 60.98 | 0 | 95 | 0.33 | 0 | 0.02 | 0.02 | 0.99 | 0 | 0 | 0 | 98.59 | 0.34 | 0 | 0.02 | 0.02 | 1.03 | 0 | 0 |
| american-samoa | American Samoa | ASM | 2024 | 0.18 | 0.18 | 3.85 | 0 | 622.22 | 0.11 | 0 | 0 | 0.17 | 0 | 0 | 0 | 0.01 | 0 | 0 | 0 | 0 | 94.44 | 0 | 0 | 0 | 5.56 | 0 | 0 |
| angola | Angola | AGO | 2024 | 15.59 | 15.59 | 0.41 | 0 | 185.06 | 2.88 | 0 | 1.4 | 2.7 | 0 | 11 | 0 | 0.44 | 0.05 | 0 | 0 | 8.98 | 17.32 | 0 | 70.56 | 0 | 2.82 | 0.32 | 0 |
| antigua-and-barbuda | Antigua and Barbuda | ATG | 2024 | 0.37 | 0.37 | 3.95 | 0 | 608.11 | 0.22 | 0 | 0 | 0.34 | 0 | 0 | 0 | 0.03 | 0 | 0 | 0 | 0 | 91.89 | 0 | 0 | 0 | 8.11 | 0 | 0 |
Fields: country-summary.json
| Column | Unit | Meaning |
|---|---|---|
| meta | object | Title, source, attribution string, licence and licence URL. |
| countries[].id, name, iso3, year, url | text | Identity, latest year and the page for the country on this site. |
| countries[].total_generation_twh and the other totals | unit in name | The same totals as the wide CSV. |
| countries[].generation_twh, share_pct | TWh, % | Objects keyed by fuel id. |
Coverage and Updates
- Coverage. 215 countries, 1985 to 2025.
- Update cadence. Ember publishes annual figures as national statistics arrive, mostly once a year, with revisions. The files are rebuilt from the latest Ember release with every site build.
- Changes made. Restructured into tidy tables, with fuel categories named by World Power Monitor fuel ids. Ember's values are not altered.
Licence and Attribution (README)
Licence: CC BY 4.0. Keep this attribution with any copy or derived work:
Source: Ember (ember-energy.org), licensed under CC BY 4.0.
Restructured into tidy tables, with fuel categories named by World Power Monitor fuel ids. Ember's values are not altered.
How to Cite
Replace the bracketed date with the day you downloaded the file.
Ember. Annual electricity generation, demand and emissions by country, data to 2025. Reformatted by World Power Monitor, https://worldpowermonitor.com/data/ember-annual/ (accessed [date]). CC BY 4.0.
Source: Ember (ember-energy.org), licensed under CC BY 4.0. Data as of 2025.