Carbon dioxide (CO2) emissions (total) excluding LULUCF (Mt CO2e)

Source: worldbank.org, 03.09.2025

Year: 2023

Flag Country Value Value change, % Rank
Aruba Aruba 0.53 +5.43% 174
Afghanistan Afghanistan 8.71 +5.42% 114
Angola Angola 28.2 +3.21% 74
Albania Albania 4.59 -0.373% 136
United Arab Emirates United Arab Emirates 206 -0.439% 27
Argentina Argentina 184 -5.02% 30
Armenia Armenia 7.73 +5.98% 119
American Samoa American Samoa 0.0001 0% 198
Antigua & Barbuda Antigua & Barbuda 0.323 +5.42% 181
Australia Australia 374 -0.337% 16
Austria Austria 58.8 -3.93% 52
Azerbaijan Azerbaijan 42.8 +8.47% 60
Burundi Burundi 0.844 +0.56% 166
Belgium Belgium 84.3 -6.05% 44
Benin Benin 6.44 -2.74% 129
Burkina Faso Burkina Faso 6 -2.35% 131
Bangladesh Bangladesh 125 +0.577% 37
Bulgaria Bulgaria 39.8 -20.5% 61
Bahrain Bahrain 37.4 +3.13% 62
Bahamas Bahamas 1.68 +5.44% 155
Bosnia & Herzegovina Bosnia & Herzegovina 22 -3.15% 84
Belarus Belarus 54.2 -4.66% 55
Belize Belize 0.279 +6.42% 185
Bermuda Bermuda 0.351 +5.45% 179
Bolivia Bolivia 23.8 +4.7% 81
Brazil Brazil 480 +0.123% 13
Barbados Barbados 0.796 +4.79% 167
Brunei Brunei 9.72 +2.83% 110
Bhutan Bhutan 1.99 +3.11% 153
Botswana Botswana 7.42 +1.95% 120
Central African Republic Central African Republic 0.368 +4.42% 177
Canada Canada 575 -0.0538% 10
Switzerland Switzerland 34.2 -0.557% 68
Chile Chile 84 -5.45% 45
China China 13,260 +5.85% 1
Côte d’Ivoire Côte d’Ivoire 14.4 -2.38% 96
Cameroon Cameroon 10.8 -0.655% 106
Congo - Kinshasa Congo - Kinshasa 3.8 -2.38% 140
Congo - Brazzaville Congo - Brazzaville 7.25 -6.07% 121
Colombia Colombia 101 +9.92% 40
Comoros Comoros 0.318 +0.158% 182
Cape Verde Cape Verde 1.01 -2.97% 163
Costa Rica Costa Rica 8.57 +5.97% 115
Cuba Cuba 22.1 +5.85% 83
Cayman Islands Cayman Islands 0.358 +5.45% 178
Cyprus Cyprus 7.18 -0.0278% 123
Czechia Czechia 90.5 -8.97% 42
Germany Germany 583 -11.6% 9
Djibouti Djibouti 0.749 +0.0935% 168
Dominica Dominica 0.0799 +5.41% 193
Denmark Denmark 26.8 -4.86% 77
Dominican Republic Dominican Republic 31.4 +5.76% 73
Algeria Algeria 180 -3.37% 31
Ecuador Ecuador 45.3 +7.26% 57
Egypt Egypt 249 +0.878% 24
Eritrea Eritrea 0.669 +0.165% 171
Spain Spain 217 -7.73% 26
Estonia Estonia 11.4 -9.15% 103
Ethiopia Ethiopia 16.7 +1.02% 94
Finland Finland 32.3 -10.7% 71
Fiji Fiji 2.21 +3.36% 152
France France 282 -9.03% 22
Faroe Islands Faroe Islands 0.0021 0% 195
Micronesia (Federated States of) Micronesia (Federated States of) 0 199
Gabon Gabon 4.93 -8.68% 134
United Kingdom United Kingdom 302 -7.74% 19
Georgia Georgia 12.9 +1.82% 99
Ghana Ghana 24.2 -2.52% 80
Gibraltar Gibraltar 0.689 +2.01% 170
Guinea Guinea 3.72 -2.45% 142
Gambia Gambia 0.606 -2.93% 172
Guinea-Bissau Guinea-Bissau 0.346 -2.95% 180
Equatorial Guinea Equatorial Guinea 3.78 -9.24% 141
Greece Greece 51.7 -5.93% 56
Grenada Grenada 0.143 +5.47% 188
Greenland Greenland 0.582 +1.11% 173
Guatemala Guatemala 21.3 +6.87% 86
Guam Guam 0.0004 0% 196
Guyana Guyana 3.3 -0.542% 144
Hong Kong SAR China Hong Kong SAR China 34.7 +6.27% 67
Honduras Honduras 10.9 +5.98% 104
Croatia Croatia 17.5 +0.0803% 92
Haiti Haiti 3.54 +4.26% 143
Hungary Hungary 43.8 -7.93% 59
Indonesia Indonesia 675 +2.72% 7
India India 2,955 +7.82% 3
Ireland Ireland 32.5 -6.48% 70
Iran Iran 779 +2.4% 6
Iraq Iraq 193 +1.28% 29
Iceland Iceland 3.09 -5.04% 145
Israel Israel 61.3 -2.54% 51
Italy Italy 305 -8.2% 18
Jamaica Jamaica 6.86 +7.78% 125
Jordan Jordan 23.6 +5.57% 82
Japan Japan 945 -6.46% 5
Kazakhstan Kazakhstan 240 -0.147% 25
Kenya Kenya 21.7 +1.61% 85
Kyrgyzstan Kyrgyzstan 10.5 +1.48% 107
Cambodia Cambodia 18 +3.55% 90
Kiribati Kiribati 0.0974 +3.4% 191
St. Kitts & Nevis St. Kitts & Nevis 0.119 +5.41% 189
South Korea South Korea 574 -2.43% 11
Kuwait Kuwait 112 +2.04% 39
Laos Laos 26 +5.99% 78
Lebanon Lebanon 17.3 +2.73% 93
Liberia Liberia 1.64 -2.57% 157
Libya Libya 61.3 +7.38% 50
St. Lucia St. Lucia 0.297 +5.48% 183
Sri Lanka Sri Lanka 20.5 +2.69% 88
Lesotho Lesotho 0.878 +3.11% 164
Lithuania Lithuania 13.1 -0.27% 98
Luxembourg Luxembourg 7.01 -3.52% 124
Latvia Latvia 6.55 -1.6% 127
Macao SAR China Macao SAR China 3.01 +3.15% 146
Morocco Morocco 69.9 -0.624% 47
Moldova Moldova 9.93 +4.98% 108
Madagascar Madagascar 4.1 +2.74% 139
Maldives Maldives 2.88 +3.43% 147
Mexico Mexico 487 +4.54% 12
Marshall Islands Marshall Islands 0 199
North Macedonia North Macedonia 8.76 +4.53% 113
Mali Mali 6.66 -2.69% 126
Malta Malta 1.68 -4.26% 154
Myanmar (Burma) Myanmar (Burma) 33.4 +3.01% 69
Mongolia Mongolia 28.1 +8.6% 75
Northern Mariana Islands Northern Mariana Islands 0 199
Mozambique Mozambique 9.74 -2.87% 109
Mauritania Mauritania 4.65 -2.71% 135
Mauritius Mauritius 4.21 +4.06% 138
Malawi Malawi 6.45 +8.4% 128
Malaysia Malaysia 283 +3.27% 21
Namibia Namibia 4.36 +2.58% 137
New Caledonia New Caledonia 6.21 +5.56% 130
Niger Niger 2.82 -2.83% 148
Nigeria Nigeria 128 -1.66% 35
Nicaragua Nicaragua 5.73 +5.94% 133
Netherlands Netherlands 123 -7.59% 38
Norway Norway 44.1 -1.1% 58
Nepal Nepal 17.9 +4.13% 91
Nauru Nauru 0 199
New Zealand New Zealand 35.8 +3.45% 64
Oman Oman 93.1 +2.33% 41
Pakistan Pakistan 201 -8.31% 28
Panama Panama 14.7 +22.7% 95
Peru Peru 58.4 +2.44% 53
Philippines Philippines 161 +7.07% 32
Palau Palau 1.44 +2.97% 158
Papua New Guinea Papua New Guinea 5.95 +2.39% 132
Poland Poland 287 -9.58% 20
Puerto Rico Puerto Rico 13.8 +9.36% 97
North Korea North Korea 64.3 +8.09% 49
Portugal Portugal 36.2 -8.42% 63
Paraguay Paraguay 8.25 +0.919% 117
French Polynesia French Polynesia 1.26 +3.43% 160
Qatar Qatar 128 +7.73% 36
Romania Romania 70.8 -6.85% 46
Russia Russia 2,070 +2.19% 4
Rwanda Rwanda 1.65 +1.47% 156
Saudi Arabia Saudi Arabia 623 +2.92% 8
Sudan Sudan 21.3 -0.606% 87
Senegal Senegal 12 -2.7% 101
Singapore Singapore 57.1 +2.35% 54
Solomon Islands Solomon Islands 0.419 +3.41% 176
Sierra Leone Sierra Leone 1.07 -2.54% 162
El Salvador El Salvador 8.38 +5.83% 116
Somalia Somalia 0.868 +0.231% 165
São Tomé & Príncipe São Tomé & Príncipe 0.214 +4.49% 187
Suriname Suriname 2.63 +3.52% 149
Slovakia Slovakia 34.9 -1.95% 66
Slovenia Slovenia 12.1 -8.04% 100
Sweden Sweden 35.4 -2.25% 65
Eswatini Eswatini 1.39 +2.78% 159
Seychelles Seychelles 1.24 +2.89% 161
Syria Syria 25.6 +1.19% 79
Turks & Caicos Islands Turks & Caicos Islands 0.103 +5.42% 190
Chad Chad 2.57 +2.57% 150
Togo Togo 2.49 -1.48% 151
Thailand Thailand 274 -0.619% 23
Tajikistan Tajikistan 9.31 +1.35% 111
Turkmenistan Turkmenistan 66 -0.948% 48
Timor-Leste Timor-Leste 0.703 -1.29% 169
Tonga Tonga 0.22 +3.43% 186
Trinidad & Tobago Trinidad & Tobago 27.2 -2.53% 76
Tunisia Tunisia 31.5 +3.41% 72
Turkey Turkey 438 +1.05% 14
Tuvalu Tuvalu 0 199
Tanzania Tanzania 19.4 +2.07% 89
Uganda Uganda 7.22 -0.0499% 122
Ukraine Ukraine 136 -1.55% 34
Uruguay Uruguay 8.82 +1.23% 112
United States United States 4,682 -2.19% 2
Uzbekistan Uzbekistan 138 -0.728% 33
St. Vincent & Grenadines St. Vincent & Grenadines 0.0963 +5.48% 192
Venezuela Venezuela 84.6 +8.67% 43
British Virgin Islands British Virgin Islands 0.0753 +5.46% 194
U.S. Virgin Islands U.S. Virgin Islands 0.0002 0% 197
Vietnam Vietnam 373 +14.8% 17
Vanuatu Vanuatu 0.287 +3.42% 184
Samoa Samoa 0.468 +3.42% 175
Yemen Yemen 10.9 -2.61% 105
South Africa South Africa 397 -2.94% 15
Zambia Zambia 8.06 +3.23% 118
Zimbabwe Zimbabwe 11.7 +7.12% 102

Carbon dioxide (CO2) emissions excluding land use, land-use change, and forestry (LULUCF) represent one of the most critical environmental indicators concerning climate change. The total emissions from CO2 are measured in metric tons of CO2 equivalent (Mt CO2e) and reflect the amount of carbon dioxide produced through various human activities, primarily from burning fossil fuels for energy, industrial processes, and transportation. Understanding CO2 emissions is imperative for climate policy and action, as it directly relates to the greenhouse gas effect, which contributes to global warming. Furthermore, CO2 is a primary greenhouse gas, making up about three-quarters of greenhouse gas emissions. Its concentration in the atmosphere is a direct driver of climate change.

The importance of tracking CO2 emissions is underscored by the pressing need to mitigate climate change. Reducing CO2 emissions is fundamental to achieving global emissions targets and avoiding the worst impacts of climate change, such as extreme weather events, rising sea levels, and biodiversity loss. As nations commit to the Paris Agreement and aim to limit global warming to well below 2 degrees Celsius, and preferably to 1.5 degrees, understanding CO2 emissions becomes crucial for assessing progress and developing effective strategies.

CO2 emissions are interrelated with various other indicators such as energy consumption, economic growth, and industrial output. For instance, countries with higher industrial activities often exhibit higher CO2 emissions due to increased fossil fuel use. The relationship between economic growth and CO2 emissions also exemplifies a tricky balance; while economic development often leads to higher emissions, the transition to green technologies and renewable energy sources can reshape this narrative. Emissions per unit of GDP is another significant indicator; as countries invest in clean energy and efficiency advancements, it is possible to achieve economic growth with reduced emissions.

Numerous factors influence CO2 emissions on a global scale. These include population growth, technological advancements, energy production methods, and policy frameworks. For instance, nations that rely heavily on coal for power generation, like China and India, tend to have higher CO2 emissions compared to those investing in renewable energy. Policy measures such as carbon pricing, emission trading schemes, and renewable energy incentives can also play a significant role in altering emission trajectories.

The latest data from 2022 presents a global view of CO2 emissions, indicating a total of 38,522 Mt CO2e. This figure signifies a continuing trend of rising emissions which highlights the urgent need for comprehensive climate strategies. The median value of CO2 emissions for this year stands at 11.38, suggesting that while some countries have made significant strides in emissions reductions, others are lagging behind, contributing to an overall increase.

When examining the contributions of individual countries, the top five emitters in 2022 are China, the United States, India, Russia, and Japan, with China alone responsible for a staggering 12,667.43 Mt CO2e. The United States follows with 4,853.78 Mt CO2e, while India, Russia, and Japan contribute significantly less, with emissions of 2,693.03 Mt CO2e, 1,909.04 Mt CO2e, and 1,082.65 Mt CO2e, respectively. This concentration of emissions in a few nations underscores the disproportionate nature of global emissions, and emphasizes the need for international cooperation to address these challenges effectively.

In stark contrast, the bottom five regions contributing the least to CO2 emissions include island nations such as the Marshall Islands, Micronesia, and Tuvalu, all of which registered 0.0 Mt CO2e in 2022. These findings convey a critical message that not all nations are equally responsible for CO2 emissions, with smaller or less industrialized nations contributing minimal amounts. However, they are often the most vulnerable to climate change, facing challenges such as rising sea levels and changing weather patterns.

Historically, CO2 emissions have shown a persistent upward trend from the early 1990s to the present day. For instance, in 1990, global emissions stood at 22,516.77 Mt CO2e, steadily increasing to 38,522 Mt CO2e by 2022. The data reveal significant increases in various years, particularly between 2010 and 2019, before a temporary decline in 2020 due to the COVID-19 pandemic, which curbed industrial activities and energy consumption globally. However, as economies rebound, emissions have surged once more, indicating the challenges in restructuring our energy systems for sustainable outcomes.

To address the flaws commonly associated with moral hazard, where countries may rely on technological advancements to solve emissions issues instead of taking immediate action, it is crucial to promote proactive strategies. Diversifying energy sources, investing in energy-efficient technologies, and enhancing public transportation are vital steps. Transitioning to renewable energy solutions such as wind, solar, and hydroelectric power can significantly cut emissions while fostering economic benefits. Education and awareness campaigns can also drive public and private sector engagement on climate action, enabling collective efforts towards reducing CO2 emissions.

In conclusion, monitoring carbon dioxide emissions, excluding LULUCF, is essential to tackling the climate crisis facing our world today. The data reveal a compelling narrative of increasing emissions driven by industrialization and energy consumption, which necessitates commitment and cooperation at local, national, and global levels to forge lasting solutions for a sustainable future.

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'EN.GHG.CO2.MT.CE.AR5'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'EN.GHG.CO2.MT.CE.AR5'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))