Every table and figure on this site comes from the 26 files below, 1,392,172 rows in all, assembled from the annual statistical yearbooks of the Ministry of Justice and the Ministry of the Interior and Safety across layouts that change from year to year. The files are at openICPSR, and the code that produces them is at github.com/nariyoo/kird-korea-immigration.
| File | Contents | Rows | Columns | Year | Size |
|---|---|---|---|---|---|
| multicultural_households.csv | Multicultural household composition by sub-district | 344,842 | 13 | 2016–2024 | 45,916 |
| visa_by_nationality.csv | Registered foreigners by nationality and status of stay | 239,081 | 8 | 2006–2024 | 16,611 |
| language_demand.csv | First-language demand estimated from nationality composition | 207,962 | 11 | 2006–2024 | 15,411 |
| nationality_by_sigungu.csv | Registered foreigners by district and nationality | 174,748 | 10 | 2008–2024 | 14,901 |
| age_sex_national.csv | Registered and staying foreigners by nationality, age and sex, national (kept apart by the population column) | 168,122 | 7 | 2006–2024 | 7,583 |
| visa_by_sigungu.csv | Registered foreigners by district and status of stay | 78,123 | 9 | 2008–2024 | 5,323 |
| children_by_age.csv | Children of foreign residents (MOIS) by district and age | 63,942 | 9 | 2011–2024 | 4,269 |
| summary_by_eupmyeondong.csv | Foreign-resident composition by sub-district (MOIS broad definition) | 38,646 | 24 | 2014–2024 | 5,918 |
| nationality_by_sido.csv | Registered foreigners by province and nationality | 25,205 | 7 | 2006–2024 | 1,446 |
| naturalization_by_country.csv | Nationality-related decisions by nationality | 16,210 | 6 | 2011–2024 | 1,048 |
| nationality_national.csv | Registered foreigners by nationality, national | 7,280 | 5 | 2006–2024 | 283 |
| visa_by_sido.csv | Registered foreigners by province and residence status | 7,209 | 6 | 2008–2024 | 292 |
| diaspora_residence_by_sido.csv | Overseas Korean residence reports by province (F-4, outside the registered-foreigner count) | 6,172 | 7 | 2008–2024 | 362 |
| language_weights.csv | Weights used to split nationalities into first languages (Ethnologue) | 4,515 | 5 | - | 188 |
| summary_by_sigungu.csv | Registered foreigners, resident-registration population, share, and diversity index by district | 4,261 | 35 | 2008–2024 | 918 |
| naturalization_by_age.csv | Nationality-related decisions by age | 1,620 | 5 | 2011–2024 | 80 |
| visa_national.csv | Registered foreigners by residence status, national | 1,241 | 6 | 2006–2024 | 63 |
| segregation_by_nationality.csv | Index of dissimilarity, isolation index, and interaction with Koreans by nationality | 1,064 | 9 | 2014–2024 | 75 |
| ethnic_enclaves.csv | Cases of one nationality at 30% or more of local foreigners | 738 | 13 | 2008–2024 | 76 |
| summary_by_sido.csv | Registered foreigners and resident-registration population by province, with share and diversity index | 317 | 29 | 2006–2024 | 59 |
| crosswalk_country.csv | Crosswalk from the nationality labels each yearbook edition prints to the standard names | 268 | 6 | - | 20 |
| crosswalk_visa.csv | Crosswalk from the old sub-codes for residence status to the parent codes used here | 240 | 5 | - | 17 |
| naturalization_annual.csv | Nationality cases by year | 140 | 4 | 2011–2024 | 6 |
| region_segregation.csv | Segregation indicators by district | 121 | 6 | 2014–2024 | 6 |
| crosswalk_region.csv | Crosswalk from renamed places and changed boundaries to the standard region names | 88 | 6 | - | 7 |
| national_annual.csv | Registered foreigners and staying foreigners by year, national | 17 | 28 | 2008–2024 | 3 |
| Total | 1,392,172 | 120,881 |
Source: openICPSR public dataset, DOI 10.3886/E249944.
Note: Files download in two formats, CSV and Stata dta. Variable definitions are in data_dictionary.csv. Click a file name to open its description in the repository.
| Year | Yearbook national total | District total | Difference | Difference rate |
|---|---|---|---|---|
| 2008 | 854,007 | 854,007 | 0 | 0 |
| 2009 | 870,636 | 870,636 | 0 | 0 |
| 2010 | 918,917 | 918,917 | 0 | 0 |
| 2011 | 982,461 | 982,461 | 0 | 0 |
| 2012 | 932,983 | 932,983 | 0 | 0 |
| 2013 | 985,923 | 985,923 | 0 | 0 |
| 2014 | 1,091,531 | 1,091,531 | 0 | 0 |
| 2015 | 1,143,087 | 1,143,086 | 1 | 0 |
| 2016 | 1,161,677 | 1,161,677 | 0 | 0 |
| 2017 | 1,171,762 | 1,171,762 | 0 | 0 |
| 2018 | 1,246,626 | 1,246,626 | 0 | 0 |
| 2019 | 1,271,807 | 1,271,807 | 0 | 0 |
| 2020 | 1,145,540 | 1,145,540 | 0 | 0 |
| 2021 | 1,093,891 | 1,093,891 | 0 | 0 |
| 2022 | 1,189,585 | 1,189,585 | 0 | 0 |
| 2023 | 1,348,626 | 1,348,626 | 0 | 0 |
| 2024 | 1,488,353 | 1,488,353 | 0 | 0 |
| 2025 | 1,604,920 | 1,604,920 | 0 | 0 |
Source: MOJ Statistical Yearbook on Immigration and Foreign Policy, each year.
Note: The yearbook's national figure counts the lines that name no nationality (stateless and others). The sum of the district tables equals it in every year except 2015, when the yearbook's Gyeonggi subtotal holds 1 person more than its district lines, so the national figure is 1 larger. District maps and charts use the district sum as the denominator.
code/run_pipeline.py runs the whole thingClone the repository and run the two lines below to rebuild the tables. The raw yearbooks are not included in the repository, so download them from each ministry and place them under KIRD_ROOT
.
pip install -r code/requirements.txt
KIRD_ROOT=/path/to/KIRD python code/run_pipeline.py
--phase 2 rebuilds the tables only, and
--from 27_export_dataset.py resumes from that step.
Source: github.com/nariyoo/kird-korea-immigration README.
Note: The year range is the range this site actually uses. It can differ from the range the ministry publishes.
Yoo, N. (2026). Spatiotemporal administrative dataset of nationality, residential diversity, and language demand among immigrants in South Korea, 2006–2024 [Data set]. Ann Arbor, MI: openICPSR. https://doi.org/10.3886/E249944
CC BY 4.0. The copyright holder is Nari Yoo (University of Michigan School of Social Work). Copyright in the source data rests with each ministry. Questions to nariyoo@umich.edu.