What you should know about this indicator

  • This data comes from the Colonial Dates Dataset (COLDAT), compiled by Bastian Becker at the University of Bremen. COLDAT doesn’t collect new historical evidence. Instead, it combines the start and end dates of colonial rule recorded in four existing datasets: the Correlates of War project, and datasets by Lange and coauthors (2006), Wimmer and Min (2006), and Olsson (2009).
  • COLDAT gives each start and end date of colonial rule in two versions: the latest of the dates the four datasets give, and their average. Not every colony appears in all four datasets, and COLDAT’s author filled in by hand the 25 dates that none of them gives, mostly from the CIA World Factbook. We use the latest dates. This is a conservative choice: a country only counts as a colony from the year all the datasets that give a date agree colonial rule had started, and until the year they all agree it had ended. As a result, colonial rule can start later in this data than in some of the datasets COLDAT draws on.
  • COLDAT doesn’t include every colony. For example, it doesn’t record Dutch rule in today’s Malaysia (Malacca) or Sri Lanka (Ceylon), and its author notes that colonies none of the four datasets mentions are missing. In such cases, the data can miss years in which a country was colonized, or show the wrong colonizer for them. It also leaves out colonies of European countries other than the eight it covers, such as Denmark and Sweden.
Years a country was a European overseas colony
Number of years the country has been colonized from overseas by the European colonial power(s) in a specific year, between Belgium, United Kingdom, France, Germany, Netherlands, Portugal, Spain, and Italy, or a combination of them.
Source
Bastian Becker (2023) – with major processing by Our World in Data
Last updated
September 18, 2023
Date range
1462–2022
Unit
years

Sources and processing

Bastian Becker – Colonial Dates Dataset (COLDAT)

The Colonial Dates Dataset (COLDAT) aggregates information on the reach and duration of European colonial empires from renowned secondary sources. By aggregating secondary sources, rather than collecting from primary sources, the new dataset reflects the accumulated knowledge in the discipline and relieves researchers from making hard to justify choices between different historical datasets. The dataset only considers the colonial status of countries that are independent today. It also includes overseas colonies only.

Retrieved on
September 22, 2023
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.
Becker, Bastian (2019), Introducing COLDAT: The Colonial Dates Dataset, SOCIUM/SFB1342 Working Paper Series, 02/2019. url: https://www.socium.uni-bremen.de/f/51ebd445c4.pdf

The Colonial Dates Dataset (COLDAT) aggregates information on the reach and duration of European colonial empires from renowned secondary sources. By aggregating secondary sources, rather than collecting from primary sources, the new dataset reflects the accumulated knowledge in the discipline and relieves researchers from making hard to justify choices between different historical datasets. The dataset only considers the colonial status of countries that are independent today. It also includes overseas colonies only.

Retrieved on
September 22, 2023
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.
Becker, Bastian (2019), Introducing COLDAT: The Colonial Dates Dataset, SOCIUM/SFB1342 Working Paper Series, 02/2019. url: https://www.socium.uni-bremen.de/f/51ebd445c4.pdf

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
Notes on our processing step for this indicator

For each country and year, we count how many years it had been a colony up to that year, so the count stays the same after its colonial rule ended. The eight colonial powers and countries that were never colonized show 0.

COLDAT gives each start and end date of colonial rule in two versions: the latest of the dates its sources give, and their average. COLDAT’s author filled in by hand the few dates that no source gives. We use the latest dates, to be conservative: they mark the years by which all the sources that give a date agree colonial rule had started or ended.

COLDAT only lists the years in which each country was a colony. We fill in every year from 1462, the earliest start date in the data, to 2022, so that each country also has values before, between and after its colonial periods.

COLDAT only covers overseas colonies, so we leave European countries that were neither colonized nor colonizers without data.

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: Years a country was a European overseas colony”, part of the following publication: Bastian Herre and Pablo Arriagada (2023) - “State Capacity”. Data adapted from Bastian Becker. Retrieved from https://archive.ourworldindata.org/20261110-144705/grapher/years-colonized.html [online resource] (archived on November 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:

Bastian Becker (2023) – with major processing by Our World in Data

Full citation

Bastian Becker (2023) – with major processing by Our World in Data. “Years a country was a European overseas colony” [dataset]. Bastian Becker, “Colonial Dates Dataset (COLDAT) 3.0” [original data]. Retrieved November 12, 2026 from https://archive.ourworldindata.org/20261110-144705/grapher/years-colonized.html (archived on November 10, 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/years-colonized.csv?v=1&csvType=full&useColumnShortNames=false
Metadata URL (JSON format)
https://ourworldindata.org/grapher/years-colonized.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/years-colonized.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/years-colonized.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/years-colonized.metadata.json?v=1&csvType=full&useColumnShortNames=false").json()
R
library(jsonlite)

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

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