Cost map by canton
Cost of living in the canton of Solothurn — every municipality compared
Kammersrohr is the cheapest municipality in the canton of Solothurn: CHF 24,448 per year for taxes, health insurance and electricity. The most expensive is Trimbach at CHF 28,222 — a spread of CHF 3,774 per year.
Calculated for a couple without children with a gross income of CHF 100,000 (health insurance with CHF 300 deductible, electricity standard household H4) — the same household as on the municipality pages. The values are approximations at municipality level; what a household pays depends on deductions, wealth and address.
Map of the canton of Solothurn
Coloured by annual cost within the canton. Every municipality leads to its page.
All 104 municipalities in the canton of Solothurn
Annual cost for the standard profile, from cheapest to most expensive. Each column names its source and data year; the total mixes years and therefore carries no year of its own.
| Rank | Municipality | Total per yearsum of the three | TaxesFTA 2026 | Health insuranceFOPH 2026 | ElectricityElCom 2027 |
|---|---|---|---|---|---|
| 1 | Kammersrohr | CHF 24,448 | CHF 8,770 | CHF 14,544 | CHF 1,134 |
| 2 | Feldbrunnen-St. Niklaus | CHF 24,570 | CHF 8,910 | CHF 14,544 | CHF 1,116 |
| 3 | Däniken | CHF 25,428 | CHF 9,480 | CHF 14,544 | CHF 1,404 |
| 4 | Härkingen | CHF 25,632 | CHF 9,870 | CHF 14,544 | CHF 1,218 |
| 5 | Dornach | CHF 25,908 | CHF 9,960 | CHF 14,544 | CHF 1,404 |
| 6 | Bettlach | CHF 25,978 | CHF 10,300 | CHF 14,544 | CHF 1,134 |
| 7 | Eppenberg-Wöschnau | CHF 26,005 | CHF 10,320 | CHF 14,544 | CHF 1,141 |
| 8 | Balm bei Günsberg | CHF 26,048 | CHF 10,370 | CHF 14,544 | CHF 1,134 |
| 9 | Lohn-Ammannsegg | CHF 26,338 | CHF 10,530 | CHF 14,544 | CHF 1,264 |
| 10 | Selzach | CHF 26,388 | CHF 10,710 | CHF 14,544 | CHF 1,134 |
| 11 | Oberbuchsiten | CHF 26,424 | CHF 10,680 | CHF 14,544 | CHF 1,200 |
| 12 | Egerkingen | CHF 26,446 | CHF 10,950 | CHF 14,544 | CHF 952 |
| 13 | Erlinsbach (SO) | CHF 26,465 | CHF 10,780 | CHF 14,544 | CHF 1,141 |
| 14 | Rickenbach (SO) | CHF 26,512 | CHF 10,550 | CHF 14,544 | CHF 1,418 |
| 15 | Niederbuchsiten | CHF 26,513 | CHF 10,680 | CHF 14,544 | CHF 1,289 |
| 16 | Hägendorf | CHF 26,539 | CHF 10,830 | CHF 14,544 | CHF 1,165 |
| 17 | Lüterkofen-Ichertswil | CHF 26,584 | CHF 10,820 | CHF 14,544 | CHF 1,220 |
| 18 | Unterramsern | CHF 26,628 | CHF 10,820 | CHF 14,544 | CHF 1,264 |
| 19 | Gunzgen | CHF 26,629 | CHF 10,920 | CHF 14,544 | CHF 1,165 |
| 20 | Starrkirch-Wil | CHF 26,651 | CHF 10,680 | CHF 14,544 | CHF 1,427 |
| 21 | Olten | CHF 26,672 | CHF 10,790 | CHF 14,544 | CHF 1,338 |
| 22 | Riedholz | CHF 26,688 | CHF 11,010 | CHF 14,544 | CHF 1,134 |
| 23 | Niedergösgen | CHF 26,728 | CHF 10,780 | CHF 14,544 | CHF 1,404 |
| 24 | Solothurn | CHF 26,737 | CHF 10,910 | CHF 14,544 | CHF 1,283 |
| 25 | Oensingen | CHF 26,746 | CHF 11,050 | CHF 14,544 | CHF 1,152 |
| 26 | Buchegg | CHF 26,760 | CHF 10,780 | CHF 14,544 | CHF 1,436 |
| 27 | Witterswil | CHF 26,772 | CHF 10,800 | CHF 14,544 | CHF 1,428 |
| 28 | Büsserach | CHF 26,778 | CHF 10,830 | CHF 14,544 | CHF 1,404 |
| 29 | Obergerlafingen | CHF 26,818 | CHF 11,140 | CHF 14,544 | CHF 1,134 |
| 30 | Messen | CHF 26,828 | CHF 10,980 | CHF 14,544 | CHF 1,304 |
| 31 | Grenchen | CHF 26,863 | CHF 11,100 | CHF 14,544 | CHF 1,219 |
| 32 | Hofstetten-Flüh | CHF 26,868 | CHF 10,920 | CHF 14,544 | CHF 1,404 |
| 32 | Lostorf | CHF 26,868 | CHF 10,920 | CHF 14,544 | CHF 1,404 |
| 34 | Fulenbach | CHF 26,876 | CHF 10,780 | CHF 14,544 | CHF 1,552 |
| 34 | Gretzenbach | CHF 26,876 | CHF 11,180 | CHF 14,544 | CHF 1,152 |
| 36 | Zuchwil | CHF 26,903 | CHF 11,180 | CHF 14,544 | CHF 1,179 |
| 37 | Oberdorf (SO) | CHF 26,918 | CHF 11,240 | CHF 14,544 | CHF 1,134 |
| 37 | Recherswil | CHF 26,918 | CHF 11,240 | CHF 14,544 | CHF 1,134 |
| 39 | Günsberg | CHF 26,958 | CHF 11,280 | CHF 14,544 | CHF 1,134 |
| 40 | Breitenbach | CHF 26,968 | CHF 11,020 | CHF 14,544 | CHF 1,404 |
| 41 | Wolfwil | CHF 26,977 | CHF 11,100 | CHF 14,544 | CHF 1,333 |
| 42 | Hochwald | CHF 26,998 | CHF 11,050 | CHF 14,544 | CHF 1,404 |
| 43 | Deitingen | CHF 27,008 | CHF 11,330 | CHF 14,544 | CHF 1,134 |
| 44 | Kriegstetten | CHF 27,015 | CHF 11,230 | CHF 14,544 | CHF 1,241 |
| 45 | Schönenwerd | CHF 27,016 | CHF 11,050 | CHF 14,544 | CHF 1,422 |
| 46 | Langendorf | CHF 27,039 | CHF 11,230 | CHF 14,544 | CHF 1,265 |
| 47 | Drei Höfe | CHF 27,048 | CHF 11,370 | CHF 14,544 | CHF 1,134 |
| 47 | Gempen | CHF 27,048 | CHF 11,100 | CHF 14,544 | CHF 1,404 |
| 49 | Luterbach | CHF 27,063 | CHF 11,390 | CHF 14,544 | CHF 1,129 |
| 50 | Neuendorf | CHF 27,081 | CHF 11,280 | CHF 14,544 | CHF 1,257 |
| 51 | Bellach | CHF 27,138 | CHF 11,460 | CHF 14,544 | CHF 1,134 |
| 51 | Dulliken | CHF 27,138 | CHF 11,190 | CHF 14,544 | CHF 1,404 |
| 53 | Aedermannsdorf | CHF 27,157 | CHF 11,330 | CHF 14,544 | CHF 1,283 |
| 54 | Welschenrohr-Gänsbrunnen | CHF 27,158 | CHF 11,480 | CHF 14,544 | CHF 1,134 |
| 55 | Wangen bei Olten | CHF 27,162 | CHF 11,190 | CHF 14,544 | CHF 1,428 |
| 56 | Kappel (SO) | CHF 27,169 | CHF 11,460 | CHF 14,544 | CHF 1,165 |
| 57 | Biberist | CHF 27,174 | CHF 11,460 | CHF 14,544 | CHF 1,170 |
| 58 | Rüttenen | CHF 27,178 | CHF 11,500 | CHF 14,544 | CHF 1,134 |
| 59 | Horriwil | CHF 27,181 | CHF 11,280 | CHF 14,544 | CHF 1,357 |
| 60 | Boningen | CHF 27,189 | CHF 11,480 | CHF 14,544 | CHF 1,165 |
| 61 | Schnottwil | CHF 27,204 | CHF 11,440 | CHF 14,544 | CHF 1,220 |
| 62 | Flumenthal | CHF 27,238 | CHF 11,560 | CHF 14,544 | CHF 1,134 |
| 63 | Gerlafingen | CHF 27,256 | CHF 11,560 | CHF 14,544 | CHF 1,152 |
| 64 | Lüsslingen-Nennigkofen | CHF 27,264 | CHF 11,500 | CHF 14,544 | CHF 1,220 |
| 65 | Nunningen | CHF 27,268 | CHF 11,320 | CHF 14,544 | CHF 1,404 |
| 66 | Lommiswil | CHF 27,269 | CHF 11,550 | CHF 14,544 | CHF 1,175 |
| 67 | Obergösgen | CHF 27,278 | CHF 11,330 | CHF 14,544 | CHF 1,404 |
| 68 | Hubersdorf | CHF 27,288 | CHF 11,610 | CHF 14,544 | CHF 1,134 |
| 69 | Bättwil | CHF 27,318 | CHF 11,370 | CHF 14,544 | CHF 1,404 |
| 70 | Laupersdorf | CHF 27,337 | CHF 11,510 | CHF 14,544 | CHF 1,283 |
| 71 | Meltingen | CHF 27,358 | CHF 11,410 | CHF 14,544 | CHF 1,404 |
| 72 | Wisen (SO) | CHF 27,362 | CHF 11,390 | CHF 14,544 | CHF 1,428 |
| 73 | Hüniken | CHF 27,381 | CHF 11,480 | CHF 14,544 | CHF 1,357 |
| 74 | Himmelried | CHF 27,388 | CHF 11,440 | CHF 14,544 | CHF 1,404 |
| 75 | Balsthal | CHF 27,408 | CHF 11,460 | CHF 14,544 | CHF 1,404 |
| 75 | Büren (SO) | CHF 27,408 | CHF 11,460 | CHF 14,544 | CHF 1,404 |
| 75 | Hauenstein-Ifenthal | CHF 27,408 | CHF 11,460 | CHF 14,544 | CHF 1,404 |
| 78 | Stüsslingen | CHF 27,412 | CHF 11,460 | CHF 14,544 | CHF 1,408 |
| 79 | Seewen | CHF 27,429 | CHF 11,460 | CHF 14,544 | CHF 1,425 |
| 80 | Bärschwil | CHF 27,448 | CHF 11,500 | CHF 14,544 | CHF 1,404 |
| 80 | Beinwil (SO) | CHF 27,448 | CHF 11,500 | CHF 14,544 | CHF 1,404 |
| 82 | Subingen | CHF 27,449 | CHF 11,640 | CHF 14,544 | CHF 1,265 |
| 83 | Mümliswil-Ramiswil | CHF 27,454 | CHF 11,520 | CHF 14,544 | CHF 1,390 |
| 84 | Walterswil (SO) | CHF 27,468 | CHF 11,480 | CHF 14,544 | CHF 1,444 |
| 85 | Aeschi (SO) | CHF 27,479 | CHF 11,690 | CHF 14,544 | CHF 1,245 |
| 86 | Kleinlützel | CHF 27,488 | CHF 11,540 | CHF 14,544 | CHF 1,404 |
| 87 | Derendingen | CHF 27,493 | CHF 11,700 | CHF 14,544 | CHF 1,249 |
| 88 | Herbetswil | CHF 27,537 | CHF 11,710 | CHF 14,544 | CHF 1,283 |
| 89 | Holderbank (SO) | CHF 27,556 | CHF 11,820 | CHF 14,544 | CHF 1,192 |
| 90 | Matzendorf | CHF 27,557 | CHF 11,730 | CHF 14,544 | CHF 1,283 |
| 91 | Biezwil | CHF 27,562 | CHF 11,500 | CHF 14,544 | CHF 1,518 |
| 92 | Kienberg | CHF 27,573 | CHF 11,690 | CHF 14,544 | CHF 1,339 |
| 93 | Etziken | CHF 27,591 | CHF 11,690 | CHF 14,544 | CHF 1,357 |
| 94 | Metzerlen-Mariastein | CHF 27,618 | CHF 11,670 | CHF 14,544 | CHF 1,404 |
| 95 | Erschwil | CHF 27,628 | CHF 11,680 | CHF 14,544 | CHF 1,404 |
| 96 | Rodersdorf | CHF 27,659 | CHF 11,690 | CHF 14,544 | CHF 1,425 |
| 97 | Fehren | CHF 27,678 | CHF 11,730 | CHF 14,544 | CHF 1,404 |
| 98 | Winznau | CHF 27,682 | CHF 11,710 | CHF 14,544 | CHF 1,428 |
| 99 | Kestenholz | CHF 27,709 | CHF 11,100 | CHF 14,544 | CHF 2,065 |
| 100 | Nuglar-St. Pantaleon | CHF 27,728 | CHF 11,780 | CHF 14,544 | CHF 1,404 |
| 101 | Grindel | CHF 27,738 | CHF 11,790 | CHF 14,544 | CHF 1,404 |
| 102 | Bolken | CHF 28,108 | CHF 12,430 | CHF 14,544 | CHF 1,134 |
| 103 | Zullwil | CHF 28,132 | CHF 12,160 | CHF 14,544 | CHF 1,428 |
| 104 | Trimbach | CHF 28,222 | CHF 12,250 | CHF 14,544 | CHF 1,428 |
Premium regions in the canton of Solothurn
The whole canton is a single premium region: the health insurance premium is the same in every municipality. The differences in the table come from taxes and electricity.
Median monthly premium for one adult, standard model with accident cover, CHF 300 deductible, FOPH 2026.
How we calculate
Total cost adds up income tax (FTA: federal + cantonal + municipal + church), the health insurance premium (FOPH premium region, standard model with CHF 300 deductible) and electricity (ElCom, standard household H4) — all per year, for standard profiles. Municipality level is an approximation; your exact amount depends on deductions, wealth, deductible choice and your address. If a component is missing for a municipality it stays grey — never guessed.