Usage Notes
This dataset harmonizes German electoral data over time, mapping historical election results onto consistent municipal boundaries despite administrative changes. It unifies previously scattered and inconsistently reported election data into a centralized, standardized format.
Also on this page
How to Use the Data
Longitudinal studies
Use harmonized datasets for comparisons across time. All results are mapped to consistent 2021 (or 2023/2025) municipal boundaries.
Cross-sectional analyses
Use unharmonized datasets for single-election analyses. These preserve original boundaries and reporting at the time of the election.
Important caveats
Electoral rules and reporting practices vary across states. Be cautious when comparing smaller municipalities or across state boundaries.
More details can be found in the accompanying paper, including information on data sources and processing steps.
Federal Elections
Bundestag election results at the municipality and county level. Municipality-level data covers 1980–2025 (unharmonized) and 1990–2025 (harmonized to 2021 or 2025 boundaries). County-level data covers 1990–2025 (harmonized). Includes turnout, valid/invalid votes, and vote shares for all parties.
Files: federal_muni_unharm, federal_muni_harm_21, federal_muni_harm_25, federal_cty_unharm, federal_cty_harm
| Issue | Description |
|---|---|
| Mail-in vote allocation | Shared Briefwahl districts require proportional allocation based on polling-card voters. This is an approximation. |
| Pre-1990 not harmonized | Municipality-level data exists from 1980, but harmonization only starts at 1990 due to crosswalk limitations. |
| Rounding from harmonization | Minor vote total discrepancies when aggregating merged municipalities; typically a handful of votes. |
Data sources
Bundeswahlleiterin. https://www.bundeswahlleiterin.de/bundeswahlleiter.html.
State Elections
Landtag election results at the municipality level for all 16 states, 1946–2025. Harmonized versions cover 1990–2025 with three boundary targets (2021, 2023, 2025). The unharmonized file preserves all individual party columns.
Files: state_unharm, state_harm, state_harm_21, state_harm_23, state_harm_25
| Issue | Description |
|---|---|
| Bayern Gesamtstimmen | Bavaria reports combined first + second votes (Gesamtstimmen). This means valid_votes + invalid_votes = number_voters × 2. Account for this when comparing across states. |
| Missing turnout in some state-years | Rheinland-Pfalz 1979–2016, Hessen 1958/1962, Schleswig-Holstein 1983 (partial), and Bayern 1994–2013 (eligible_voters) lack full turnout metadata. Affected rows have NA values. |
| Percentage-only data | Bremen 1946–1995 provides vote share percentages only (no absolute counts). Rheinland-Pfalz 1979–2016 has absolute vote counts but lacks turnout denominator data (eligible_voters, number_voters, invalid_votes are NA). |
Data sources
Raw election files from state statistical offices and election authorities across all 16 German states (1946–2025).
Municipal Elections
Kommunalwahl results at the municipality level, 1984–2025 (unharmonized) and 1990–2025 (harmonized), covering all 16 states. Includes turnout and party vote shares. Municipal elections are not synchronized across Germany—each state sets its own schedule.
Files: municipal_unharm, municipal_harm, municipal_harm_25
| Issue | Description |
|---|---|
| Varying reporting standards | States sometimes lump small local parties or independents into “Other.” Disaggregated where possible; flagged otherwise. |
| Mail-in vote allocation | Shared Briefwahl districts require proportional allocation; same approximation method as federal elections. |
| Rounding from harmonization | Minor vote total discrepancies from boundary harmonization. |
Data sources
| State | Source | Procured via |
|---|---|---|
| Baden-Württemberg | Statistisches Landesamt Baden-Württemberg | |
| Bayern | Bayerisches Landesamt für Statistik | website |
| Brandenburg | Amt für Statistik Berlin-Brandenburg | website |
| Bremen | Statistisches Landesamt Bremen | website |
| Hamburg | Statistik Nord | website |
| Hessen | Hessisches Statistisches Landesamt | website |
| Mecklenburg-Vorpommern | Landesamt für innere Verwaltung & Statistisches Amt | website |
| Niedersachsen | Landesamt für Statistik Niedersachsen | website (post-2006), email (pre-2006) |
| Nordrhein-Westfalen | Statistisches Landesamt NRW | |
| Rheinland-Pfalz | Statistisches Landesamt Rheinland-Pfalz | |
| Saarland | Statistisches Landesamt des Saarlandes | |
| Sachsen | Statistisches Landesamt des Freistaates Sachsen | website |
| Sachsen-Anhalt | Statistisches Landesamt Sachsen-Anhalt | website |
| Schleswig-Holstein | Statistisches Amt für Hamburg und Schleswig-Holstein | website (except 2013), email for 2013 |
| Thüringen | Thüringer Landesamt für Statistik | website |
European Elections
European Parliament election results at the municipality level for 4 elections: 2009, 2014, 2019, 2024. Harmonized to 2021 boundaries.
Files: european_muni_unharm, european_muni_harm
| Issue | Description |
|---|---|
| Limited time coverage | Only 4 elections available; earlier European Parliament elections are not included. |
| Mail-in vote allocation | Votes from shared Briefwahl districts distributed proportionally to municipalities. |
Data sources
Bundeswahlleiterin. European Parliament election results at the municipality level.
Mayoral Elections
Bürgermeisterwahl results for 7 states (Bayern, Niedersachsen, NRW, Rheinland-Pfalz, Saarland, Sachsen, Schleswig-Holstein), 1945–2025. Includes election-level results, candidate-level data (with gender and migration background classifications), and an annual mayor panel for tracking individuals across terms. Mayoral elections are not synchronized—each municipality has its own schedule.
Files: mayoral_unharm, mayoral_harm, mayoral_candidates, mayor_panel, mayor_panel_harm, mayor_panel_annual, mayor_panel_annual_harm
| Issue | Description |
|---|---|
| 7 states only | Mayoral election data is available only for Bayern, Niedersachsen, NRW, Rheinland-Pfalz, Saarland, Sachsen, and Schleswig-Holstein. |
| Rheinland-Pfalz: percentages only | All count columns (eligible_voters, number_voters, etc.) are NA. Only vote share percentages are available. Flagged with flag_pct_only. |
| Bayern: no candidate names | Source data lacks candidate names. Cross-round matching uses party instead; mayor panel uses date of first taking office for person identification. |
| Sachsen runoff structure | Sachsen holds a full re-election with all candidates (not a 2-person runoff) when no one wins >50% in the first round. |
| VG/SG elections excluded from harmonization | Verbandsgemeinde and Samtgemeinde mayoral elections (~1,100 rows) use pseudo-AGS codes not in the municipality crosswalk. |
Data sources
Data procured from state statistical offices and election authorities in Bayern, Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland, Sachsen, and Schleswig-Holstein (1945–2025) via their websites and direct email requests.
County Elections
Kreistag (county council) election results, 1948–2024, at both municipality and county level. Available for 11 states. Harmonized to 2021 boundaries.
Files: county_elec_unharm, county_elec_harm_21
| Issue | Description |
|---|---|
| Partial state coverage | Not all 16 states have county election data; coverage varies by state and time period. |
| Varying reporting standards | States use different party categorization and reporting granularity for county council elections. |
Harmonization
To facilitate consistent comparisons across time and regions, we provide files harmonized to 2021 municipal and county boundaries. We use official crosswalks to track mergers, splits, and boundary shifts.
- Population-weighted aggregation: Where multiple municipalities merged, votes are aggregated to the new municipality’s boundaries using population-based weighting.
- Mail-in vote allocation: For mail-in voting districts shared by multiple municipalities, mail-in votes are allocated proportionally based on the number of polling-card voters in each municipality.
Harmonization versions
For state elections, three harmonization versions are available:
- 2021 boundaries (
state_harm_21): All elections mapped to 2021 municipal boundaries - 2023 boundaries (
state_harm_23): All elections mapped to 2023 municipal boundaries - 2025 boundaries (
state_harm_25): All elections mapped to 2025 municipal boundaries
For federal elections, harmonized data is available for both 2021 and 2025 municipality boundaries, based on crosswalk files created from official cross-sectional information on municipality reforms.
Crosswalks and shapefiles
- Bundesinstitut für Bau-, Stadt- und Raumforschung. Umsteigeschlüssel für konsistente Zeitreihen (2024).
- Federal Agency for Cartography and Geodesy (BKG). VG250: Administrative boundaries of Germany (2021). Open Data Lizenz Deutschland – Namensnennung – Version 2.0.
Meinungsbild
The Meinungsbild component provides subnational public opinion estimates for 43 policy issues, estimated using Multilevel Regression and Poststratification (MRP). Estimates are available at three geographic levels: federal states, electoral districts, and counties. For full details and interactive exploration, see the Meinungsbild page.
Note: These estimates are intended for exploration and descriptive purposes. MRP estimates can suffer from validity concerns, particularly for small geographic units or issues with limited survey data. They should not be interpreted as ground truth. The Meinungsbild data is not available for download.
Code Availability
The code used to generate the datasets is available in the code folder of our GitHub repository. Additional details and instructions are provided in the scripts.
Authors
Andreas Wiedemann, Hanno Hilbig, Vincent Heddesheimer, and Florian Sichart.

Acknowledgements
We thank Cornelius Erfort, Sascha Riaz and Moritz Marbach for helpful comments. We also thank the anonymous reviewers at Scientific Data for their constructive feedback. Thanks to Daniela Gaus, Maurice Baudet von Gersdorff, and Luca Schenk for excellent research assistance and Victor Kreitman for providing code and data on election dates.
Citation
Please cite the accompanying paper when using this dataset:
Heddesheimer, Vincent, Hanno Hilbig, Florian Sichart, & Andreas Wiedemann. 2025. GERDA: German Election Database. Nature: Scientific Data, 12: 618.
@article{Heddesheimer2025GERDA,
author = {Vincent Heddesheimer and Hanno Hilbig and Florian Sichart and Andreas Wiedemann},
doi = {10.1038/s41597-025-04811-5},
issn = {2052-4463},
issue = {1},
journal = {Scientific Data},
month = {4},
pages = {618},
title = {GERDA: The German Election Database},
volume = {12},
url = {https://www.nature.com/articles/s41597-025-04811-5},
year = {2025}
}