Canton · SO
Solothurn
104 municipalities in 10 districts.
- residents, 2025
- 291’583
- km² of land
- 790
- residents per km²
- 369
- Building insurance
- Compulsory, with Solothurnische Gebäudeversicherung (the canton’s own insurer).0.44 ‰ of the insured value a year, plus the 5% federal stamp duty on the premium: CHF 453.50 per CHF 1 million.Prämientarif BGS 618.181, Tarifcode 200, read 12.10.2026
| Olten | Olten | 19’265 | 11.49 | 1’677 |
|---|---|---|---|---|
| Grenchen | Lebern | 18’973 | 26.03 | 729 |
| Solothurn | Solothurn | 16’830 | 6.28 | 2’680 |
| Zuchwil | Wasseramt | 9’622 | 4.63 | 2’078 |
| Biberist | Wasseramt | 9’531 | 12.25 | 778 |
| Derendingen | Wasseramt | 7’219 | 5.63 | 1’282 |
| Trimbach | Gösgen | 6’928 | 7.60 | 912 |
| Dornach | Dorneck | 6’898 | 5.79 | 1’191 |
| Oensingen | Gäu | 6’766 | 12.10 | 559 |
| Balsthal | Thal | 6’622 | 15.71 | 422 |
| Gerlafingen | Wasseramt | 5’859 | 1.85 | 3’167 |
| Bellach | Lebern | 5’632 | 5.29 | 1’065 |
| Wangen bei Olten | Olten | 5’598 | 6.96 | 804 |
| Dulliken | Olten | 5’489 | 6.04 | 909 |
| Schönenwerd | Olten | 5’437 | 3.71 | 1’465 |
| Hägendorf | Olten | 5’343 | 13.94 | 383 |
| Bettlach | Lebern | 4’935 | 12.19 | 405 |
| Breitenbach | Thierstein | 4’440 | 6.80 | 653 |
| Egerkingen | Gäu | 4’365 | 6.95 | 628 |
| Niedergösgen | Gösgen | 4’297 | 4.32 | 995 |
| Lostorf | Gösgen | 4’113 | 13.25 | 310 |
| Langendorf | Lebern | 3’983 | 1.95 | 2’043 |
| Erlinsbach (SO) | Gösgen | 3’761 | 8.87 | 424 |
| Luterbach | Wasseramt | 3’756 | 4.52 | 831 |
| Selzach | Lebern | 3’750 | 19.47 | 193 |
| Kappel (SO) | Olten | 3’591 | 5.10 | 704 |
| Hofstetten-Flüh | Dorneck | 3’410 | 7.52 | 453 |
| Subingen | Wasseramt | 3’311 | 6.27 | 528 |
| Kriegstetten | Wasseramt | 3’167 | 5.37 | 590 |
| Däniken | Olten | 3’108 | 5.43 | 572 |
| Buchegg | Bucheggberg | 2’979 | 25.65 | 116 |
| Lohn-Ammannsegg | Wasseramt | 2’940 | 4.48 | 656 |
| Gretzenbach | Olten | 2’825 | 5.83 | 485 |
| Obergösgen | Gösgen | 2’553 | 3.63 | 703 |
| Büsserach | Thierstein | 2’473 | 7.55 | 328 |
| Wolfwil | Gäu | 2’473 | 6.88 | 359 |
| Mümliswil-Ramiswil | Thal | 2’472 | 35.48 | 70 |
| Neuendorf | Gäu | 2’412 | 7.14 | 338 |
| Deitingen | Wasseramt | 2’409 | 7.60 | 317 |
| Oberbuchsiten | Gäu | 2’382 | 9.39 | 254 |
| Riedholz | Lebern | 2’319 | 7.15 | 324 |
| Recherswil | Wasseramt | 2’260 | 3.36 | 673 |
| Winznau | Gösgen | 2’061 | 3.94 | 523 |
| Starrkirch-Wil | Olten | 2’020 | 1.85 | 1’092 |
| Nunningen | Thierstein | 1’948 | 10.31 | 189 |
| Laupersdorf | Thal | 1’916 | 15.50 | 124 |
| Kestenholz | Gäu | 1’888 | 8.59 | 220 |
| Fulenbach | Olten | 1’841 | 4.48 | 411 |
| Oberdorf (SO) | Lebern | 1’806 | 11.91 | 152 |
| Gunzgen | Olten | 1’783 | 3.93 | 454 |
| Härkingen | Gäu | 1’763 | 5.51 | 320 |
| Lommiswil | Lebern | 1’615 | 5.76 | 280 |
| Nuglar-St. Pantaleon | Dorneck | 1’580 | 6.34 | 249 |
| Messen | Bucheggberg | 1’506 | 11.89 | 127 |
| Rüttenen | Lebern | 1’498 | 8.77 | 171 |
| Witterswil | Dorneck | 1’475 | 2.67 | 552 |
| Matzendorf | Thal | 1’439 | 11.27 | 128 |
| Rodersdorf | Dorneck | 1’398 | 5.35 | 261 |
| Niederbuchsiten | Gäu | 1’369 | 5.49 | 249 |
| Aeschi (SO) | Wasseramt | 1’342 | 5.48 | 245 |
| Hochwald | Dorneck | 1’278 | 8.35 | 153 |
| Stüsslingen | Gösgen | 1’265 | 8.39 | 151 |
| Obergerlafingen | Wasseramt | 1’232 | 1.51 | 816 |
| Rickenbach (SO) | Olten | 1’208 | 2.76 | 438 |
| Welschenrohr-Gänsbrunnen | Thal | 1’199 | 24.46 | 49 |
| Kleinlützel | Thierstein | 1’190 | 16.32 | 73 |
| Bättwil | Dorneck | 1’185 | 1.67 | 710 |
| Günsberg | Lebern | 1’169 | 5.26 | 222 |
| Schnottwil | Bucheggberg | 1’159 | 7.17 | 162 |
| Lüsslingen-Nennigkofen | Bucheggberg | 1’131 | 7.81 | 145 |
| Etziken | Wasseramt | 1’093 | 3.37 | 324 |
| Seewen | Dorneck | 1’088 | 16.31 | 67 |
| Feldbrunnen-St. Niklaus | Lebern | 1’068 | 2.51 | 425 |
| Büren (SO) | Dorneck | 1’060 | 6.23 | 170 |
| Flumenthal | Lebern | 1’023 | 3.11 | 329 |
| Erschwil | Thierstein | 996 | 7.43 | 134 |
| Himmelried | Thierstein | 974 | 6.03 | 162 |
| Metzerlen-Mariastein | Dorneck | 970 | 8.48 | 114 |
| Horriwil | Wasseramt | 940 | 2.64 | 356 |
| Lüterkofen-Ichertswil | Bucheggberg | 923 | 4.43 | 208 |
| Gempen | Dorneck | 919 | 5.99 | 153 |
| Boningen | Olten | 816 | 2.76 | 296 |
| Bärschwil | Thierstein | 806 | 11.19 | 72 |
| Holderbank (SO) | Thal | 779 | 7.76 | 100 |
| Walterswil (SO) | Olten | 768 | 4.48 | 171 |
| Drei Höfe | Wasseramt | 727 | 4.57 | 159 |
| Hubersdorf | Lebern | 727 | 1.35 | 539 |
| Zullwil | Thierstein | 704 | 3.66 | 192 |
| Meltingen | Thierstein | 623 | 5.76 | 108 |
| Fehren | Thierstein | 619 | 1.48 | 418 |
| Herbetswil | Thal | 617 | 16.30 | 38 |
| Aedermannsdorf | Thal | 607 | 12.92 | 47 |
| Bolken | Wasseramt | 579 | 2.12 | 273 |
| Kienberg | Gösgen | 526 | 8.53 | 62 |
| Grindel | Thierstein | 508 | 3.08 | 165 |
| Wisen (SO) | Gösgen | 451 | 4.79 | 94 |
| Hauenstein-Ifenthal | Gösgen | 348 | 5.35 | 65 |
| Biezwil | Bucheggberg | 345 | 4.15 | 83 |
| Eppenberg-Wöschnau | Olten | 336 | 1.81 | 186 |
| Beinwil (SO) | Thierstein | 248 | 22.66 | 11 |
| Unterramsern | Bucheggberg | 230 | 1.58 | 146 |
| Balm bei Günsberg | Lebern | 213 | 5.47 | 39 |
| Hüniken | Wasseramt | 160 | 1.02 | 157 |
| Kammersrohr | Lebern | 32 | 0.95 | 34 |
Sources: population and foreign residents on 31.12.2025 and private households 2025, Federal Statistical Office (STATPOP), on today’s municipal boundaries; municipalities, districts and land area without lakes, swisstopo swissTLMRegio; postcodes, swisstopo’s official locality register. Updated each September.