Data

Official entrance age to compulsory education

See all data and research on:

What you should know about this indicator

  • Children around the world begin formal education at different ages — this indicator shows the age at which students are officially expected to start a given level of education in their country.
  • It assumes that students begin schooling on time, attend full-time, and progress without repeating or skipping any grades.
  • The official entrance age is typically determined by national laws or education policies and usually reflects the most common age of entry, though not always.
  • This indicator is essential for understanding how an education system is structured and is used as a reference point when calculating other key indicators like enrollment rates or school-age population estimates.
  • It helps identify the age-specific demand for education services and supports national planning for staffing, infrastructure, and learning materials at each education level.
  • Data on official entrance age is reported by national ministries of education and compiled by the UNESCO Institute for Statistics, following International Standard Classification of Education (ISCED) to ensure international comparability.
  • While this provides a standard benchmark, actual school entry may vary due to parental choices, local policies, or flexibility in school admissions.
  • To fully interpret this indicator, it should be considered alongside the theoretical duration of the level of education, which indicates how long students are expected to remain in that level if they follow the system as designed.

How is this data described by its producer?

Official age when students should enter compulsory education assuming they start at the official entrance age for the lowest level of education, study full-time throughout and progressed through the system without repeating or skipping a grade. The theoretical entrance age to a given programme or level is typically, but not always, the most common entrance age.

Official entrance age to compulsory education
The official age for entering compulsory education is based on students starting at the earliest entrance age, studying full-time, and advancing without grade repetition or skipping.
Source
UNESCO Institute for Statistics (2025)with minor processing by Our World in Data
Last updated
May 1, 2025
Next expected update
May 2026
Date range
1975–2024
Unit
years

Sources and processing

UNESCO Institute for Statistics – UNESCO Institute for Statistics (UIS) - Education

The UNESCO Institute for Statistics (UIS) is the official and trusted source of internationally-comparable data on education, science, culture and communication. As the official statistical agency of UNESCO, the UIS produces a wide range of state-of-the-art databases to fuel the policies and investments needed to transform lives and propel the world towards its development goals. The UIS provides free access to data for all UNESCO countries and regional groupings from 1970 to the most recent year available.

Retrieved on
May 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.
UNESCO Institute for Statistics (UIS), Education, https://uis.unesco.org/bdds, 2025

The UNESCO Institute for Statistics (UIS) is the official and trusted source of internationally-comparable data on education, science, culture and communication. As the official statistical agency of UNESCO, the UIS produces a wide range of state-of-the-art databases to fuel the policies and investments needed to transform lives and propel the world towards its development goals. The UIS provides free access to data for all UNESCO countries and regional groupings from 1970 to the most recent year available.

Retrieved on
May 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.
UNESCO Institute for Statistics (UIS), Education, https://uis.unesco.org/bdds, 2025

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: Official entrance age to compulsory education”, part of the following publication: Hannah Ritchie, Veronika Samborska, Esteban Ortiz-Ospina, and Max Roser (2023) - “Global Education”. Data adapted from UNESCO Institute for Statistics. Retrieved from https://archive.ourworldindata.org/20260304-094028/grapher/official-entrance-age-to-compulsory-education.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:

UNESCO Institute for Statistics (2025) – with minor processing by Our World in Data

Full citation

UNESCO Institute for Statistics (2025) – with minor processing by Our World in Data. “Official entrance age to compulsory education” [dataset]. UNESCO Institute for Statistics, “UNESCO Institute for Statistics (UIS) - Education” [original data]. Retrieved April 1, 2026 from https://archive.ourworldindata.org/20260304-094028/grapher/official-entrance-age-to-compulsory-education.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/official-entrance-age-to-compulsory-education.csv?v=1&csvType=full&useColumnShortNames=false
Metadata URL (JSON format)
https://ourworldindata.org/grapher/official-entrance-age-to-compulsory-education.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/official-entrance-age-to-compulsory-education.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/official-entrance-age-to-compulsory-education.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/official-entrance-age-to-compulsory-education.metadata.json?v=1&csvType=full&useColumnShortNames=false").json()
R
library(jsonlite)

# Fetch the data
df <- read.csv("https://ourworldindata.org/grapher/official-entrance-age-to-compulsory-education.csv?v=1&csvType=full&useColumnShortNames=false")

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