Average and median wages in the Czech Republic by region, industry and occupation
Czech average wages by quarter since 2000: country, regions, CZ-NACE industries, sectors and employer size. Median wages by region, sex, CZ-ISCO occupation and education. Regions carry national (RÚIAN) and CZ-NUTS codes.
One-time payment, final price for a personal licence, switch to business at checkout · data as of 30 June 2026


How much work it saves
Downloading 12 slices from the API of ČSÚ, the Czech Statistical Office (the bulk files lag a quarter behind), pivoting one value per row into tables with columns, separating three surveys with different methodology, flagging total rows and preliminary figures, and checking the totals against the row for the whole Czech Republic.
Measured on our own build
- Lines of code and tests
- 810
- AI agent tokens
- 15m
- AI agent run time
- 27 mins
Tokens and time cover the first working version of the code, written with Claude Fable 5.2. Not counted: researching sources and licences, quality checks and later fixes.
- Free sample: all tables cut down to the Kutná Hora area, in CSV and Parquet. Download the sample
- Data as of
- 30 June 2026
- Rows
- 9,734
- Tables
- 12
- Formats
- PostgreSQL, Parquet, CSV, JSON
- Source licence
- CC BY 4.0 (ČSÚ)
What’s inside
Average gross monthly wages and numbers of employees by quarter from 2000 to the 2nd quarter of 2026: the Czech Republic, regions (since 2011), CZ-NACE sections, institutional sectors and employer size; annual averages, region × industry 2010–2022, and median wages by region, sex, CZ-ISCO major groups and education 2011–2024. Region codes from RÚIAN, the Czech register of addresses, buildings, parcels and territorial units, and CZ-NUTS.
| Table | Rows |
|---|---|
mzdy_kraje_ctvrtletniAverage wage and employees: the Czech Republic, cohesion regions and regions, by quarter | 1,278 |
mzdy_kraje_rocniThe same for whole years | 308 |
mzdy_odvetvi_ctvrtletniBy CZ-NACE section, by quarter | 2,158 |
mzdy_odvetvi_rocniBy CZ-NACE section, for whole years | 530 |
mzdy_sektory_ctvrtletniBy institutional sector, by quarter | 410 |
mzdy_sektory_rocniBy institutional sector, for whole years | 98 |
mzdy_velikost_podniku_ctvrtletniBy employer size, by quarter | 486 |
mzdy_velikost_podniku_rocniBy employer size, for whole years | 116 |
mzdy_kraje_odvetvi_rocniRegion × industry, annual survey 2010–2022 | 3,900 |
median_krajeMedian and average wages by region and sex | 210 |
median_zamestnaniMedian and average wages by CZ-ISCO major group | 142 |
median_vzdelaniMedian and average wages by education | 98 |
Regions start in 2011, medians cover 2011–2024, and the region × industry combination covers 2010–2022. Industries follow the CZ-NACE 2008 classification. ČSÚ does not publish wages by municipality or district.
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 | 37 kB |
| ParquetOne file per table (zstd). DuckDB, Polars and pandas read it without an import. | 12 | 401 kB |
| CSVUTF-8, comma-separated, with a header; large tables as .csv.gz | 12 | 1.3 MB |
| JSONAn array of objects; large tables as JSON Lines (.jsonl.gz) | 12 | 4.2 MB |
Code example
More examples for SQL, DuckDB, Python and Node.js are in the README.md inside the bundle.
-- PostgreSQL: průměrná mzda v krajích v posledním čtvrtletí, od nejvyšší
SELECT uzemi, round(prumerna_mzda) AS mzda_kc, round(prumerna_mzda_index - 100, 1) AS mezirocne_procent
FROM mzdy.mzdy_kraje_ctvrtletni
WHERE uzemi_typ = 'kraj'
AND (rok, ctvrtleti) = (SELECT rok, ctvrtleti FROM mzdy.mzdy_kraje_ctvrtletni ORDER BY rok DESC, ctvrtleti DESC LIMIT 1)
ORDER BY prumerna_mzda DESC;-- PostgreSQL: o kolik procent je medián mezd žen nižší než medián mužů, podle krajů
SELECT uzemi, median_mzdy_muzi, median_mzdy_zeny,
round(100 * (1 - median_mzdy_zeny / median_mzdy_muzi), 1) AS rozdil_procent
FROM mzdy.median_kraje
WHERE rok = 2024 AND uzemi_typ = 'kraj'
ORDER BY rozdil_procent DESC;-- DuckDB přímo nad Parquetem: nominální a reálný růst mezd v Česku po čtvrtletích
SELECT rok, ctvrtleti, round(prumerna_mzda) AS mzda_kc,
round(prumerna_mzda_index - 100, 1) AS nominalne, round(realna_mzda_index - 100, 1) AS realne
FROM 'parquet/mzdy_kraje_ctvrtletni.parquet'
WHERE nuts_kod = 'CZ' AND rok >= 2020
ORDER BY rok, ctvrtleti;Source and licence
- Sources
- ČSÚ DataStat: Průměrný evidenční počet zaměstnanců a průměrné hrubé měsíční mzdy z čtvrtletního zjišťování, čtvrtletí (employees and average gross monthly wages, quarterly survey, by quarter; MZDQ1)
- ČSÚ DataStat: Průměrný evidenční počet zaměstnanců a průměrné hrubé měsíční mzdy z čtvrtletního zjišťování, rok (employees and average gross monthly wages, quarterly survey, by year; MZDR)
- ČSÚ DataStat: Průměrný evidenční počet zaměstnanců a průměrné hrubé měsíční mzdy podle sekce CZ-NACE z ročního zjišťování (employees and average gross monthly wages by CZ-NACE section, annual survey; MZDCRR)
- ČSÚ DataStat: Průměrné hrubé měsíční mzdy a mediány mezd (average gross monthly wages and median wages; ZAMG08)
- ČSÚ DataStat: Zaměstnanci a mzdy, čtvrtletní data (employees and wages, quarterly data; real wage index) (WPRACECRQ)
- ČSÚ: Průměrná hrubá měsíční mzda a medián mezd v krajích (average gross monthly wage and median wage in the regions; 110080)
- NKOD: record of the MZDQ1 dataset
- NKOD: record of dataset 110080
- 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.


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


Companies and organisations (RES)
Czech companies and organisations by IČO (the company ID), from the register of economic entities (RES): legal form, CZ-NACE activities, size and registered office address with GPS. No natural persons.
More datasets
- RÚIAN with history
- Address geocoder and autocomplete
- Address risks
- 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
- Election results 1996–2026
- Municipalities in numbers 2000–2025
- Free bundle
Wages by region and industry 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.