What you should know about this indicator
- Estimated population density of each of the world's 100 most populous cities (as ranked in 2020), based on satellite imagery and census data.
- Cities are defined as areas with at least 1,500 people per km² and a total population of at least 50,000, identified using the Degree of Urbanization framework based on satellite imagery and census data.
- City boundaries are fixed at their 2025 extent across all years, so historical values reflect conditions within today's boundaries. This can make fast-growing cities appear less dense in earlier periods.
- Cities are also split at country borders, so a city that straddles two countries will appear as two separate entries.
- City boundaries are model-derived and may not match official administrative limits. Data quality varies by region and tends to be lower where census data is sparse or outdated.
- The underlying population figures have been rescaled to match UN World Population Prospects 2022 national totals, so country-level numbers are consistent with UN estimates.
- For 1950–1975, estimates use UN national statistics. From 1975 onwards, population is mapped to 1 km² grid cells using the Global Human Settlement Layer (GHSL).
- The ranking of the top 100 cities is fixed based on their population in 2020. Historical values show the density of those same cities across time.
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
Population density was calculated by dividing the population of the urban centre by its total land area.
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: Population density of the world's largest cities”, part of the following publication: Hannah Ritchie, Veronika Samborska, and Max Roser (2024) - “Urbanization”. Data adapted from European Commission, Joint Research Centre (JRC). Retrieved from https://archive.ourworldindata.org/20260610-110447/grapher/population-density-by-city.html [online resource] (archived on June 10, 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:
European Commission, Joint Research Centre (JRC) (2025) – with minor processing by Our World in DataFull citation
European Commission, Joint Research Centre (JRC) (2025) – with minor processing by Our World in Data. “Population density of the world's largest cities” [dataset]. European Commission, Joint Research Centre (JRC), “Global Human Settlement Layer Dataset” [original data]. Retrieved June 10, 2026 from https://archive.ourworldindata.org/20260610-110447/grapher/population-density-by-city.html (archived on June 10, 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/population-density-by-city.csv?v=1&csvType=full&useColumnShortNames=falseMetadata URL (JSON format)
https://ourworldindata.org/grapher/population-density-by-city.metadata.json?v=1&csvType=full&useColumnShortNames=falseExcel / Google Sheets
=IMPORTDATA("https://ourworldindata.org/grapher/population-density-by-city.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/population-density-by-city.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/population-density-by-city.metadata.json?v=1&csvType=full&useColumnShortNames=false").json()R
library(jsonlite)
# Fetch the data
df <- read.csv("https://ourworldindata.org/grapher/population-density-by-city.csv?v=1&csvType=full&useColumnShortNames=false")
# Fetch the metadata
metadata <- fromJSON("https://ourworldindata.org/grapher/population-density-by-city.metadata.json?v=1&csvType=full&useColumnShortNames=false")Stata
import delimited "https://ourworldindata.org/grapher/population-density-by-city.csv?v=1&csvType=full&useColumnShortNames=false", encoding("utf-8") clear