Chômage, taux de chômage par sexe et âge (sens BIT) (1975-)
Données - INSEE
Info
Last observation: 2026-Q1
First observation: 1975-Q1
Number of observations: 19 338
Last data update: 23 jul 2026, 22:44. Last compile: 24 jul 2026, 05:24
Structure
Données sur l’emploi
| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| insee | CHOMAGE-TRIM-NATIONAL | Chômage, taux de chômage par sexe et âge (sens BIT) (1975-) | 2026-07-23 | 2026-07-23 |
| insee | CNA-2014-EMPLOI | Emploi intérieur, durée effective travaillée et productivité horaire | 2026-07-23 | 2026-07-22 |
| insee | DEMANDES-EMPLOIS-NATIONALES | Demandeurs d'emploi inscrits à Pôle Emploi | 2026-07-23 | 2026-07-23 |
| insee | EMPLOI-BIT-TRIM | Emploi, activité, sous-emploi par secteur d’activité (sens BIT) | 2026-07-23 | 2026-07-23 |
| insee | EMPLOI-SALARIE-TRIM-NATIONAL | Estimations d'emploi salarié par secteur d'activité | 2026-07-23 | 2026-07-23 |
| insee | TAUX-CHOMAGE | Taux de chômage localisé | 2026-07-23 | 2026-07-23 |
| insee | TCRED-EMPLOI-SALARIE-TRIM | Estimations d'emploi salarié par secteur d'activité et par département | 2026-07-23 | 2026-07-23 |
Data on employment
| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| bls | jt | NA | NA | NA |
| bls | la | NA | NA | NA |
| bls | ln | NA | NA | NA |
| eurostat | nama_10_a10_e | Employment by A*10 industry breakdowns | 2026-07-23 | 2026-07-23 |
| eurostat | nama_10_a64_e | National accounts employment data by industry (up to NACE A*64) | 2026-07-23 | 2026-07-23 |
| eurostat | namq_10_a10_e | Employment A*10 industry breakdowns | 2026-07-23 | 2026-07-23 |
| eurostat | une_rt_m | Unemployment by sex and age – monthly data | 2026-07-23 | 2026-07-23 |
| oecd | ALFS_EMP | Employment by activities and status (ALFS) | 2024-04-16 | 2025-05-24 |
| oecd | EPL_T | Strictness of employment protection – temporary contracts | 2026-07-23 | 2023-12-10 |
| oecd | LFS_SEXAGE_I_R | LFS by sex and age - indicators | 2026-07-23 | 2024-04-15 |
| oecd | STLABOUR | Short-Term Labour Market Statistics | 2026-07-23 | 2025-01-17 |
Halo du chomage
Ensemble
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(IDBANK %in% c("010605056",
"010605048",
"010605049",
"010605050")) %>%
select(AGE, TITLE_FR, TIME_PERIOD, OBS_VALUE) %>%
mutate(OBS_VALUE = OBS_VALUE %>% as.numeric,
TITLE_FR = TITLE_FR %>% gsub("\\(en milliers\\) - France hors Mayotte - Données CVS", "", .),
TITLE_FR = TITLE_FR %>% gsub("Personnes dans le halo autour du chômage - ", "", .)) %>%
quarter_to_date %>%
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR, linetype = TITLE_FR)) +
theme_minimal() +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.6, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 9000, 500),
labels = dollar_format(accuracy = 1, prefix = "", su = " K")) +
ylab("Halo du Chômage (en milliers)") + xlab("")
Inactifs
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR %in% c("CHLODU", "HALO_1", "HALO_2", "HALO_3"),
REF_AREA == "FR-D976") %>%
quarter_to_date %>%
mutate(Indicateur = gsub("Personnes dans le halo autour du chômage : ", "", Indicateur)) %>%
arrange(date) %>%
select(date, OBS_VALUE, INDICATEUR, Indicateur) %>%
ggplot() + ylab("Halo du Chômage (en milliers)") + xlab("") + theme_minimal() +
geom_line(aes(x = date, y = OBS_VALUE, color = Indicateur, linetype = Indicateur)) +
scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.55, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 9000, 200),
labels = dollar_format(accuracy = 1, prefix = ""),
limits = c(0, 2000))
Nombre de chômeurs
Tous
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTCHC",
AGE == "00-",
SEXE == "0") %>%
quarter_to_date %>%
ggplot() + theme_minimal() + ylab("Nombre de chômeurs") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 3000, 500),
labels = dollar_format(accuracy = 1, pre = "", su = " K"))
Taux de chômage
Tous
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
AGE == "00-",
SEXE == "0") %>%
quarter_to_date %>%
mutate(OBS_VALUE = OBS_VALUE/100) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 20, 1),
labels = percent_format(accuracy = 1)) +
geom_hline(yintercept = 0.05, linetype = "dashed")
1990-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
AGE == "00-",
SEXE == "0") %>%
quarter_to_date %>%
filter(date >= as.Date("1990-01-01")) %>%
mutate(OBS_VALUE = OBS_VALUE/100) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 20, 1),
labels = percent_format(accuracy = 1))
Genre
Tous
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
AGE == "00-") %>%
quarter_to_date %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Sexe, linetype = Sexe)) +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.3),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 20, 1),
labels = percent_format(accuracy = 1))
2005-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
AGE == "00-") %>%
quarter_to_date %>%
filter(date >= as.Date("2005-01-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Sexe, linetype = Sexe)) +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.85, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 20, .5),
labels = percent_format(accuracy = .1))
2010-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
AGE == "00-") %>%
quarter_to_date %>%
filter(date >= as.Date("2010-01-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Sexe, linetype = Sexe)) +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 20, .5),
labels = percent_format(accuracy = .1))
Nombre de chômeurs
All
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR %in% c("CTCHC", "CHLODU"),
SEXE == "0",
AGE == "00-24") %>%
quarter_to_date %>%
ggplot() + theme_minimal() + ylab("Nombre de chômeurs") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE*1000, color = Ref_area)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.88),
legend.title = element_blank()) +
scale_y_continuous(breaks = 1000*seq(100, 1100, 50),
labels = dollar_format(pre = ""))
1990-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTCHC",
SEXE == "0",
AGE == "00-24") %>%
quarter_to_date %>%
filter(date >= as.Date("1990-01-01")) %>%
ggplot() + theme_minimal() + ylab("Nombre de chômeurs") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE*1000, color = Ref_area)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.88),
legend.title = element_blank()) +
scale_y_continuous(breaks = 1000*seq(100, 1100, 50),
labels = dollar_format(pre = ""))
Age (Tous)
Tous
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0") %>%
quarter_to_date %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.12, 0.88),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 5),
labels = percent_format(accuracy = 1))
2005-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0") %>%
quarter_to_date %>%
filter(date >= as.Date("2005-01-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.9, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 2),
labels = percent_format(accuracy = 1))
2010-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0") %>%
quarter_to_date %>%
filter(date >= as.Date("2005-01-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.9, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 2),
labels = percent_format(accuracy = 1))
2017-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0") %>%
quarter_to_date %>%
filter(date >= as.Date("2017-01-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = "6 months",
labels = date_format("%b %y")) +
theme(legend.position = c(0.9, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 2),
labels = percent_format(accuracy = 1))
Age (sauf - de 25 ans)
Tous
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0",
AGE != "00-24") %>%
quarter_to_date %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 1),
labels = percent_format(accuracy = 1),
limits = c(0, 0.13))
2005-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0",
AGE != "00-24") %>%
quarter_to_date %>%
filter(date >= as.Date("2005-01-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.9, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 1),
labels = percent_format(accuracy = 1))
2010-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0",
AGE != "00-24") %>%
quarter_to_date %>%
filter(date >= as.Date("2005-01-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.9, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 1),
labels = percent_format(accuracy = 1))
2017-
Code
`CHOMAGE-TRIM-NATIONAL` %>%
filter(INDICATEUR == "CTTXC",
REF_AREA == "FR-D976",
SEXE == "0",
AGE != "00-24") %>%
quarter_to_date %>%
filter(date >= as.Date("2017-04-01")) %>%
ggplot() + theme_minimal() + ylab("Taux de chômage (%)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/100, color = Age)) +
scale_x_date(breaks = seq(1920, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.9, 0.9),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(0, 40, 1),
labels = percent_format(accuracy = 1))