Income tax methodology

Last verified: Effective for 2026 tax year by Fiscal Moose

Open the Income Tax calculator

The Income Tax calculator estimates your 2026 Canadian income tax on a given taxable income, for the federal layer and any province or territory except Quebec. This page documents the rules and conventions it relies on (the progressive marginal brackets, the federal Basic Personal Amount and its high-income phase-out, the Ontario surtax, and the Ontario Health Premium), the CRA sources we verify them against, the reference cases that authorise the formula to ship, and the known limitations of our model. It is the same bracket engine the salary / take-home pay calculator and the capital gains tax calculator build on, so a correction here flows through to all three.

What the calculator computes

It computes tax on taxable income (line 26000), crediting the Basic Personal Amount only. It does not apply the CPP/EI contribution credits, the age or pension amounts, medical or donation credits, or the dividend gross-up (all of which would reduce tax), so an employed taxpayer’s actual tax owing is generally lower than the figure shown. That over-statement is the safe direction for an estimate, and the calculator says so prominently above its result. Take-home pay (with CPP, CPP2, EI, and the payroll-deduction credits) is the separate salary calculator.

How the tax is built

What v1 covers, and what it leaves out

Version 1 covers the federal layer plus the 12 non-Quebec jurisdictions (9 provinces and 3 territories), for the 2026 tax year only, with the Basic Personal Amount as the only credit. Quebec is administered separately by Revenu Québec, with its own brackets and a 16.5% federal abatement, and is deferred to a later version. CPP, CPP2, and EI are payroll deductions rather than T1 income tax and belong to the salary calculator; the capital-gains inclusion belongs to the capital gains calculator; the Alternative Minimum Tax, the dividend gross-up, and all other non-refundable credits are deferred. Income-tested provincial Basic Personal Amount supplements or reductions (for example in Nova Scotia and British Columbia) are not modelled: the base provincial amount is used, which over-states tax slightly in the safe direction.

Worked examples

A taxpayer with $90,000 of taxable income in Ontario owes $18,462.26 in total income tax: $12,342.73 in federal tax, $5,369.53 in Ontario tax, and the $750 Ontario Health Premium at this income (the three add to the total). Their after-tax income is $71,537.74, their average rate 20.51%, and their marginal rate 29.65% on the next dollar. Income below $181,440 receives the full Basic Personal Amount, so no phase-out applies.

A taxpayer with $250,000 of taxable income in Ontario is the dual-overlay case: the federal Basic Personal Amount is phased down (to $15,007.69), and the Ontario surtax fires ($9,689.95), and the Ontario Health Premium reaches its $900 maximum. Total income tax is $89,472.25. These two anchors are the figures that expose whether a calculator applies the phase-out and the surtax correctly, so they are pinned in the reference suite.

Reference cases and verification

The income-tax formula ships only after passing a suite of 57 reference cases, each a known scenario with a known expected output: the two marquee anchors above, every bracket boundary (floor, floor ± $1, ceiling) across jurisdictions, the Basic Personal Amount phase-out band, the Ontario surtax and Ontario Health Premium tiers, the Quebec / unsupported-year non-computable cases, and the next-dollar marginal-rate checks. As a high-risk tool it carries a 30-case floor; we ship 51. The build fails if any case diverges from its expected value beyond a 1% tolerance. The engine also has its own independent verifier (scripts/verify-income-tax-cases.ts) that re-derives the federal and provincial tax, the phase-out, the surtax, and the health premium on a separate code path, so a formula error cannot pass both checks. A free structural cross-check confirms the bracket-sum method agrees with the CRA’s published R × income − K shorthand to within its rounding.

Our update cadence

Federal and provincial brackets, the Basic Personal Amounts, the surtax thresholds, and the Ontario Health Premium schedule are indexed and re-published by the CRA and the provinces on a predictable calendar: CRA indexation each January, provincial budgets in the spring, and the CRA T4127 payroll formulas twice a year (January and July). We refresh the data file on that semi-annual cadence and whenever a budget or rate change is published off-schedule, and re-stamp the last-verified date each time.

If you find an error

If you spot a mistake in the calculator or this page, report it through our contact page. We commit to acknowledging within 24 hours, fixing clear formula or data errors within 7 days, and publishing a changelog entry describing what changed and when. Because this engine is shared by the salary and capital gains calculators, a confirmed formula error triggers an immediate review of all three.

Professional-review status

This page is operator-verified by Fiscal Moose against the Canada Revenue Agency’s rate, indexation, and T4032 pages; it is not professional tax advice and has not been CPA-reviewed. Some figures are flagged for verbatim re-confirmation against the live source pages before the calculator itself is promoted from noindex.

Sources

Known limitations

Open the Income Tax calculator

Back to methodology index