Cost map by canton
Cost of living in the canton of St. Gallen: every municipality compared
Balgach is the cheapest municipality in the canton of St. Gallen: CHF 20,874 per year for taxes, health insurance and electricity. The most expensive is St. Gallen at CHF 25,337, a spread of CHF 4,463 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). This is 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 St. Gallen
Coloured by annual cost within the canton. Every municipality leads to its page.
All 75 municipalities in the canton of St. Gallen
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 2027 | ElectricityElCom 2027 |
|---|---|---|---|---|---|
| 1 | Balgach | CHF 20,874 | CHF 6,820 | CHF 12,816 | CHF 1,238 |
| 2 | Sennwald | CHF 21,301 | CHF 7,140 | CHF 12,816 | CHF 1,345 |
| 3 | Widnau | CHF 21,321 | CHF 7,350 | CHF 12,816 | CHF 1,155 |
| 4 | Mörschwil | CHF 21,480 | CHF 7,030 | CHF 13,296 | CHF 1,154 |
| 5 | Rapperswil-Jona | CHF 21,609 | CHF 7,280 | CHF 13,296 | CHF 1,033 |
| 6 | Diepoldsau | CHF 21,903 | CHF 7,670 | CHF 12,816 | CHF 1,417 |
| 7 | Berneck | CHF 21,964 | CHF 7,920 | CHF 12,816 | CHF 1,228 |
| 8 | Tübach | CHF 22,012 | CHF 7,460 | CHF 13,296 | CHF 1,256 |
| 9 | Thal | CHF 22,273 | CHF 7,810 | CHF 13,296 | CHF 1,167 |
| 10 | Oberriet (SG) | CHF 22,284 | CHF 8,020 | CHF 12,816 | CHF 1,448 |
| 11 | Grabs | CHF 22,535 | CHF 8,200 | CHF 12,816 | CHF 1,519 |
| 12 | Marbach (SG) | CHF 22,546 | CHF 8,270 | CHF 12,816 | CHF 1,460 |
| 13 | Bad Ragaz | CHF 22,553 | CHF 7,920 | CHF 13,296 | CHF 1,337 |
| 14 | Altstätten | CHF 22,602 | CHF 8,440 | CHF 12,816 | CHF 1,346 |
| 15 | Eichberg | CHF 22,682 | CHF 8,340 | CHF 12,816 | CHF 1,526 |
| 16 | Rüthi (SG) | CHF 22,741 | CHF 8,510 | CHF 12,816 | CHF 1,415 |
| 17 | Goldach | CHF 22,769 | CHF 8,160 | CHF 13,296 | CHF 1,313 |
| 18 | Amden | CHF 22,793 | CHF 8,160 | CHF 13,296 | CHF 1,337 |
| 19 | Au (SG) | CHF 22,816 | CHF 8,160 | CHF 13,296 | CHF 1,360 |
| 20 | Nesslau | CHF 22,843 | CHF 8,690 | CHF 12,816 | CHF 1,337 |
| 21 | Rebstein | CHF 22,860 | CHF 8,480 | CHF 12,816 | CHF 1,564 |
| 22 | Bütschwil-Ganterschwil | CHF 22,904 | CHF 8,870 | CHF 12,816 | CHF 1,218 |
| 23 | Gommiswald | CHF 22,933 | CHF 8,300 | CHF 13,296 | CHF 1,337 |
| 24 | Wildhaus-Alt St. Johann | CHF 22,983 | CHF 8,830 | CHF 12,816 | CHF 1,337 |
| 25 | St. Margrethen | CHF 23,003 | CHF 8,510 | CHF 13,296 | CHF 1,197 |
| 26 | Neckertal | CHF 23,031 | CHF 8,900 | CHF 12,816 | CHF 1,315 |
| 27 | Rorschacherberg | CHF 23,096 | CHF 8,370 | CHF 13,296 | CHF 1,430 |
| 28 | Quarten | CHF 23,110 | CHF 8,270 | CHF 13,296 | CHF 1,544 |
| 29 | Zuzwil (SG) | CHF 23,183 | CHF 7,390 | CHF 14,376 | CHF 1,417 |
| 30 | Gams | CHF 23,206 | CHF 8,730 | CHF 12,816 | CHF 1,660 |
| 31 | Schmerikon | CHF 23,246 | CHF 8,650 | CHF 13,296 | CHF 1,300 |
| 32 | Vilters-Wangs | CHF 23,304 | CHF 8,800 | CHF 13,296 | CHF 1,208 |
| 33 | Kaltbrunn | CHF 23,311 | CHF 8,550 | CHF 13,296 | CHF 1,465 |
| 34 | Wattwil | CHF 23,317 | CHF 9,220 | CHF 12,816 | CHF 1,281 |
| 35 | Mosnang | CHF 23,325 | CHF 9,220 | CHF 12,816 | CHF 1,289 |
| 36 | Uznach | CHF 23,331 | CHF 8,730 | CHF 13,296 | CHF 1,305 |
| 37 | Andwil (SG) | CHF 23,355 | CHF 8,650 | CHF 13,296 | CHF 1,409 |
| 38 | Weesen | CHF 23,363 | CHF 8,730 | CHF 13,296 | CHF 1,337 |
| 39 | Walenstadt | CHF 23,365 | CHF 8,550 | CHF 13,296 | CHF 1,519 |
| 40 | Lichtensteig | CHF 23,387 | CHF 9,220 | CHF 12,816 | CHF 1,351 |
| 41 | Muolen | CHF 23,393 | CHF 8,760 | CHF 13,296 | CHF 1,337 |
| 42 | Eschenbach (SG) | CHF 23,433 | CHF 8,800 | CHF 13,296 | CHF 1,337 |
| 43 | Oberuzwil | CHF 23,451 | CHF 8,800 | CHF 13,296 | CHF 1,355 |
| 44 | Buchs (SG) | CHF 23,454 | CHF 8,830 | CHF 13,296 | CHF 1,328 |
| 44 | Kirchberg (SG) | CHF 23,454 | CHF 8,900 | CHF 13,296 | CHF 1,258 |
| 46 | Häggenschwil | CHF 23,458 | CHF 8,730 | CHF 13,296 | CHF 1,432 |
| 47 | Benken (SG) | CHF 23,478 | CHF 8,800 | CHF 13,296 | CHF 1,382 |
| 48 | Rheineck | CHF 23,481 | CHF 8,650 | CHF 13,296 | CHF 1,535 |
| 49 | Ebnat-Kappel | CHF 23,539 | CHF 9,570 | CHF 12,816 | CHF 1,153 |
| 50 | Wittenbach | CHF 23,572 | CHF 8,870 | CHF 13,296 | CHF 1,406 |
| 51 | Mels | CHF 23,610 | CHF 9,080 | CHF 13,296 | CHF 1,234 |
| 52 | Uzwil | CHF 23,621 | CHF 8,970 | CHF 13,296 | CHF 1,355 |
| 53 | Untereggen | CHF 23,647 | CHF 8,870 | CHF 13,296 | CHF 1,481 |
| 54 | Rorschach | CHF 23,679 | CHF 9,220 | CHF 13,296 | CHF 1,163 |
| 55 | Flawil | CHF 23,714 | CHF 9,150 | CHF 13,296 | CHF 1,268 |
| 56 | Jonschwil | CHF 23,753 | CHF 9,220 | CHF 13,296 | CHF 1,237 |
| 57 | Steinach | CHF 23,762 | CHF 8,970 | CHF 13,296 | CHF 1,496 |
| 58 | Sevelen | CHF 23,768 | CHF 8,830 | CHF 13,296 | CHF 1,642 |
| 59 | Flums | CHF 23,770 | CHF 9,080 | CHF 13,296 | CHF 1,394 |
| 60 | Degersheim | CHF 23,836 | CHF 9,540 | CHF 12,816 | CHF 1,480 |
| 61 | Waldkirch | CHF 23,846 | CHF 8,970 | CHF 13,296 | CHF 1,580 |
| 62 | Sargans | CHF 23,853 | CHF 9,220 | CHF 13,296 | CHF 1,337 |
| 63 | Eggersriet | CHF 23,862 | CHF 8,900 | CHF 13,296 | CHF 1,666 |
| 64 | Berg (SG) | CHF 23,907 | CHF 9,010 | CHF 13,296 | CHF 1,601 |
| 65 | Schänis | CHF 23,948 | CHF 9,080 | CHF 13,296 | CHF 1,572 |
| 66 | Lütisburg | CHF 24,072 | CHF 10,130 | CHF 12,816 | CHF 1,126 |
| 67 | Pfäfers | CHF 24,093 | CHF 9,460 | CHF 13,296 | CHF 1,337 |
| 68 | Oberbüren | CHF 24,104 | CHF 8,200 | CHF 14,376 | CHF 1,528 |
| 69 | Gaiserwald | CHF 24,151 | CHF 8,160 | CHF 14,376 | CHF 1,615 |
| 70 | Gossau (SG) | CHF 24,376 | CHF 8,760 | CHF 14,376 | CHF 1,240 |
| 71 | Wil (SG) | CHF 24,473 | CHF 8,730 | CHF 14,376 | CHF 1,367 |
| 72 | Wartau | CHF 24,640 | CHF 9,780 | CHF 13,296 | CHF 1,564 |
| 73 | Niederbüren | CHF 24,740 | CHF 8,760 | CHF 14,376 | CHF 1,604 |
| 74 | Niederhelfenschwil | CHF 24,778 | CHF 8,340 | CHF 14,376 | CHF 2,062 |
| 75 | St. Gallen | CHF 25,337 | CHF 9,540 | CHF 14,376 | CHF 1,421 |
Premium regions in the canton of St. Gallen
The canton is divided into 3 premium regions. That is why the health insurance premium also varies within the canton.
- Region 1CHF 599 per month8 municipalities
- Region 2CHF 554 per month44 municipalities
- Region 3CHF 534 per month23 municipalities
Median monthly premium for one adult, standard model with accident cover, CHF 300 deductible, FOPH 2027.
Do you pay tax at source, for example on a B permit? Then differences between municipalities in a canton only matter to you under a subsequent ordinary assessment.
The deduction from your salary is the same in every municipality of a canton. From a gross salary of CHF 120,000 a year you are assessed under the ordinary procedure automatically, below that on application by 31 March of the following year; your municipality’s tax rate then applies. Tax at source and where you live
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 values are 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 and is never guessed.
Children calculated as insurers do: 1st and 2nd child usually at the full child rate, from the 3rd child with a sibling discount at many insurers. Calculated per insurer, then the median across all insurers.