Literacy rates
What you should know about this indicator
- Literacy is a foundational skill. Children need to learn to read so that they can read to learn. When we fail to teach this foundational skill, people have fewer opportunities to lead the rich and interesting lives that a good education offers.
- This indicator measures the percentage of people who can read and write a simple sentence about their daily life. It’s calculated as the number of people in a given age group who report being able to do so, divided by the total number in that group. UNESCO tracks this across different generations – including youth, adults, and older people – to show how literacy is changing over time.
- Most of the data comes from national surveys. In some countries, people are asked directly whether they can read and write; in others, they take a short test.
- In many high–income countries, literacy rates reached near–universal levels by the late 20th century. As a result, regular tracking has been scaled back, since changes are small and less relevant for education policy.
- This data tells us whether someone can read and write at a very basic level – for example, reading simple sentences or writing their name. But it doesn’t tell us whether they can use reading and writing in everyday life, like filling out a job application or reading health instructions. Those kinds of skills take more years of schooling and are much harder to measure, especially when comparing across countries and over time.
Related research and writing
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.
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: Literacy rates among adults”, 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/20260309-103458/grapher/literacy.html [online resource] (archived on March 9, 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 DataFull citation
UNESCO Institute for Statistics (2025) – with minor processing by Our World in Data. “Literacy rates among adults” [dataset]. UNESCO Institute for Statistics, “UNESCO Institute for Statistics (UIS) - Education” [original data]. Retrieved April 10, 2026 from https://archive.ourworldindata.org/20260309-103458/grapher/literacy.html (archived on March 9, 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/literacy.csv?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_sideMetadata URL (JSON format)
https://ourworldindata.org/grapher/literacy.metadata.json?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_sideExcel / Google Sheets
=IMPORTDATA("https://ourworldindata.org/grapher/literacy.csv?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_side")Python with Pandas
import pandas as pd
import requests
# Fetch the data.
df = pd.read_csv("https://ourworldindata.org/grapher/literacy.csv?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_side", storage_options = {'User-Agent': 'Our World In Data data fetch/1.0'})
# Fetch the metadata
metadata = requests.get("https://ourworldindata.org/grapher/literacy.metadata.json?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_side").json()R
library(jsonlite)
# Fetch the data
df <- read.csv("https://ourworldindata.org/grapher/literacy.csv?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_side")
# Fetch the metadata
metadata <- fromJSON("https://ourworldindata.org/grapher/literacy.metadata.json?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_side")Stata
import delimited "https://ourworldindata.org/grapher/literacy.csv?v=1&csvType=full&useColumnShortNames=false&age_group=adult&sex=sex_side_by_side", encoding("utf-8") clear