Last updated August 18, 2026
Methodology
What Salary After Tax calculates, how it calculates it, and where the estimate stops being reliable. Everything on this page is a statement about the software, not a qualification bolted on afterwards.
1. Data sources
Every rate, bracket threshold, ceiling, credit amount and constant used here is transcribed by hand from the authority that published it. Nothing is scraped from another calculator and nothing is inferred from a third-party tax table. The authorities in use are the Canada Revenue Agency, Employment and Social Development Canada, Revenu Québec and Retraite Québec.
Each figure carries a source record: the authority, the document, the link, and the date a person last opened that link and checked the figure against it. That date is never backfilled and never set to the date a file was edited. The sources page lists every record in use.
2. Calculation approach
The engine performs four steps in a fixed order, and the order changes the answer.
- Statutory contributions are computed on gross earnings: the pension plan, subject to a basic exemption and two ceilings, and employment insurance, subject to one. In Quebec the Quebec Pension Plan replaces the Canada Pension Plan, employment insurance is charged at a reduced rate, and the Quebec parental insurance premium is charged as well.
- Income for tax purposes is gross less the enhanced portion of the pension contribution, and less any pre-tax deduction such as a payroll RRSP. The pension contribution splits in two: the base slice earns a non-refundable credit at the lowest rate, and the enhanced slice, together with the second-ceiling contribution, is deducted from income. Treating the whole contribution one way produces an answer that is wrong in both directions at once.
- Federal tax is computed on that figure and reduced by the basic personal amount, the credit for pension and insurance contributions, and the Canada employment amount, each valued at the lowest federal rate. Quebec residents then receive an abatement of a fixed share of basic federal tax.
- Provincial or territorial tax repeats the exercise with the jurisdiction rates and credits, then applies whatever else that jurisdiction has: a surtax charged on tax payable, a low-income reduction, a health premium, a supplementary credit.
Progressive tax is computed with the payroll formula each authority publishes, rate times income minus a constant, wherever that constant has been transcribed for the exact rates in force. Where it has not, the brackets are expanded slice by slice instead. A data validator re-derives every constant that is present and fails the build if the two forms disagree by more than a dollar, so a stale constant becomes a broken build rather than a silently wrong answer.
The two forms are close but not identical, because the authorities round their constants to the whole dollar. On $79,073.00 of Ontario taxable income the published-constant form gives $5,025.18 and expanding the brackets gives $5,025.65, a difference of $0.47. The published form is the one an employer runs, so it is the one used wherever the constants are known to match the rates in force.
Marginal rates are measured, not looked up. The engine computes a complete year at your salary, computes another complete year one hundred dollars higher, and divides the difference. That is a forward difference over a one hundred dollar window rather than a bracket lookup, because a surtax, a credit phase-out or a stepped levy all move the real slope away from the statutory rate. The same method is used for anything incremental: a bonus, a raise, an RRSP deduction. Two complete years, then subtract.
3. Rounding
All money is held as an integer number of cents. No dollar amount is ever a floating point number in the middle of a calculation, because tax arithmetic chains a dozen operations at rates such as 0.105 and 0.0505 that land exactly on a half cent regularly rather than rarely, and in binary floating point those ties fall to whichever side the representation happens to land on.
Every multiplication by a rate is rounded half up, away from zero, to the cent. Half up rather than banker rounding, because half up is the stated convention of both the Canada Revenue Agency and Revenu Québec. This is what allows a published figure to be reproduced exactly rather than approximately, and it is what makes the take-home solver stable: the objective function returns the same answer for the same input every time, so the search cannot oscillate.
Displayed figures are rounded for reading. Headline amounts show whole dollars and tables that should visibly add up show cents. The rounding is presentational; the arithmetic underneath is exact.
4. Tax year handling
A tax year is a self-contained data module. It holds the federal rules, both pension plans, both insurance schemes and every jurisdiction for that year, and nothing about it is computed. Adding a year is transcription plus one registry entry; no calculation code changes, and past years are not retro-fitted when a new one is published.
The site currently publishes 2 tax years: 2026, 2025. Every page states the year it is calculating. Figures are annual and assume the rules in force for the whole of that year. Where a rate changed part-way through a year the transcription follows what the authority published for payroll purposes rather than averaging anything privately.
5. Assumptions
These are in force on every page unless that page says otherwise. They are the reason a figure here will differ from your pay statement.
- The basic TD1 claim only. The calculation assumes you claim the basic personal amount and nothing else. It does not know about tuition, a spouse or dependant with no income, a disability amount, medical expenses, charitable donations, the age amount, or any other credit you may have claimed. Your employer withholds using your actual TD1, so your real tax line is usually lower than the figure here.
- Employment income only. Salary and wages. No self-employment income, no dividends, no capital gains, no interest or other investment income, no rental income, no pension income. Those are taxed differently and their interaction with employment income is not modelled.
- A full contributory year with one employer. Pension and insurance contributions assume twelve months of insurable, pensionable employment and a single payer. Someone who changed jobs mid-year may over-contribute across two employers and recover the excess on their return.
- The annual method, not the per-period method. The engine calculates a year at a time. A real payroll system calculates each pay period and prorates the pension basic exemption across the periods, so the exemption is applied in twenty-six pieces rather than one. Rounding to the cent twenty-six times does not land in exactly the same place as rounding once. The consequence is that a real pay cheque differs from the annual figure divided by twenty-six by a few cents, and the annual total differs by a few cents as well. This is a real difference and it is measured in cents, not dollars.
- No workplace deductions. Registered pension plan contributions, group benefit premiums, union dues, share purchase plans and garnishments are not included, because they are specific to one employer. Where a pre-tax deduction is entered explicitly, as in the RRSP calculator, it is applied before tax as it should be.
- Residence and employment in the same jurisdiction. The province you select is used for both. In reality your employer withholds based on your province of employment while your return is filed for your province of residence on 31 December, and the two can differ.
6. Limitations
- Marginal rates are measured on the next $100. They are not read off a bracket table, which means they are correct across surtaxes and phase-outs, and it also means they are an average slope across a one hundred dollar window rather than a derivative at a point. Exactly at a threshold, the window spans both sides of it.
- Quebec: two levies are out of scope. The health services fund contribution is not calculated, because it applies to income other than employment income and this site covers employment income only. The prescription drug insurance premium is not calculated either, because it is settled on the return rather than deducted at source, and whether it applies depends on private coverage this site cannot know about. A Quebec figure here is therefore a payroll figure, and the return may add one or both of these.
- British Columbia is computed by expanding brackets rather than from published constants. Budget 2026 raised the lowest British Columbia rate, and the only published set of payroll constants available predates that change: its second constant still encodes the old rate. Using it would silently reproduce the arithmetic that applied before the change, so no constants are carried for British Columbia and the brackets are expanded slice by slice from the rates and thresholds instead. The two methods agree within a dollar wherever both can be applied. On $118,873.00 of British Columbia taxable income the expansion gives $8,661.39, which is the figure the site publishes.
- Benefits and credits claimed on a return are not modelled. The Canada child benefit, the GST credit, provincial refundable credits and every other income-tested amount are settled on your return, not through payroll, and none of them appear here.
- This is not payroll software. It does not produce a T4, does not handle mid-year salary changes, retroactive pay, commissions with a TD1X, or the bonus withholding method an employer must actually apply. It estimates what a full year at a stated salary comes to.
- It is not tax advice. No page here takes account of your circumstances, and nobody maintaining it is a licensed adviser.
7. Update process
- When an authority publishes new rules, the figures are transcribed into a new tax year module by hand from the primary document, not from any secondary summary.
- The validator re-derives every payroll constant from the rates and thresholds and compares it with what was transcribed. A disagreement of more than a dollar fails the build.
- Unit tests check the engine against worked examples, including the boundary cases: the pension ceilings, the surtax thresholds, the health premium steps and the credit phase-out window.
- Each source record gets the date the figure was checked against its document. Pages display that date, so a stale figure is visible rather than hidden.
- A corrected figure changes every page that uses it, because the pages read the data rather than repeating it in prose.
8. Reporting an error
Email pharaujo@gmail.com with the page, the figure you believe is wrong, and the authority that says otherwise. A correction with a source attached is checked against that source and, if the site is wrong, the data is fixed and the verification date updated. The contact page sets out what to include.
Every source in use
- Current year tax rates and income brackets (2026) · Canada Revenue Agency · checked
- CPP contribution rates, maximums and exemptions, 2026 · Canada Revenue Agency · checked
- Contributions to the Québec Pension Plan (QPP), 2026 · Retraite Québec · checked
- Canada Employment Insurance Commission sets the 2026 Employment Insurance premium rate · Employment and Social Development Canada · checked
- Maximum Insurable Earnings and the Québec Parental Insurance Plan Premium Rate · Revenu Québec · checked
- T4032 Payroll Deductions Tables, January 2026 · Canada Revenue Agency · checked
- Budget 2026 tax changes: personal income tax rate and tax reduction credit · Province of British Columbia · checked
- Personal Income Tax: rates, brackets and provincial non-refundable credits · Government of Newfoundland and Labrador · checked
- TP-1015.F-V (2026-01), Formulas to Calculate Source Deductions and Contributions · Revenu Québec · checked
Last updated August 18, 2026