Skip to content
Official and academic sources Not verified yet

Demographic balance of the permanent resident population by nationality category

bfs-population-balance

Publisher
OFS/BFS
Access method
pxweb
Table id
px-x-0102020000_101
Licence
BFS terms of use OPEN-BY: "Open use. Must provide the source."
Coverage
Geography national · population permanent resident population (total, Swiss, foreign), calendar year; stocks on 1 January and 31 December · from 1971 · to 2025
Gaps
Immigration and emigration are published from 1981; 1971–1980 have the net migration only (left empty, not 0). National level only kept (the table has cantons). Sex breakdown not kept.
Used on
STORY-06, PROB-01
Known limits
Sources named by the table: ESPOP (to 2010) and STATPOP (since 2011); from 2010 the permanent resident population also counts persons in the asylum process with at least 12 months of residence (break in the series). Immigration includes changes from the non-permanent to the permanent population ("inkl. Änderung des Bevölkerungstyps"). Net migration here is the BFS definition; the SEM publishes a different "Wanderungssaldo" for foreign nationals (SEM/BFS fact sheet "Erklärungen zu den Unterschieden zwischen den Statistiken des SEM und des BFS zur ausländischen Wohnbevölkerung", January 2025: 2023 — BFS 147 751, SEM 98 851; the BFS counts the asylum area with 12 months of residence, the SEM counts status changes and register corrections differently). Cross-checks (2026-11-02): the foreign population on 31 December equals bfs-nationality-groups ("Ausland") for 2011–2025; 31.12.2010 is still ESPOP here (1 754 358) and STATPOP in bfs-nationality-groups (1 766 277) and the total equals bfs-population-historic (STATPOP years); the naturalisations of the Swiss population equal bfs-naturalisations in every year 1981–2025 except 1998 (21 277 vs 21 279) and 2001 (27 583 vs 27 586), where they match the by-nationality table su-d-01.05.06.01.08. These are durable checks in scripts/checks/facts-population.ts.

How current is this data?

Freshness
Up to date

According to its update rhythm, no newer edition is expected yet.

Period covered
1971–2025
Last change of the data
Last check of the source
Update rhythm
Yearly

Ledger note (in English): Yearly, with the definitive population results in late August (2025 data on 20.08.2026).

Votara checks the source
Every week, and every day from 3 days before to 14 days after an announced publication date

The state is computed each time the site is built; this page shows it as of . Results of the accuracy checks

Transformations

  1. PxWeb POST to px-x-0102020000_101: Kanton = Schweiz, Geschlecht = Total, Staatsangehörigkeit (Kategorie) = Total / Schweiz / Ausland, every component, json-stat2. Components mapped by their exact German labels (unknown labels fail the fetch); the inter-cantonal moves and the two "Geschlechtsänderung beim Zivilstandsamt" components are left out. Script: scripts/fetch/bfs-population-balance.ts
  2. DECISION: when immigration and emigration are both 0 in a year whose net migration is not 0 (1971–1980), both cells are left empty (not published separately).
  3. Computed by Votara: share_dec31_pct of the Swiss and of the foreign population = population on 31 December of the category ÷ total × 100, rounded half-up to 2 decimals. The fetcher checks 1 January + change = 31 December and Swiss + foreign = total on 31 December.
  4. Naturalisations: positive for the Swiss population, negative for the foreign population, 0 in the total (a change of category, not of the total).