Switzerland: Solothurn
Canton of Solothurn
Contents: Solothurn
Capital: Solothurn
277,462 Population [2020] – estimate
291,460 Population [2025] – estimate
791.0km² Area
368.5/km² Density [2025]
Districts
The population of all districts of the Canton of Solothurn according to census results and latest official estimates.
| Name | Status | Population Census 1980-12-02 | Population Census 1990-12-04 | Population Census 2000-12-05 | Population Estimate 2010-12-31 | Population Estimate 2020-12-31 | Population Estimate 2025-12-31 | |
|---|---|---|---|---|---|---|---|---|
| Bezirk Bucheggberg | District | 5,766 | 6,250 | 7,092 | 7,543 | 8,009 | 8,272 | → |
| Bezirk Dorneck | District | 13,309 | 15,701 | 17,978 | 19,517 | 20,802 | 21,256 | → |
| Bezirk Gäu | District | 12,740 | 14,429 | 16,737 | 18,135 | 22,005 | 23,409 | → |
| Bezirk Gösgen | District | 20,359 | 21,050 | 22,211 | 23,155 | 24,793 | 26,287 | → |
| Bezirk Lebern | District | 39,580 | 40,833 | 42,008 | 43,228 | 46,439 | 48,709 | → |
| Bezirk Olten | District | 46,161 | 48,154 | 48,986 | 51,240 | 56,109 | 59,407 | → |
| Bezirk Solothurn | District | 15,778 | 15,748 | 15,489 | 16,066 | 16,802 | 16,825 | → |
| Bezirk Thal | District | 12,773 | 13,587 | 14,038 | 14,216 | 14,752 | 15,643 | → |
| Bezirk Thierstein | District | 11,266 | 12,210 | 13,483 | 13,947 | 14,802 | 15,527 | → |
| Bezirk Wasseramt | District | 40,370 | 43,784 | 46,319 | 48,237 | 52,949 | 56,125 | → |
| Solothurn | Canton | 218,102 | 231,746 | 244,341 | 255,284 | 277,462 | 291,460 |
Contents: Cities and Communes
The population of all cities and communes in the Canton of Solothurn according to census results and latest official estimates.
| Name | Status | District | Population Census 1980-12-02 | Population Census 1990-12-04 | Population Census 2000-12-05 | Population Estimate 2010-12-31 | Population Estimate 2020-12-31 | Population Estimate 2025-12-31 | |
|---|---|---|---|---|---|---|---|---|---|
| Aedermannsdorf | Commune | Bezirk Thal | 461 | 501 | 543 | 562 | 581 | 607 | → |
| Aeschi (SO) | Commune | Bezirk Wasseramt | 830 | 1,057 | 1,158 | 1,164 | 1,268 | 1,342 | → |
| Balm bei Günsberg | Commune | Bezirk Lebern | 118 | 229 | 196 | 189 | 221 | 213 | → |
| Balsthal | Commune | Bezirk Thal | 5,090 | 5,405 | 5,574 | 5,772 | 6,210 | 6,622 | → |
| Bärschwil | Commune | Bezirk Thierstein | 814 | 855 | 872 | 864 | 803 | 807 | → |
| Bättwil | Commune | Bezirk Dorneck | 429 | 545 | 976 | 1,206 | 1,188 | 1,186 | → |
| Beinwil (SO) | Commune | Bezirk Thierstein | 335 | 334 | 311 | 302 | 274 | 247 | → |
| Bellach | Commune | Bezirk Lebern | 4,361 | 5,079 | 5,027 | 5,131 | 5,297 | 5,627 | → |
| Bettlach | Commune | Bezirk Lebern | 3,851 | 4,114 | 4,721 | 4,839 | 4,953 | 4,938 | → |
| Biberist | Commune | Bezirk Wasseramt | 7,519 | 7,413 | 7,603 | 7,969 | 9,109 | 9,522 | → |
| Biezwil | Commune | Bezirk Bucheggberg | 226 | 250 | 289 | 326 | 344 | 345 | → |
| Bolken | Commune | Bezirk Wasseramt | 268 | 334 | 489 | 542 | 590 | 576 | → |
| Boningen | Commune | Bezirk Olten | 358 | 491 | 636 | 699 | 793 | 816 | → |
| Breitenbach | Commune | Bezirk Thierstein | 2,518 | 2,874 | 3,260 | 3,513 | 3,979 | 4,442 | → |
| Buchegg (incl. Lüterswil-Gächliwil) | Commune | Bezirk Bucheggberg | 2,275 | 2,500 | 2,759 | 2,845 | 2,861 | 2,978 | → |
| Büren (SO) | Commune | Bezirk Dorneck | 539 | 704 | 870 | 947 | 1,046 | 1,057 | → |
| Büsserach | Commune | Bezirk Thierstein | 1,553 | 1,646 | 1,865 | 1,989 | 2,296 | 2,471 | → |
| Däniken | Commune | Bezirk Olten | 2,047 | 2,429 | 2,602 | 2,679 | 2,891 | 3,105 | → |
| Deitingen | Commune | Bezirk Wasseramt | 1,852 | 1,930 | 2,011 | 2,168 | 2,227 | 2,409 | → |
| Derendingen | Commune | Bezirk Wasseramt | 4,675 | 5,189 | 5,810 | 6,036 | 6,592 | 7,219 | → |
| Dornach | Commune | Bezirk Dorneck | 5,442 | 5,715 | 5,886 | 6,201 | 6,882 | 6,901 | → |
| Drei Höfe (incl. Heinrichswil-Winistorf) | Commune | Bezirk Wasseramt | 464 | 554 | 696 | 738 | 748 | 726 | → |
| Dulliken | Commune | Bezirk Olten | 4,465 | 4,875 | 4,615 | 4,669 | 5,083 | 5,489 | → |
| Egerkingen | Commune | Bezirk Gäu | 2,152 | 2,539 | 2,884 | 3,136 | 4,041 | 4,363 | → |
| Eppenberg-Wöschnau | Commune | Bezirk Olten | 384 | 387 | 331 | 304 | 311 | 334 | → |
| Erlinsbach (SO) | Commune | Bezirk Gösgen | 2,356 | 2,470 | 2,882 | 3,192 | 3,572 | 3,758 | → |
| Erschwil | Commune | Bezirk Thierstein | 812 | 820 | 931 | 906 | 948 | 996 | → |
| Etziken | Commune | Bezirk Wasseramt | 666 | 702 | 783 | 753 | 973 | 1,093 | → |
| Fehren | Commune | Bezirk Thierstein | 427 | 457 | 509 | 616 | 595 | 618 | → |
| Feldbrunnen-St. Niklaus | Commune | Bezirk Lebern | 701 | 640 | 756 | 936 | 975 | 1,067 | → |
| Flumenthal | Commune | Bezirk Lebern | 915 | 1,001 | 1,006 | 974 | 1,052 | 1,024 | → |
| Fulenbach | Commune | Bezirk Olten | 1,153 | 1,435 | 1,450 | 1,636 | 1,772 | 1,841 | → |
| Gempen | Commune | Bezirk Dorneck | 498 | 638 | 747 | 832 | 904 | 919 | → |
| Gerlafingen | Commune | Bezirk Wasseramt | 4,665 | 4,611 | 4,694 | 4,784 | 5,502 | 5,857 | → |
| Grenchen | City | Bezirk Lebern | 16,800 | 16,241 | 15,938 | 15,928 | 17,577 | 18,947 | → |
| Gretzenbach | Commune | Bezirk Olten | 1,621 | 2,135 | 2,393 | 2,449 | 2,772 | 2,824 | → |
| Grindel | Commune | Bezirk Thierstein | 447 | 439 | 494 | 486 | 502 | 508 | → |
| Günsberg | Commune | Bezirk Lebern | 1,045 | 1,059 | 1,187 | 1,145 | 1,179 | 1,169 | → |
| Gunzgen | Commune | Bezirk Olten | 844 | 1,072 | 1,428 | 1,631 | 1,689 | 1,782 | → |
| Hägendorf | Commune | Bezirk Olten | 3,464 | 3,910 | 4,178 | 4,564 | 5,177 | 5,342 | → |
| Halten | Commune | Bezirk Wasseramt | 687 | 724 | 791 | 834 | 850 | 824 | → |
| Härkingen | Commune | Bezirk Gäu | 837 | 985 | 1,196 | 1,332 | 1,644 | 1,762 | → |
| Hauenstein-Ifenthal | Commune | Bezirk Gösgen | 203 | 236 | 265 | 313 | 306 | 348 | → |
| Herbetswil | Commune | Bezirk Thal | 587 | 596 | 568 | 541 | 568 | 612 | → |
| Himmelried | Commune | Bezirk Thierstein | 621 | 835 | 946 | 928 | 961 | 974 | → |
| Hochwald | Commune | Bezirk Dorneck | 637 | 899 | 1,124 | 1,237 | 1,275 | 1,279 | → |
| Hofstetten-Flüh | Commune | Bezirk Dorneck | 1,682 | 2,374 | 2,717 | 3,036 | 3,206 | 3,407 | → |
| Holderbank (SO) | Commune | Bezirk Thal | 570 | 608 | 589 | 629 | 705 | 778 | → |
| Horriwil | Commune | Bezirk Wasseramt | 550 | 739 | 802 | 810 | 836 | 941 | → |
| Hubersdorf | Commune | Bezirk Lebern | 477 | 567 | 664 | 712 | 725 | 727 | → |
| Hüniken | Commune | Bezirk Wasseramt | 73 | 77 | 67 | 90 | 153 | 161 | → |
| Kammersrohr | Commune | Bezirk Lebern | 52 | 53 | 39 | 39 | 32 | 32 | → |
| Kappel (SO) | Commune | Bezirk Olten | 1,793 | 2,183 | 2,486 | 2,917 | 3,278 | 3,588 | → |
| Kestenholz | Commune | Bezirk Gäu | 1,247 | 1,387 | 1,617 | 1,661 | 1,848 | 1,888 | → |
| Kienberg | Commune | Bezirk Gösgen | 403 | 402 | 522 | 504 | 503 | 525 | → |
| Kleinlützel | Commune | Bezirk Thierstein | 1,150 | 1,173 | 1,243 | 1,262 | 1,218 | 1,190 | → |
| Kriegstetten | Commune | Bezirk Wasseramt | 684 | 1,031 | 1,126 | 1,233 | 1,292 | 1,456 | → |
| Langendorf | Commune | Bezirk Lebern | 3,124 | 3,061 | 3,400 | 3,602 | 3,775 | 3,981 | → |
| Laupersdorf | Commune | Bezirk Thal | 1,380 | 1,520 | 1,651 | 1,685 | 1,810 | 1,915 | → |
| Lohn-Ammannsegg | Commune | Bezirk Wasseramt | 1,617 | 1,896 | 2,339 | 2,603 | 2,870 | 2,943 | → |
| Lommiswil | Commune | Bezirk Lebern | 1,160 | 1,331 | 1,399 | 1,431 | 1,587 | 1,615 | → |
| Lostorf | Commune | Bezirk Gösgen | 2,378 | 2,927 | 3,477 | 3,824 | 3,963 | 4,113 | → |
| Lüsslingen-Nennigkofen | Commune | Bezirk Bucheggberg | 867 | 924 | 925 | 995 | 1,101 | 1,130 | → |
| Luterbach | Commune | Bezirk Wasseramt | 2,880 | 3,124 | 3,112 | 3,293 | 3,555 | 3,756 | → |
| Lüterkofen-Ichertswil | Commune | Bezirk Bucheggberg | 597 | 645 | 641 | 730 | 878 | 924 | → |
| Matzendorf | Commune | Bezirk Thal | 1,077 | 1,218 | 1,305 | 1,290 | 1,321 | 1,439 | → |
| Meltingen | Commune | Bezirk Thierstein | 571 | 562 | 603 | 633 | 655 | 622 | → |
| Messen | Commune | Bezirk Bucheggberg | 1,015 | 1,047 | 1,357 | 1,409 | 1,471 | 1,506 | → |
| Metzerlen-Mariastein | Commune | Bezirk Dorneck | 720 | 743 | 817 | 904 | 938 | 970 | → |
| Mümliswil-Ramiswil | Commune | Bezirk Thal | 2,386 | 2,455 | 2,553 | 2,513 | 2,386 | 2,471 | → |
| Neuendorf | Commune | Bezirk Gäu | 1,201 | 1,451 | 1,796 | 1,897 | 2,277 | 2,411 | → |
| Niederbuchsiten | Commune | Bezirk Gäu | 662 | 788 | 947 | 959 | 1,260 | 1,367 | → |
| Niedergösgen | Commune | Bezirk Gösgen | 3,705 | 3,566 | 3,775 | 3,764 | 3,897 | 4,292 | → |
| Nuglar-St. Pantaleon | Commune | Bezirk Dorneck | 880 | 1,055 | 1,314 | 1,466 | 1,516 | 1,579 | → |
| Nunningen | Commune | Bezirk Thierstein | 1,472 | 1,598 | 1,843 | 1,839 | 1,914 | 1,947 | → |
| Oberbuchsiten | Commune | Bezirk Gäu | 1,421 | 1,549 | 1,841 | 1,906 | 2,296 | 2,382 | → |
| Oberdorf (SO) | Commune | Bezirk Lebern | 1,169 | 1,380 | 1,612 | 1,650 | 1,776 | 1,805 | → |
| Obergerlafingen | Commune | Bezirk Wasseramt | 932 | 999 | 1,047 | 1,111 | 1,247 | 1,232 | → |
| Obergösgen | Commune | Bezirk Gösgen | 1,702 | 1,749 | 1,941 | 2,120 | 2,359 | 2,553 | → |
| Oekingen | Commune | Bezirk Wasseramt | 530 | 602 | 658 | 756 | 878 | 887 | → |
| Oensingen | Commune | Bezirk Gäu | 3,543 | 3,931 | 4,517 | 5,229 | 6,276 | 6,762 | → |
| Olten | City | Bezirk Olten | 18,991 | 17,805 | 16,757 | 16,987 | 18,496 | 19,263 | → |
| Recherswil | Commune | Bezirk Wasseramt | 1,372 | 1,551 | 1,586 | 1,696 | 2,028 | 2,259 | → |
| Rickenbach (SO) | Commune | Bezirk Olten | 609 | 834 | 885 | 900 | 1,055 | 1,208 | → |
| Riedholz | Commune | Bezirk Lebern | 1,691 | 1,933 | 1,843 | 2,109 | 2,316 | 2,318 | → |
| Rodersdorf | Commune | Bezirk Dorneck | 783 | 1,041 | 1,279 | 1,305 | 1,375 | 1,398 | → |
| Rüttenen | Commune | Bezirk Lebern | 1,377 | 1,372 | 1,410 | 1,448 | 1,483 | 1,498 | → |
| Schnottwil | Commune | Bezirk Bucheggberg | 655 | 745 | 946 | 1,024 | 1,135 | 1,159 | → |
| Schönenwerd | Commune | Bezirk Olten | 4,746 | 4,851 | 4,761 | 4,702 | 5,057 | 5,432 | → |
| Seewen | Commune | Bezirk Dorneck | 738 | 842 | 958 | 999 | 1,022 | 1,086 | → |
| Selzach | Commune | Bezirk Lebern | 2,739 | 2,773 | 2,810 | 3,095 | 3,491 | 3,748 | → |
| Solothurn | City | Bezirk Solothurn | 15,778 | 15,748 | 15,489 | 16,066 | 16,802 | 16,825 | → |
| Starrkirch-Wil | Commune | Bezirk Olten | 1,086 | 1,039 | 1,253 | 1,590 | 1,753 | 2,019 | → |
| Stüsslingen (incl. Rohr) | Commune | Bezirk Gösgen | 853 | 990 | 1,056 | 1,094 | 1,221 | 1,264 | → |
| Subingen | Commune | Bezirk Wasseramt | 1,883 | 2,188 | 2,625 | 2,938 | 3,173 | 3,308 | → |
| Trimbach | Commune | Bezirk Gösgen | 7,065 | 6,700 | 6,173 | 6,262 | 6,562 | 6,925 | → |
| Unterramsern | Commune | Bezirk Bucheggberg | 131 | 139 | 175 | 214 | 219 | 230 | → |
| Walterswil (SO) | Commune | Bezirk Olten | 547 | 665 | 632 | 717 | 743 | 768 | → |
| Wangen bei Olten | Commune | Bezirk Olten | 4,053 | 4,043 | 4,579 | 4,796 | 5,239 | 5,596 | → |
| Welschenrohr-Gänsbrunnen | Commune | Bezirk Thal | 1,222 | 1,284 | 1,255 | 1,224 | 1,171 | 1,199 | → |
| Winznau | Commune | Bezirk Gösgen | 1,340 | 1,654 | 1,700 | 1,667 | 1,968 | 2,058 | → |
| Wisen (SO) | Commune | Bezirk Gösgen | 354 | 356 | 420 | 415 | 442 | 451 | → |
| Witterswil | Commune | Bezirk Dorneck | 961 | 1,145 | 1,290 | 1,384 | 1,450 | 1,474 | → |
| Wolfwil | Commune | Bezirk Gäu | 1,677 | 1,799 | 1,939 | 2,015 | 2,363 | 2,474 | → |
| Zuchwil | Commune | Bezirk Wasseramt | 8,223 | 9,063 | 8,922 | 8,719 | 9,058 | 9,614 | → |
| Zullwil | Commune | Bezirk Thierstein | 546 | 617 | 606 | 609 | 657 | 705 | → |
Source: Swiss Federal Statistical Office.
Explanation: Districts and communes in the boundaries of December 2025. The population figures for 2025 are preliminary.
Further information about the population structure:
| Gender (E 2024) | |
|---|---|
| Males | 145,155 |
| Females | 144,637 |
| Age Groups (E 2024) | |
|---|---|
| 0-17 years | 50,554 |
| 18-64 years | 177,672 |
| 65+ years | 61,566 |
| Age Distribution (E 2024) | |
|---|---|
| 90+ years | 3,081 |
| 80-89 years | 14,020 |
| 70-79 years | 26,701 |
| 60-69 years | 39,234 |
| 50-59 years | 41,167 |
| 40-49 years | 38,539 |
| 30-39 years | 39,937 |
| 20-29 years | 31,118 |
| 10-19 years | 27,953 |
| 0-9 years | 28,042 |
| Citizenship (E 2024) | |
|---|---|
| Switzerland | 215,619 |
| Germany | 10,514 |
| France | 721 |
| Italy | 10,909 |
| Portugal | 2,142 |
| EU (others) | 14,141 |
| Europe (non-EU countries) | 22,848 |
| Africa | 4,174 |
| Asia | 7,222 |
| Other Citizenship | 1,383 |
| Country of Birth (E 2024) | |
|---|---|
| Switzerland | 214,050 |
| Other country | 75,742 |