What you should know about this indicator
- From 1950 onward, this indicator uses the UN World Urbanization Prospects, based on each country's own definition of urban and rural areas. For earlier years, it draws on HYDE v3.3 (History Database of the Global Environment), a modelled reconstruction of historical settlement patterns rather than direct observations.
- Countries classify areas as urban or rural using their own criteria, such as administrative boundaries, population size or density, economic activity, or some combination of these. As a result, similar settlements can be classified differently across countries.
- Definitions can also change within a country over time, creating breaks in the series that reflect reclassification rather than real changes in where people live.
- The Degree of Urbanization (DEGURBA) classifies settlements by population density and size using harmonized definitions across countries, making it better suited for cross-country comparisons. Our charts using DEGURBA data use this harmonized standard.
More Data on Urbanization
Sources and processing
This data is based on the following sources
How we process data at Our World in Data
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.
Notes on our processing step for this indicator
We combined two sources to extend the urban population series as far back as possible. For years before 1950, we use urban population estimates from HYDE v3.3. From 1950 onward, we use urban population from the UN World Urbanization Prospects, based on each country's national definition. The UN source reports population in thousands; we converted these values to people to align with HYDE.
Reuse this work
Citations
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: Urban population”, part of the following publication: Hannah Ritchie, Veronika Samborska, and Max Roser (2024) - “Urbanization”. Data adapted from PBL Netherlands Environmental Assessment Agency, United Nations Department of Economic and Social Affairs, Population Division. Retrieved from https://archive.ourworldindata.org/20260605-100901/grapher/urban-and-rural-population-stacked.html [online resource] (archived on June 5, 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:
HYDE (2023); United Nations Department of Economic and Social Affairs, Population Division (2025) – with minor processing by Our World in DataFull citation
HYDE (2023); United Nations Department of Economic and Social Affairs, Population Division (2025) – with minor processing by Our World in Data. “Urban population – UN national definitions, HYDE” [dataset]. PBL Netherlands Environmental Assessment Agency, “History Database of the Global Environment 3.3”; United Nations Department of Economic and Social Affairs, Population Division, “World Urbanization Prospects 2025 - Urban and Rural Population by National Definition” [original data]. Retrieved June 5, 2026 from https://archive.ourworldindata.org/20260605-100901/grapher/urban-and-rural-population-stacked.html (archived on June 5, 2026).Download
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/urban-and-rural-population-stacked.csv?v=1&csvType=full&useColumnShortNames=falseMetadata URL (JSON format)
https://ourworldindata.org/grapher/urban-and-rural-population-stacked.metadata.json?v=1&csvType=full&useColumnShortNames=falseExcel / Google Sheets
=IMPORTDATA("https://ourworldindata.org/grapher/urban-and-rural-population-stacked.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/urban-and-rural-population-stacked.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/urban-and-rural-population-stacked.metadata.json?v=1&csvType=full&useColumnShortNames=false").json()R
library(jsonlite)
# Fetch the data
df <- read.csv("https://ourworldindata.org/grapher/urban-and-rural-population-stacked.csv?v=1&csvType=full&useColumnShortNames=false")
# Fetch the metadata
metadata <- fromJSON("https://ourworldindata.org/grapher/urban-and-rural-population-stacked.metadata.json?v=1&csvType=full&useColumnShortNames=false")Stata
import delimited "https://ourworldindata.org/grapher/urban-and-rural-population-stacked.csv?v=1&csvType=full&useColumnShortNames=false", encoding("utf-8") clear