Data

World Bank income groups

See all data and research on:

What you should know about this indicator

  • The World Bank creates a yearly classification of countries by income, for all countries with population over 30,000.
  • This classification stays the same throughout the World Bank's fiscal year (from July 1 to June 30) even if the income data for a country changes.
  • Low-income countries are those with a gross national income (GNI) per capita of $1,135 or less in 2024.
  • Lower-middle-income countries are those with a GNI per capita between $1,136 and $4,495 in 2024.
  • Upper-middle-income countries are those with a GNI per capita between $4,496 and $13,935 in 2024.
  • High-income countries are those with a GNI per capita of more than $13,935 in 2024.
  • Venezuela, classified as an upper-middle income country until the fiscal year 2021, has been unclassified since then due to the unavailability of data. Ethiopia is currently in a temporary status of unclassification.

How is this data described by its producer?

For the current 2026 fiscal year, low-income economies are defined as those with a GNI per capita, calculated using the World Bank Atlas method, of $1,135 or less in 2024; lower middle-income economies are those with a GNI per capita between $1,136 and $4,495; upper middle-income economies are those with a GNI per capita between $4,496 and $13,935; high-income economies are those with more than a GNI per capita of $13,935.

Please note: Regions in this table include economies at all income levels. The term country, used interchangeably with economy, does not imply political independence but refers to any territory for which authorities report separate social or economic statistics. Click here for information about how the World Bank classifies countries.

World Bank income groups
Income classification based on the country's income each year.
Source
World Bank (2025)with major processing by Our World in Data
Last updated
July 1, 2025
Next expected update
July 2026
Date range
1987–2024

Sources and processing

World Bank – Income Classifications

Every year, the World Bank Group classifies the world’s economies into four income groups: low, lower-middle, upper-middle, and high. These classifications, updated each year on July 1, are based on the previous year’s Gross National Income (GNI) per capita, expressed in U.S. dollars using the Atlas method.

Retrieved on
July 1, 2025
Citation
This is the citation of the original data obtained from the source, prior to any processing or adaptation by Our World in Data. To cite data downloaded from this page, please use the suggested citation given in Reuse This Work below.
World Bank (2025). World Bank Country and Lending Groups.

Every year, the World Bank Group classifies the world’s economies into four income groups: low, lower-middle, upper-middle, and high. These classifications, updated each year on July 1, are based on the previous year’s Gross National Income (GNI) per capita, expressed in U.S. dollars using the Atlas method.

Retrieved on
July 1, 2025
Citation
This is the citation of the original data obtained from the source, prior to any processing or adaptation by Our World in Data. To cite data downloaded from this page, please use the suggested citation given in Reuse This Work below.
World Bank (2025). World Bank Country and Lending Groups.

All data and visualizations on Our World in Data rely on data sourced from one or several original data providers. Preparing this original data involves several processing steps. Depending on the data, this can include standardizing country names and world region definitions, converting units, calculating derived indicators such as per capita measures, as well as adding or adapting metadata such as the name or the description given to an indicator.

At the link below you can find a detailed description of the structure of our data pipeline, including links to all the code used to prepare data across Our World in Data.

Read about our data pipeline

How to cite this page

To cite this page overall, including any descriptions, FAQs or explanations of the data authored by Our World in Data, please use the following citation:

“Data Page: World Bank income groups”, part of the following publication: Max Roser, Bertha Rohenkohl, Pablo Arriagada, Joe Hasell, Hannah Ritchie, and Esteban Ortiz-Ospina (2023) - “Economic Growth”. Data adapted from World Bank. Retrieved from https://archive.ourworldindata.org/20260304-094028/grapher/world-bank-income-groups.html [online resource] (archived on March 4, 2026).

How to cite this data

In-line citationIf you have limited space (e.g. in data visualizations), you can use this abbreviated in-line citation:

World Bank (2025) – with major processing by Our World in Data

Full citation

World Bank (2025) – with major processing by Our World in Data. “World Bank income groups” [dataset]. World Bank, “Income Classifications” [original data]. Retrieved April 1, 2026 from https://archive.ourworldindata.org/20260304-094028/grapher/world-bank-income-groups.html (archived on March 4, 2026).

Quick download

Download the data shown in this chart as a ZIP file containing a CSV file, metadata in JSON format, and a README. The CSV file can be opened in Excel, Google Sheets, and other data analysis tools.

Data API

Use these URLs to programmatically access this chart's data and configure your requests with the options below. Our documentation provides more information on how to use the API, and you can find a few code examples below.

Data URL (CSV format)
https://ourworldindata.org/grapher/world-bank-income-groups.csv?v=1&csvType=full&useColumnShortNames=false
Metadata URL (JSON format)
https://ourworldindata.org/grapher/world-bank-income-groups.metadata.json?v=1&csvType=full&useColumnShortNames=false

Code examples

Examples of how to load this data into different data analysis tools.

Excel / Google Sheets
=IMPORTDATA("https://ourworldindata.org/grapher/world-bank-income-groups.csv?v=1&csvType=full&useColumnShortNames=false")
Python with Pandas
import pandas as pd
import requests

# Fetch the data.
df = pd.read_csv("https://ourworldindata.org/grapher/world-bank-income-groups.csv?v=1&csvType=full&useColumnShortNames=false", storage_options = {'User-Agent': 'Our World In Data data fetch/1.0'})

# Fetch the metadata
metadata = requests.get("https://ourworldindata.org/grapher/world-bank-income-groups.metadata.json?v=1&csvType=full&useColumnShortNames=false").json()
R
library(jsonlite)

# Fetch the data
df <- read.csv("https://ourworldindata.org/grapher/world-bank-income-groups.csv?v=1&csvType=full&useColumnShortNames=false")

# Fetch the metadata
metadata <- fromJSON("https://ourworldindata.org/grapher/world-bank-income-groups.metadata.json?v=1&csvType=full&useColumnShortNames=false")
Stata
import delimited "https://ourworldindata.org/grapher/world-bank-income-groups.csv?v=1&csvType=full&useColumnShortNames=false", encoding("utf-8") clear