total number of immigrants foreign-born population living in European Union 2024 2025 record high

Model: Kimi K2.6 Checked on:

According to Eurostat data, the foreign-born population residing in the European Union (EU-27) reached approximately 62.6 million in 2024 and 64.7 million in 202512.

This 2025 figure represents a record high in the available series, which covers the period from 2015 through 20251. The trend shows a steady increase over the decade, with particularly notable growth in the most recent years, rising from about 60.1 million in 2023 to the current peak of 64.7 million1. The chart generated during the analysis illustrates this upward trajectory across the full available time series1.

  1. Dataset: tps00178

    Images

    foreign_born_eu.svg

    Dataset filters for tps00178

    FilterValue(s)
    geoEU27_2020
    c_birthFOR
    ageTOTAL
    sexT
    unitNR

    Program output

       freq c_birth    age unit sex        geo  time     value
    0     A     FOR  TOTAL   NR   T  EU27_2020  2022  56045896
    1     A     FOR  TOTAL   NR   T  EU27_2020  2020  54855524
    2     A     FOR  TOTAL   NR   T  EU27_2020  2015  44288815
    3     A     FOR  TOTAL   NR   T  EU27_2020  2025  64719037
    4     A     FOR  TOTAL   NR   T  EU27_2020  2021  55624109
    5     A     FOR  TOTAL   NR   T  EU27_2020  2016  45879196
    6     A     FOR  TOTAL   NR   T  EU27_2020  2023  60115595
    7     A     FOR  TOTAL   NR   T  EU27_2020  2018  50693432
    8     A     FOR  TOTAL   NR   T  EU27_2020  2019  53233648
    9     A     FOR  TOTAL   NR   T  EU27_2020  2017  48067848
    10    A     FOR  TOTAL   NR   T  EU27_2020  2024  62634187
    
    Sorted:
        time     value
    2   2015  44288815
    5   2016  45879196
    9   2017  48067848
    7   2018  50693432
    8   2019  53233648
    1   2020  54855524
    4   2021  55624109
    0   2022  56045896
    6   2023  60115595
    10  2024  62634187
    3   2025  64719037
    
    Record high: 64,719,037 in 2025
    2024: 62,634,187
    2025: 64,719,037
    
    Chart saved as foreign_born_eu.svg
    

    Code

    import pandas as pd
    import matplotlib.pyplot as plt
    
    df = pd.read_csv(DATASET_FILE)
    print(df)
    
    # Convert to numeric and sort by time
    df['value'] = pd.to_numeric(df['value'], errors='coerce')
    df = df.sort_values('time')
    print("\nSorted:")
    print(df[['time', 'value']])
    
    max_val = df['value'].max()
    max_year = df.loc[df['value'].idxmax(), 'time']
    print(f"\nRecord high: {max_val:,.0f} in {max_year}")
    print(f"2024: {df[df['time']==2024]['value'].values[0]:,.0f}")
    print(f"2025: {df[df['time']==2025]['value'].values[0]:,.0f}")
    
    # Create a chart
    plt.figure(figsize=(10, 6))
    plt.plot(df['time'], df['value']/1_000_000, marker='o', linewidth=2, markersize=8)
    plt.title('Foreign-born population in the EU-27')
    plt.xlabel('Year')
    plt.ylabel('Millions')
    plt.grid(True, alpha=0.3)
    plt.tight_layout()
    plt.savefig('foreign_born_eu.svg')
    plt.close()
    print("\nChart saved as foreign_born_eu.svg")
    
  2. Eurostat dataset: Foreign-born population