Step 1 — Annualise the income
If you enter a monthly salary, we first multiply it by 12 to get an annual figure, because SARS tax brackets are defined per tax year, not per month.
annual_income = monthly_salary × 12Step 2 — Check the tax threshold
If your annual income is at or below the tax threshold for your age group, your tax liability is zero and we stop here. Thresholds for each tax year are listed on our tax tables page.
Step 3 — Apply the progressive brackets
South Africa uses a progressive (marginal) tax system: your income is sliced into bands, and each band is taxed at its own rate. Only the portion of income that falls inside a given bracket is taxed at that bracket's rate — not your whole salary. We loop through each bracket, calculate the taxable slice, multiply it by that bracket's rate, and sum the results.
for each bracket:
taxable_slice = min(income, bracket.max) − bracket.min
tax += taxable_slice × bracket.rate
Step 4 — Subtract your rebate
Every taxpayer gets a primary rebate, which is subtracted from the tax calculated in Step 3. Taxpayers aged 65 and older get an additional secondary rebate, and those 75 and older get a further tertiary rebate on top of that. If the rebate is larger than the calculated tax, your tax payable is floored at zero — it never goes negative.
Step 5 — Convert back to a monthly figure
The annual tax figure (after rebate) is divided by 12 to get your monthly PAYE deduction.
Step 6 — Add UIF
UIF is calculated separately from PAYE: 1% of your monthly gross salary, capped once your salary passes the UIF ceiling (see current figure on the tax tables page).
Step 7 — Net salary
Finally: net_salary = gross_salary − PAYE − UIF. We also report your effective tax rate (total annual tax ÷ total annual income) and your marginal tax rate (the rate applied to your last rand earned) — these are two different, commonly confused numbers, and both are useful for different decisions.
Data sources
Tax brackets, rebates, thresholds and UIF figures are sourced from official SARS tax tables and National Treasury Budget Review documents, published annually (usually in February). We keep every year's figures in a single, version-controlled configuration file so the same numbers are used consistently across the calculator, the FAQ examples, and the tax tables page.