Swiss citizens aged 15 and over with and without another nationality
bfs-dual-citizenship
- Publisher
- OFS/BFS
- Access method
api- Table id
ts-x-40.02.01.05.09- Licence
- BFS terms of use OPEN-BY: "Open use. Must provide the source."
- Coverage
- Geography national · population Swiss citizens aged 15 and over of the permanent resident population living in private households (structural survey) · referenceDay 31 December · from 2015 · to 2024
- Gaps
- The published file starts in 2010, but 2010–2014 are left out (not comparable, see knownLimits). Second nationality only for the 16 states the BFS lists separately; all others are "Andere Staatsangehörigkeiten" (code 8999). A person with three or more nationalities is counted once, under the state the survey records as the second nationality. Swiss citizens under 15 and people in collective households (care homes, prisons …) are not covered.
- Used on
- STORY-06, PROB-01
- Known limits
- Sample survey (structural survey): estimates with a 95 % confidence interval, population aged 15+ in private households only; the BFS warns that values from 49 or fewer observations are to be read with great caution (status U) and does not publish those from 4 or fewer (L). Comparability: for 2010–2014 the published file has no "naturalised Swiss without another nationality" (every naturalised Swiss is counted with another nationality, 740 000–828 000 persons), and 2010–2012 have 267 000–298 000 Swiss with an unknown second nationality (SECCITIZ 99); dual nationals drop from 1 119 145 (2014) to 873 046 (2015) for that reason, not because of a real change. Votara starts the series in 2015. Cross-check (2026-11-02): the total of Swiss aged 15+ (5 497 429 in 2024) equals the "Schweizer" row of table T 40.02.01.05.01 of the same survey (bfs-population-composition); the 2024 values equal the XLSX su-d-40.02.01.05.09-2024 (dual nationals 1 147 426 ± 0.87 %, Italy 252 439, France 125 323, Germany 123 813). Not comparable with the foreign population of STATPOP (all ages, registers): a nationality's foreign nationals and its Swiss dual nationals cannot be added up exactly.
- Processed file
- data/processed/bfs-dual-citizenship.csv
How current is this data?
- Freshness
- Up to date
According to its update rhythm, no newer edition is expected yet.
- Period covered
- 2015–2024
- Last change of the data
- Last check of the source
- Update rhythm
- Yearly
Ledger note (in English): Yearly, in January (the 2024 survey was published on 29.01.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
- CSV ts-x-40.02.01.05.09 (SDMX-like: TIME_PERIOD, SECCITIZ, eight breakdown dimensions, OBS_VALUE, OBS_CONFIDENCE = 95 % confidence interval ± in %, OBS_STATUS A/U/L) and its appendix (ODS code lists in DE/FR/IT/EN). A cell of one breakdown has "Total" in all other dimensions. Script: scripts/fetch/bfs-dual-citizenship.ts
- group_type status (published cells): CITIZBIRTHANDTODAY 0 "Schweizer seit Geburt" / 1 "Eingebürgert" × SECCITIZ 0 "Schweizer ohne weiterer Staatsangehörigkeit" / 1 "Schweizer mit weiterer Staatsangehörigkeit" / Total → by_birth_single, by_birth_dual, by_birth, naturalised_single, naturalised_dual, naturalised, each with its published interval.
- group_type sum (computed by Votara, no published interval): swiss_total = by_birth + naturalised; dual_total = by_birth_dual + naturalised_dual; single_total = by_birth_single + naturalised_single. The fetcher checks that the dual nationals by age group add up to dual_total (± 5).
- group_type country: SECCITIZ 1 × CTRYSECCITIZ (BFS state code) with the four official names from the appendix; 8999 "Andere Staatsangehörigkeiten" (labels from the DE/FR/IT/EN editions of table T 40.02.01.05.09 2024), 9999 "Andere doppelte Staatsangehörigkeit" (appendix), 10000 (no other nationality) left out. Cells with status L (confidential) have no value and are left out.
- share_pct = population ÷ swiss_total × 100, computed by Votara, rounded half-up to 2 decimals.
- A year is kept only when the cell "naturalised without another nationality" is published.