Skip to content
czechdatasets

Population of Czech municipalities 2000–2026

Population of every Czech municipality as of 1 January 2026 and every 1 January since 2000, by sex and age group. Plus regions, districts, ORP areas and city districts, all with national (RÚIAN) codes.

Free sample

One-time payment, final price for a personal licence, switch to business at checkout · data as of 1 January 2026

You are buying the ČSÚ code lists + population bundle. It also includes: ČSÚ code lists.

An island with a row of houses of different heights like a bar chart and a wooden filing cabinet with one drawer pulled outAn island with a row of houses of different heights like a bar chart and a wooden filing cabinet with one drawer pulled out

How much work it saves

Assembling the time series from the OBY02E dataset of ČSÚ, the Czech Statistical Office, filling in missing figures from the ends of the preceding years and handling 6,271 municipality codes, dissolved and merged ones included.

Measured on our own build

Lines of code and tests
437

We measured AI agent usage on 6 other datasets: the first working version of the code took 10m to 40m tokens and 21–62 mins of agent run time.

  • Free sample: all tables cut down to the Kutná Hora area, in CSV and Parquet. Download the sample
Data as of
1 January 2026
Rows
341,054
Tables
3
Bundle contents
3 tables: obyvatelstvo_obce, obyvatelstvo_obce_stredni, obyvatelstvo_uzemi
Formats
PostgreSQL, Parquet, CSV, JSON
Source licence
CC BY 4.0 (ČSÚ)

What’s inside

Population of every municipality in the Czech Republic as of 1 January from 2000 to 2026, by sex and age group 0–14, 15–64, 65+, the mid-year population as of 1 July, and the same figures for regions, districts, ORP (municipalities with extended powers) and the city districts of Prague. Codes from RÚIAN, the Czech register of addresses, buildings, parcels and territorial units.

TableRows
obyvatelstvo_obcemunicipalities, population as of 1 January of the year in rok, total / men / women / age 0–14, 15–64, 65+ (also by sex)168,852
obyvatelstvo_obce_strednimunicipalities, mid-year population as of 1 July (total, men, women; ČSÚ does not publish age groups for municipalities as of 1 July)162,599
obyvatelstvo_uzemihigher units as of 1 January: uzemi_typ = stat, region_soudrznosti, kraj, okres, orp, spravni_obvod_praha, mestska_cast9,603

Downloads

Every format contains the same data. Download only the one you need; verify its integrity with the SHA256SUMS file.

FormatFilesSize
PostgreSQLschema.sql with types, keys, indexes and comments, and import.sh, which loads the data from CSV29.2 kB
ParquetOne file per table (zstd). DuckDB, Polars and pandas read it without an import.34.4 MB
CSVUTF-8, comma-separated, with a header; large tables as .csv.gz328 MB
JSONAn array of objects; large tables as JSON Lines (.jsonl.gz)345 MB
  • In preparation Crime by municipality: Criminal offences by type and month for municipalities and city districts, per capita.
  • Considering Municipal budgets and finances: Revenue, expenditure and assets of municipalities and regions since 2010, from State Treasury reports.

Code example

More examples for SQL, DuckDB, Python and Node.js are in the README.md inside the bundle.

Fastest-growing municipalitiesPostgreSQL
-- největší relativní růst obcí nad 1000 obyvatel mezi 2010 a 2026
SELECT a.obec, a.pocet_obyvatel AS r2010, b.pocet_obyvatel AS r2026,
       round(100.0 * b.pocet_obyvatel / a.pocet_obyvatel - 100, 1) AS rust_pct
FROM csu_obyvatelstvo.obyvatelstvo_obce a
JOIN csu_obyvatelstvo.obyvatelstvo_obce b USING (obec_kod)
WHERE a.rok = 2010 AND b.rok = 2026 AND a.pocet_obyvatel >= 1000
ORDER BY rust_pct DESC LIMIT 20;
Share of population over 65 by regionDuckDB
SELECT kraj_kod, sum(pocet_obyvatel) AS obyvatel, round(100.0 * sum(vek_65_a_vice) / sum(pocet_obyvatel), 1) AS podil_65
FROM 'parquet/obyvatelstvo_obce.parquet' WHERE rok = 2026 GROUP BY 1 ORDER BY 1;

Source and licence

Processed by
czechdatasets.com. The data is modified and is not an official output of the authority; the required attribution is in LICENCE.txt.

ČSÚ code lists + population for 190 CZK.

One-time payment, download right after paying, no account and no subscription. Updates to the dataset are included in the price. All 15 paid datasets together cost 2,490 CZK, 3,510 CZK less than buying them one by one.