Taxes in Canton Solothurn (SO) 2026
Taxes in Solothurn at a gross salary of CHF 80,000 (single): CHF 11'457 · rank 23 of 26 cantonal capitals
The canton of Solothurn lies on the Swiss Plateau between Bern and Basel and is known for the baroque old town of its capital. A single person with a gross salary of CHF 80,000 pays about CHF 11'457 in taxes in Solothurn (canton, municipality and federal, without church tax) — rank 23 of 26 cantonal capitals, in the most expensive third. Within the canton, the tax on the same salary ranges from CHF 9'172 in Kammersrohr to CHF 13'071 in Bolken.
The gap between the cheapest and the most expensive municipality is CHF 3'899 per year: Kammersrohr pays CHF 9'172, Bolken CHF 13'071 — on the same gross income of CHF 80'000.
Tax burden in all 104 municipalities of canton Solothurn — 2026 ranking
| Rank | municipal | CHF/year | Δ canton mean at 80'000 | |||
|---|---|---|---|---|---|---|
| 1 | Kammersrohr | 65% | 5'625 | 9'172 | 17'274 | −2'583 |
| 2 | Feldbrunnen-St. Niklaus | 68% | 5'717 | 9'318 | 17'529 | −2'437 |
| 3 | Däniken | 80% | 6'094 | 9'911 | 18'560 | −1'844 |
| 4 | Härkingen | 89% | 6'359 | 10'339 | 19'315 | −1'416 |
| 5 | Dornach | 92% | 6'430 | 10'464 | 19'551 | −1'291 |
| 6 | Bettlach | 99% | 6'654 | 10'815 | 20'156 | −940 |
| 7 | Eppenberg-Wöschnau | 99% | 6'664 | 10'825 | 20'166 | −930 |
| 8 | Balm bei Günsberg | 100% | 6'695 | 10'873 | 20'251 | −882 |
| 9 | Lohn-Ammannsegg | 104% | 6'807 | 11'058 | 20'581 | −697 |
| 10 | Rickenbach (SO) | 105% | 6'828 | 11'096 | 20'656 | −659 |
| 11 | Niederbuchsiten | 107% | 6'909 | 11'214 | 20'846 | −541 |
| 12 | Oberbuchsiten | 107% | 6'909 | 11'214 | 20'846 | −541 |
| 13 | Starrkirch-Wil | 107% | 6'909 | 11'214 | 20'846 | −541 |
| 14 | Selzach | 108% | 6'929 | 11'252 | 20'921 | −503 |
| 15 | Olten | 108% | 6'969 | 11'292 | 20'961 | −463 |
| 16 | Buchegg | 110% | 6'980 | 11'339 | 21'082 | −416 |
| 17 | Niedergösgen | 110% | 6'980 | 11'339 | 21'082 | −416 |
| 18 | Erlinsbach (SO) | 110% | 6'980 | 11'339 | 21'082 | −416 |
| 19 | Fulenbach | 110% | 6'980 | 11'339 | 21'082 | −416 |
| 20 | Witterswil | 110% | 6'990 | 11'349 | 21'092 | −406 |
| 21 | Lüterkofen-Ichertswil | 110% | 7'000 | 11'359 | 21'102 | −396 |
| 22 | Unterramsern | 110% | 7'000 | 11'359 | 21'102 | −396 |
| 23 | Hägendorf | 111% | 7'011 | 11'388 | 21'167 | −367 |
| 24 | Büsserach | 111% | 7'011 | 11'388 | 21'167 | −367 |
| 25 | Solothurn | 112% | 7'061 | 11'457 | 21'272 | −298 |
| 26 | Egerkingen | 112% | 7'081 | 11'477 | 21'292 | −278 |
| 27 | Hofstetten-Flüh | 113% | 7'072 | 11'485 | 21'337 | −270 |
| 28 | Lostorf | 113% | 7'072 | 11'485 | 21'337 | −270 |
| 29 | Gunzgen | 113% | 7'072 | 11'485 | 21'337 | −270 |
| 30 | Messen | 113% | 7'102 | 11'515 | 21'367 | −240 |
| 31 | Breitenbach | 113% | 7'122 | 11'535 | 21'387 | −220 |
| 32 | Riedholz | 115% | 7'133 | 11'583 | 21'507 | −172 |
| 33 | Schönenwerd | 115% | 7'153 | 11'603 | 21'527 | −152 |
| 34 | Grenchen | 114.9% | 7'180 | 11'628 | 21'548 | −127 |
| 35 | Oensingen | 116% | 7'164 | 11'631 | 21'592 | −124 |
| 36 | Hochwald | 116% | 7'164 | 11'631 | 21'592 | −124 |
| 37 | Kestenholz | 117% | 7'194 | 11'680 | 21'677 | −75 |
| 38 | Wolfwil | 117% | 7'194 | 11'680 | 21'677 | −75 |
| 39 | Gempen | 117% | 7'194 | 11'680 | 21'677 | −75 |
| 40 | Obergerlafingen | 117% | 7'214 | 11'700 | 21'697 | −55 |
| 41 | Zuchwil | 118% | 7'245 | 11'748 | 21'782 | −7 |
| 42 | Gretzenbach | 118% | 7'245 | 11'748 | 21'782 | −7 |
| 43 | Dulliken | 119% | 7'255 | 11'777 | 21'847 | +22 |
| 44 | Wangen bei Olten | 119% | 7'255 | 11'777 | 21'847 | +22 |
| 45 | Kriegstetten | 119% | 7'275 | 11'797 | 21'867 | +42 |
| 46 | Langendorf | 119% | 7'275 | 11'797 | 21'867 | +42 |
| 47 | Recherswil | 120% | 7'286 | 11'826 | 21'932 | +71 |
| 48 | Oberdorf (SO) | 120% | 7'286 | 11'826 | 21'932 | +71 |
| 49 | Neuendorf | 120% | 7'306 | 11'846 | 21'952 | +91 |
| 50 | Horriwil | 120% | 7'306 | 11'846 | 21'952 | +91 |
| 51 | Günsberg | 120% | 7'306 | 11'846 | 21'952 | +91 |
| 52 | Nunningen | 120% | 7'326 | 11'866 | 21'972 | +111 |
| 53 | Aedermannsdorf | 122% | 7'347 | 11'923 | 22'102 | +168 |
| 54 | Obergösgen | 122% | 7'347 | 11'923 | 22'102 | +168 |
| 55 | Deitingen | 122% | 7'347 | 11'923 | 22'102 | +168 |
| 56 | Bättwil | 122% | 7'367 | 11'943 | 22'122 | +188 |
| 57 | Drei Höfe | 122% | 7'367 | 11'943 | 22'122 | +188 |
| 58 | Wisen (SO) | 122% | 7'377 | 11'953 | 22'132 | +198 |
| 59 | Luterbach | 123% | 7'388 | 11'981 | 22'197 | +226 |
| 60 | Meltingen | 123% | 7'398 | 11'991 | 22'207 | +236 |
| 61 | Schnottwil | 124% | 7'418 | 12'030 | 22'282 | +275 |
| 62 | Himmelried | 124% | 7'418 | 12'030 | 22'282 | +275 |
| 63 | Welschenrohr-Gänsbrunnen | 124% | 7'438 | 12'050 | 22'302 | +295 |
| 64 | Balsthal | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 65 | Büren (SO) | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 66 | Seewen | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 67 | Hauenstein-Ifenthal | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 68 | Stüsslingen | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 69 | Biberist | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 70 | Bellach | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 71 | Kappel (SO) | 125% | 7'439 | 12'069 | 22'358 | +314 |
| 72 | Hüniken | 125% | 7'449 | 12'079 | 22'368 | +324 |
| 73 | Boningen | 125% | 7'449 | 12'079 | 22'368 | +324 |
| 74 | Walterswil (SO) | 125% | 7'449 | 12'079 | 22'368 | +324 |
| 75 | Biezwil | 125% | 7'459 | 12'089 | 22'378 | +334 |
| 76 | Lüsslingen-Nennigkofen | 125% | 7'459 | 12'089 | 22'378 | +334 |
| 77 | Rüttenen | 125% | 7'459 | 12'089 | 22'378 | +334 |
| 78 | Bärschwil | 125% | 7'459 | 12'089 | 22'378 | +334 |
| 79 | Beinwil (SO) | 125% | 7'459 | 12'089 | 22'378 | +334 |
| 80 | Mümliswil-Ramiswil | 125% | 7'469 | 12'099 | 22'388 | +344 |
| 81 | Laupersdorf | 126% | 7'469 | 12'117 | 22'443 | +362 |
| 82 | Gerlafingen | 125% | 7'489 | 12'119 | 22'408 | +364 |
| 83 | Flumenthal | 125% | 7'489 | 12'119 | 22'408 | +364 |
| 84 | Kleinlützel | 126% | 7'484 | 12'132 | 22'458 | +377 |
| 85 | Lommiswil | 127% | 7'500 | 12'166 | 22'528 | +411 |
| 86 | Hubersdorf | 127% | 7'530 | 12'196 | 22'558 | +441 |
| 87 | Subingen | 128% | 7'550 | 12'235 | 22'633 | +480 |
| 88 | Erschwil | 128% | 7'570 | 12'255 | 22'653 | +500 |
| 89 | Derendingen | 128% | 7'580 | 12'265 | 22'663 | +510 |
| 90 | Metzerlen-Mariastein | 129% | 7'571 | 12'273 | 22'708 | +518 |
| 91 | Kienberg | 129% | 7'581 | 12'283 | 22'718 | +528 |
| 92 | Herbetswil | 129% | 7'591 | 12'293 | 22'728 | +538 |
| 93 | Rodersdorf | 130% | 7'592 | 12'312 | 22'783 | +557 |
| 94 | Aeschi (SO) | 130% | 7'592 | 12'312 | 22'783 | +557 |
| 95 | Etziken | 130% | 7'592 | 12'312 | 22'783 | +557 |
| 96 | Winznau | 130% | 7'604 | 12'324 | 22'795 | +569 |
| 97 | Matzendorf | 130% | 7'612 | 12'332 | 22'803 | +577 |
| 98 | Fehren | 130% | 7'612 | 12'332 | 22'803 | +577 |
| 99 | Grindel | 130% | 7'642 | 12'362 | 22'833 | +607 |
| 100 | Nuglar-St. Pantaleon | 131% | 7'642 | 12'380 | 22'888 | +625 |
| 101 | Holderbank (SO) | 132% | 7'673 | 12'429 | 22'973 | +674 |
| 102 | Zullwil | 139% | 7'897 | 12'779 | 23'578 | +1'024 |
| 103 | Trimbach | 140% | 7'947 | 12'848 | 23'683 | +1'093 |
| 104 | Bolken | 145% | 8'080 | 13'071 | 24'089 | +1'316 |
| Canton mean (104 municipalities) | 118.2% | 7'247 | 11'755 | 21'796 |
All amounts are the total annual tax burden (cantonal, municipal and federal income tax) for a single person, aged 35, no children, no confession, no wealth, gross salary from employment — calculated with the FTA 2026 tax scales.
Canton mean = unweighted average across all 104 municipalities. Rank 1 = lowest burden; municipalities with the same value follow the order of their tax-rate rank.
Calculate taxes in Solothurn now
Your details
Max. CHF 7,258 (2026) · also in deductions section
Non-binding estimates. Not tax or financial advice. Without guarantee — no substitute for individual professional advice.
Canton Solothurn — Key Facts
- Abbreviation
- SO
- Capital
- Solothurn
- Tax year
- 2026
- Cantonal tax rate
- 104 %
- Rank (nationwide)
- —
- Tax in capital, 80k single
- —
Cost of Living in Canton Solothurn
- Ø Health ins. premium
- CHF 412/mo.
- Ø Rent 3 rooms
- CHF 1'153/mo.
- Ø Rent 4 rooms
- CHF 1'373/mo.
Average across 104 municipalities. Health ins.: FOPH data 2026, CHF 2,500 deductible. Rent: cantonal figure, FSO 2020.
How much of your salary remains in Solothurn? Gross-Net Calculator →
Is relocating to Canton Solothurn worth it? Compare taxes, health insurance & rent →
Frequently Asked Questions About Taxes in Solothurn
How high are taxes in the canton of Solothurn?
In Solothurn, a single person with a gross salary of CHF 80,000 pays about CHF 11'457 in cantonal, municipal and federal taxes; that is rank 23 of 26 cantonal capitals. The tax rate is 104% for the canton and 112% for the municipality of Solothurn. For married couples, families and other incomes, use the tax calculator.
Which municipalities have the lowest taxes in the canton of Solothurn?
At a gross salary of CHF 80,000 (single), Kammersrohr, Feldbrunnen-St. Niklaus and Däniken are the cheapest; the most expensive is Bolken at CHF 13'071. The ranking of all 104 municipalities is shown above on this page.
How is income tax made up in the canton of Solothurn?
Of the cantonal tax, the municipal tax of the place of residence and the direct federal tax; members of a recognised denomination also pay church tax. The canton and the municipality each levy their tax with their own rate.