Permanent resident population since 1860
bfs-population-historic
- Publisher
- OFS/BFS
- Access method
pxweb- Table id
px-x-0102030000_101- Licence
- opendata.swiss terms of use "terms_by": "Open use. Must provide the source."
- Coverage
- Geography national · referenceDay 31 December · from 1860 · to 2025
- Gaps
- One value per year, national only. Values for 1946–1959 are published as round hundreds (BFS estimates). No interpolation is applied anywhere.
- Used on
- STORY-01, home, STORY-04, STORY-07
- Known limits
- 1860–1980 are annual BFS estimates based on the federal population censuses, not annual counts. Source changes between 1980/1981 (ESPOP) and 2010/2011 (STATPOP) are definition breaks; the chart marks them with the series column. The "permanent resident population" definition is BFS's, linked from the table note (https://www.bfs.admin.ch/bfs/de/home/grundlagen/definitionen.html).
- Verification
- verification date: 2026-10-31 · method: Fetched from the BFS PxWeb API (table px-x-0102030000_101) and compared the 2025 value with the BFS press release "Bestand und Entwicklung der Bevölkerung der Schweiz im Jahr 2025 — Definitive Ergebnisse" (embargo 20.8.2026), which gives 9 127 100 persons on 31 December 2025 (rounded to the hundred). · checkedValue: 2025: 9127125 persons (press release: 9 127 100) · checkedAgainst: https://dam-api.bfs.admin.ch/hub/api/dam/assets/36680491/master
- Processed file
- data/processed/bfs-population-historic.csv
How current is this data?
- Freshness
- Up to date
According to its update rhythm, no newer edition is expected yet.
- Period covered
- 1860–2025
- Last change of the data
- Last check of the source
- Update rhythm
- Yearly
Ledger note (in English): Yearly. BFS publishes provisional results in spring and definitive results in late August (2025 data — press release of 20 Aug 2026; table LAST-UPDATED 2026-08-20).
- 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
- PxWeb POST with sex = "Sex - total" and age = "Age - total" (value code 0), all years, format json-stat2; a second identical request in "px" format provides the table note. Script: scripts/fetch/bfs-population-historic.ts
- The series column is taken from the table note "Data sources: 1860-1980 estimates based on federal population censuses FPC, 1981-2010 … ESPOP, since 2011 … STATPOP": census = 1860–1980, espop = 1981–2010, statpop = 2011–. The fetcher fails if the note changes.
- Values copied as published (persons, integers); one row per year; rows sorted by year.