Quick Answer: On CHF 120,000 of taxable income, single, in the canton of Zurich, estimated cantonal plus communal tax for 2026 is CHF 17,469.60. Federal tax adds CHF 4,248.55, for a total income tax of CHF 21,718.15 and CHF 98,281.85 left over. The cantonal layer is 80.44% of the whole bill, an effective rate of 18.10% overall and 14.558% cantonal. The same income costs CHF 9,769 in Zug and CHF 25,456.60 in Bern.
Overview
Swiss income tax has three layers: federal, cantonal, and communal. The federal layer, the direkte Bundessteuer, is identical everywhere in the country and follows one published national tariff. The cantonal and communal layers are not: each canton legislates its own schedule and each commune applies its own multiplier on top. That is why the same taxable income can cost more than two and a half times as much in one canton as in another, and why the canton line is the single largest controllable variable in a Swiss resident's tax position.
This calculator exists to price that gap. It computes your cantonal and communal tax, adds the federal tax that you cannot change by moving, and then prices the identical income in every canton it covers so the comparison is concrete rather than rhetorical. It covers six cantons: Zurich, Geneva, Vaud, Bern, Basel-Stadt and Zug, each modelled at its capital city.
The input is taxable income (steuerbares Einkommen), meaning the figure at the bottom of your tax return after social insurance, Pillar 2 and 3a contributions, and every other deduction. It is not your salary. Married couples are assessed jointly on combined income against a separate and more generous tariff, selectable here.
How This Is Calculated
Total tax is the sum of two independently computed layers:
The federal layer is a bracket table. Within a bracket the tax is the bracket's base amount plus the marginal rate applied to the income above the bracket threshold.
The cantonal layer is not a bracket table in this engine. It is a set of anchor points (income, tax) queried from the Swiss federal tax administration's own official calculator for each canton's capital city, with linear interpolation between adjacent anchors and extrapolation on the last segment's slope above the top anchor of CHF 500,000.
Step 1 -- Locate the federal bracket for CHF 120,000, single. The applicable bracket begins at CHF 108,900 with a base of CHF 3,271.75 and a marginal rate of 8.8%.
120,000 - 108,900 = CHF 11,100 above the threshold
Step 2 -- Apply the federal marginal rate to that excess.
11,100 x 0.088 = CHF 976.80
Step 3 -- Add the bracket's base amount.
3,271.75 + 976.80 = CHF 4,248.55 of federal tax
Step 4 -- Locate the surrounding Zurich anchors. CHF 120,000 falls between the CHF 100,000 anchor (CHF 13,228) and the CHF 150,000 anchor (CHF 23,832).
Step 5 -- Compute the slope of that segment.
(23,832 - 13,228) / (150,000 - 100,000) = 0.21208 per franc
Step 6 -- Interpolate from the lower anchor.
13,228 + (120,000 - 100,000) x 0.21208 = CHF 17,469.60 of cantonal and communal tax
Step 7 -- Add the two layers.
17,469.60 + 4,248.55 = CHF 21,718.15 of total income tax
Step 8 -- Divide by taxable income for the effective rate.
21,718.15 / 120,000 = 18.10%
The cantonal marginal rate reported alongside is measured, not looked up: the engine recomputes the cantonal tax at CHF 121,000 and divides the difference by 1,000. Inside one interpolation segment that necessarily returns the segment slope, 21.208% here.
Worked Example
The comparison the page is built for. Same CHF 120,000, same single status, every covered canton priced by the same interpolation.
Step 1 -- Price the income in Zurich.
CHF 17,469.60
Step 2 -- Price it in Zug, the cheapest of the six. Its anchors are CHF 7,325 at 100,000 and CHF 13,435 at 150,000, a slope of 0.1222.
7,325 + 20,000 x 0.1222 = CHF 9,769
Step 3 -- Price it in Bern, the dearest of the six. Its anchors are CHF 20,273 and CHF 33,232, a slope of 0.25918.
20,273 + 20,000 x 0.25918 = CHF 25,456.60
Step 4 -- What Zurich costs you against the cheapest.
17,469.60 - 9,769 = CHF 7,700.60 a year
Step 5 -- What Zurich already saves you against the dearest.
25,456.60 - 17,469.60 = CHF 7,987 a year
Step 6 -- Put the cantonal layer in proportion.
17,469.60 / 21,718.15 = 80.44% of the total tax bill
Only the remaining 19.56% is federal, and that part is identical in all 26 cantons. The spread between the cheapest and dearest of the six modelled here, CHF 15,687.60 on this income, is entirely a cantonal and communal effect.
What This Does Not Account For
- There is no communal multiplier input. Each canton is modelled at its capital city only: Zurich city, Geneva city, Lausanne, Bern city, Basel city, Zug city. Communes within the same canton set their own Steuerfuss and can differ materially from the capital-city figure, and this calculator gives you no way to enter yours.
- Geneva's 2026 data is provisional. The federal calculator's own banner stated that 2026 figures were finalized for most cantons but not yet for Geneva when this model was built. The engine flags Geneva, and only Geneva, as provisional. Selecting Zurich, as in the headline figure above, is not flagged.
- The cantonal schedule is an interpolation, not a replication. Each canton's real statutory schedule is far more granular than the six or seven anchor points used here. Between anchors the engine draws a straight line, which cannot reproduce a curved bracket schedule exactly, and above CHF 500,000 it extrapolates on the last segment's slope rather than following any published tariff. The cantonal marginal rate it reports is therefore a segment average, and it steps rather than climbing smoothly.
- Only six of the 26 cantons are covered. The twenty that are not modelled include cantons cheaper than Zug and dearer than Bern in reality, so the range shown here is narrower than Switzerland's real spread.
- The anchors include each canton's Personalsteuer, a small flat per-person communal levy where one exists (CHF 24 in Zurich city, CHF 25 in Geneva city, nothing in the other four), because they were derived by subtracting federal tax from a total. It is not shown separately.
- Church tax is excluded. The underlying queries were run with no confession and no children, so no confessional tax and no child-related relief are in these figures.
- Wealth tax is not included. Swiss cantons levy an annual Vermogenssteuer on net assets, a separate bill this page does not compute.
- The input is taxable income, so nothing that produces it is modelled here. AHV/IV/EO and unemployment contributions, Pillar 2 purchases, the Pillar 3a deduction, professional expenses and insurance deductions have all already happened before the number you type.
- Withholding at source (Quellensteuer) follows separate cantonal monthly tariff tables and will not match this annual assessment figure.
Common Pitfalls
- Entering gross salary. A CHF 150,000 salary might carry roughly CHF 120,000 of taxable income after social insurance and deductions. Entering the salary overstates the tax.
- Reading the capital-city number as your commune's number. The commune multiplier moves the cantonal figure by a few percent either way and is not modelled.
- Comparing cantons on total tax rather than the cantonal layer. Federal tax is a constant across cantons, so it dilutes the comparison. The CHF 7,700.60 gap between Zurich and Zug is the number that a move actually changes.
- Assuming a low-tax canton is cheaper overall. Zug's tax advantage on CHF 120,000 is about CHF 7,700 a year against Zurich, which housing cost differences can absorb.
- Treating the married tariff as free. Joint assessment stacks both incomes into one progressive schedule against a more generous tariff. Whether it helps depends on how the income is split.
- Trusting the Geneva figures as final. They are the best available but were still provisional in the source calculator.
Frequently Asked Questions
How much tax do I pay on CHF 120,000 in Zurich?
Which Swiss canton has the lowest tax?
How much of my Swiss tax bill is cantonal?
What is my marginal cantonal tax rate?
Would moving from Zurich to Zug actually save me money?
Does this include wealth tax and church tax?
Sources
- Swiss Federal Tax Administration (ESTV), Form 58c, "Tabelle fur die Berechnung der direkten Bundessteuer der naturlichen Personen 2026", published 2026-01-06: https://www.estv.admin.ch/dam/de/sd-web/gnde9CmEsalK/dbst-tairfe-58c-2026-dfi.pdf -- the federal bracket thresholds, base amounts and marginal rates used above.
- Swiss Federal Tax Administration, official interactive tax calculator, tax year 2026: https://swisstaxcalculator.estv.admin.ch -- queried at each canton's capital city, single and married, no confession and no children, at the anchor incomes from which this page's cantonal and communal figures are interpolated. That tool's own banner recorded 2026 data as not yet final for Geneva.