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.
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.


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.
| Table | Rows |
|---|---|
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_cast | 9,603 |
Downloads
Every format contains the same data. Download only the one you need; verify its integrity with the SHA256SUMS file.
| Format | Files | Size |
|---|---|---|
| PostgreSQLschema.sql with types, keys, indexes and comments, and import.sh, which loads the data from CSV | 2 | 9.2 kB |
| ParquetOne file per table (zstd). DuckDB, Polars and pandas read it without an import. | 3 | 4.4 MB |
| CSVUTF-8, comma-separated, with a header; large tables as .csv.gz | 3 | 28 MB |
| JSONAn array of objects; large tables as JSON Lines (.jsonl.gz) | 3 | 45 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.
-- 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;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
- Sources
- Processed by
- czechdatasets.com. The data is modified and is not an official output of the authority; the required attribution is in LICENCE.txt.
Joins with
Datasets share RÚIAN codes and IČO, so one JOIN connects them.


ČSÚ code lists
List of Czech municipalities, regions, districts and ORP areas with their official codes, plus CZ-NACE, CZ-ISCO, CZ-CPA, CZ-NUTS, legal forms and countries with ISO codes. All versions merged into validity intervals.


Election results 1996–2026
Czech election results by municipality and polling district: parliamentary, Senate, European, regional, municipal and presidential elections. All in one structure, with municipality codes converted to the current ones. Since 2016 each polling district has its official code, so results go straight onto a map.


RÚIAN with history
Complete RÚIAN data: Czech parcels, buildings, addresses, streets and territorial units for the whole country. The current state and every version since August 2015, month by month.
More datasets
- Address geocoder and autocomplete
- Address risks
- Companies and organisations (RES)
- Job vacancies
- Data boxes
- Medicinal products (SÚKL)
- Medicine shortages and availability
- Pharmacies with opening hours and GPS
- Healthcare facilities (NRPZS)
- Schools and school facilities
- Municipalities in numbers 2000–2025
- Wages by region and industry
- Free bundle
Č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.