Taxes in the canton of Solothurn

104 municipalities compared

Calculated by taxoo from ESTV tax data, tax years 2023 to 2026

Open the taxoo tax grid

Current tax burden

Median municipality 2026, 1 Adult, 0 Kids, income CHF 100’000

CHF 16’717

16.72 % of income

HouseholdTotal tax% of income
1 Adult, 0 Kids, 80kIncome: CHF 80’000CHF 11’86614.83 %
1 Adult, 0 KidsIncome: CHF 100’000CHF 16’71716.72 %
1 Adult, 0 Kids, 150kIncome: CHF 150’000CHF 30’87820.59 %
1 Adult, 1 KidIncome: CHF 100’000CHF 9’2509.25 %
1 Adult, RetiredIncome: CHF 50’000CHF 6’45212.90 %
2 Adults, RetiredIncome: CHF 100’000CHF 14’10014.10 %
2 Adults, 0 KidsIncome: CHF 160’000CHF 24’96315.60 %
2 Adults, 2 KidsIncome: CHF 150’000CHF 16’38410.92 %

About Solothurn

Among the 26 cantons, the canton of Solothurn ranks 24 by the tax of its median municipality for a single person on CHF 100’000.

Compared with the Swiss median the burden is higher.

Across its 104 municipalities, the lowest burden is in Kammersrohr (CHF 13’027) and the highest in Bolken (CHF 18’375). From 2023 to 2026 the total tax fell by CHF 252.

Historical tax trend

Total tax per year, 1 Adult, 0 Kids

  • 2023CHF 16’969 16.97 %
  • 2024CHF 16’903 16.90 %
  • 2025CHF 16’875 16.88 %
  • 2026CHF 16’717 16.72 %
All households by year
Household2026Change 2023 to 2026
1 Adult, 0 Kids, 80kCHF 11’866-CHF 154
-0.19 pp
1 Adult, 0 KidsCHF 16’717-CHF 252
-0.25 pp
1 Adult, 0 Kids, 150kCHF 30’878-CHF 399
-0.27 pp
1 Adult, 1 KidCHF 9’250-CHF 357
-0.36 pp
1 Adult, RetiredCHF 6’452-CHF 151
-0.30 pp
2 Adults, RetiredCHF 14’100-CHF 315
-0.31 pp
2 Adults, 0 KidsCHF 24’963-CHF 432
-0.27 pp
2 Adults, 2 KidsCHF 16’384-CHF 556
-0.37 pp

Component split

1 Adult, 0 Kids, 2026

Component1 Adult, 0 KidsShare (1A0K)
Federal taxCHF 1’70110 %
Cantonal taxCHF 6’93942 %
Municipal taxCHF 8’00748 %
Personal taxCHF 700 %
Total taxCHF 16’717

Church tax is not included in these figures.

Federal tax is the same in every municipality for a given household.

Ways to save tax

In the median municipality of the canton of Solothurn, a single person on CHF 100’000 saves CHF 2’156 in tax for 2026 by paying the maximum into pillar 3a.

Tax saved per year, 2026
Lever1 Adult, 0 Kids
Pillar 3a in fullCHF 7’258 per employed personCHF 2’156
Pension fund buy-inCHF 10’000 paid inCHF 2’933
Childcare costsCHF 10’000 a year, children under 14-

Savings of the model households, calculated with the same engine as the tax figures. A buy-in needs a gap in the pension fund. Your saving depends on your income and deductions.

Calculate your own savings in My taxes

Canton comparison

The 26 cantons by median tax burden
CantonTotal tax% of income
1.ZugCHF 5’3495.35 %
2.SchwyzCHF 7’6657.67 %
3.NidwaldenCHF 10’59110.59 %
4.ZurichCHF 11’32711.33 %
5.Appenzell InnerrhodenCHF 11’70711.71 %
6.UriCHF 11’84211.84 %
7.SchaffhausenCHF 12’45712.46 %
8.ObwaldenCHF 12’46212.46 %
9.GraubündenCHF 12’69612.70 %
10.AargauCHF 12’95212.95 %
11.LucerneCHF 13’05313.05 %
12.ThurgauCHF 13’20913.21 %
13.GlarusCHF 13’33013.33 %
14.Basel-StadtCHF 13’36313.36 %
15.Appenzell AusserrhodenCHF 13’68813.69 %
16.St. GallenCHF 13’86813.87 %
17.TicinoCHF 13’89913.90 %
18.GenevaCHF 15’21215.21 %
19.ValaisCHF 15’41315.41 %
20.VaudCHF 16’15516.16 %
21.JuraCHF 16’26116.26 %
22.Basel-LandschaftCHF 16’26416.26 %
23.FribourgCHF 16’44616.45 %
24.SolothurnCHF 16’71716.72 %
25.BernCHF 17’04817.05 %
26.NeuchâtelCHF 18’85018.85 %
Municipalities of the canton of Solothurn by tax burden
MunicipalityTotal tax% of income
1.KammersrohrCHF 13’02713.03 %
2.Feldbrunnen-St. NiklausCHF 13’22713.23 %
3.DänikenCHF 14’03814.04 %
4.HärkingenCHF 14’62814.63 %
5.DornachCHF 14’80814.81 %
6.BettlachCHF 15’28515.29 %
7.Eppenberg-WöschnauCHF 15’29515.29 %
8.Balm bei GünsbergCHF 15’36215.36 %
9.Lohn-AmmannseggCHF 15’61915.62 %
10.Rickenbach (SO)CHF 15’67615.68 %
11.NiederbuchsitenCHF 15’82915.83 %
11.OberbuchsitenCHF 15’82915.83 %
11.Starrkirch-WilCHF 15’82915.83 %
14.SelzachCHF 15’88615.89 %
15.OltenCHF 15’92615.93 %
16.BucheggCHF 16’00916.01 %
16.NiedergösgenCHF 16’00916.01 %
16.Erlinsbach (SO)CHF 16’00916.01 %
16.FulenbachCHF 16’00916.01 %
20.WitterswilCHF 16’01916.02 %
21.Lüterkofen-IchertswilCHF 16’02916.03 %
21.UnterramsernCHF 16’02916.03 %
23.HägendorfCHF 16’07616.08 %
23.BüsserachCHF 16’07616.08 %
25.SolothurnCHF 16’16316.16 %
26.EgerkingenCHF 16’18316.18 %
27.Hofstetten-FlühCHF 16’21016.21 %
27.LostorfCHF 16’21016.21 %
27.GunzgenCHF 16’21016.21 %
30.MessenCHF 16’24016.24 %
31.BreitenbachCHF 16’26016.26 %
32.RiedholzCHF 16’34316.34 %
33.SchönenwerdCHF 16’36316.36 %
34.GrenchenCHF 16’38616.39 %
35.OensingenCHF 16’41016.41 %
35.HochwaldCHF 16’41016.41 %
37.KestenholzCHF 16’47616.48 %
37.WolfwilCHF 16’47616.48 %
37.GempenCHF 16’47616.48 %
40.ObergerlafingenCHF 16’49616.50 %
41.ZuchwilCHF 16’56316.56 %
41.GretzenbachCHF 16’56316.56 %
43.DullikenCHF 16’61016.61 %
43.Wangen bei OltenCHF 16’61016.61 %
45.KriegstettenCHF 16’63016.63 %
45.LangendorfCHF 16’63016.63 %
47.RecherswilCHF 16’67716.68 %
47.Oberdorf (SO)CHF 16’67716.68 %
49.NeuendorfCHF 16’69716.70 %
49.HorriwilCHF 16’69716.70 %
49.GünsbergCHF 16’69716.70 %
52.NunningenCHF 16’71716.72 %
53.AedermannsdorfCHF 16’81016.81 %
53.ObergösgenCHF 16’81016.81 %
53.DeitingenCHF 16’81016.81 %
56.BättwilCHF 16’83016.83 %
56.Drei HöfeCHF 16’83016.83 %
58.Wisen (SO)CHF 16’84016.84 %
59.LuterbachCHF 16’88716.89 %
60.MeltingenCHF 16’89716.90 %
61.SchnottwilCHF 16’95316.95 %
61.HimmelriedCHF 16’95316.95 %
63.Welschenrohr-GänsbrunnenCHF 16’97316.97 %
64.BalsthalCHF 17’01017.01 %
64.Büren (SO)CHF 17’01017.01 %
64.SeewenCHF 17’01017.01 %
64.Hauenstein-IfenthalCHF 17’01017.01 %
64.StüsslingenCHF 17’01017.01 %
64.BiberistCHF 17’01017.01 %
64.BellachCHF 17’01017.01 %
64.Kappel (SO)CHF 17’01017.01 %
72.HünikenCHF 17’02017.02 %
72.BoningenCHF 17’02017.02 %
72.Walterswil (SO)CHF 17’02017.02 %
75.BiezwilCHF 17’03017.03 %
75.Lüsslingen-NennigkofenCHF 17’03017.03 %
75.RüttenenCHF 17’03017.03 %
75.BärschwilCHF 17’03017.03 %
75.Beinwil (SO)CHF 17’03017.03 %
80.Mümliswil-RamiswilCHF 17’04017.04 %
81.GerlafingenCHF 17’06017.06 %
81.FlumenthalCHF 17’06017.06 %
83.LaupersdorfCHF 17’07717.08 %
84.KleinlützelCHF 17’09217.09 %
85.LommiswilCHF 17’14417.14 %
86.HubersdorfCHF 17’17417.17 %
87.SubingenCHF 17’23017.23 %
88.ErschwilCHF 17’25017.25 %
89.DerendingenCHF 17’26017.26 %
90.Metzerlen-MariasteinCHF 17’28717.29 %
91.KienbergCHF 17’29717.30 %
92.HerbetswilCHF 17’30717.31 %
93.RodersdorfCHF 17’34417.34 %
93.Aeschi (SO)CHF 17’34417.34 %
93.EtzikenCHF 17’34417.34 %
96.WinznauCHF 17’35617.36 %
97.MatzendorfCHF 17’36417.36 %
97.FehrenCHF 17’36417.36 %
99.GrindelCHF 17’39417.39 %
100.Nuglar-St. PantaleonCHF 17’43117.43 %
101.Holderbank (SO)CHF 17’49717.50 %
102.ZullwilCHF 17’97417.97 %
103.TrimbachCHF 18’06118.06 %
104.BolkenCHF 18’37518.38 %

Rank 1 is the lowest tax burden.

Up

Other cantons