Skip to main content
SARS 2026/2027

How to Calculate PAYE in South Africa

Step-by-step explanation of the South African PAYE income tax calculation — progressive brackets, age-based rebates, UIF, and effective rate — using official SARS 2026/2027 figures.

Last updated

Overview

The calculator implements the SARS progressive personal income tax system for the 2026/2027 tax year. Each slice of income is taxed at the marginal rate for its bracket; only the portion within a bracket is taxed at that bracket's rate. Age-based rebates and thresholds reduce tax for qualifying individuals.

Calculation Sequence

  1. Input Normalisation: If monthly provided, derive annual (×12).
  2. Threshold Gate: If annual ≤ age threshold → tax = 0.
  3. Progressive Pass: Sum marginal tax for each bracket portion.
  4. Rebate Application: Subtract age-based rebate; floor at 0.
  5. Monthly Figures: Annual tax ÷ 12 → monthly PAYE.
  6. UIF: 1% of monthly income capped at R177.12.
  7. Net Monthly: Gross monthly − PAYE − UIF.
  8. Effective Rate: Annual tax ÷ annual income.

Ordering matters: rebates apply after progressive accumulation, not per bracket.

Progressive Algorithm

For each tax bracket, only the segment of income inside that bracket's bounds is taxed at its marginal rate. This prevents over-taxing earlier income.

Algorithm
// Pseudocode (simplified)
function calculateAnnualTax(annualIncome, ageGroup) {
  if (annualIncome <= THRESHOLDS[ageGroup]) return 0;
  let tax = 0;
  for (const bracket of TAX_BRACKETS) {
    if (annualIncome > bracket.min) {
      const taxable = Math.min(annualIncome, bracket.max) - bracket.min;
      tax += taxable * bracket.rate;
    }
  }
  tax -= REBATES[ageGroup];
  return Math.max(0, tax);
}

Bracket iteration is linear (O(n)) with n = number of brackets (constant for a tax year).

Worked Example: R45,000 Monthly (R540,000 Annual)

Income spans four brackets. Table shows the taxable slice and tax per slice before the age rebate.

Bracket accumulation (before rebate).
# Range Rate Taxable Tax
1 R0–245,100 18% R245,100 R44,118
2 R245,101–383,100 26% R138,000 R35,880
3 R383,101–530,200 31% R147,100 R45,601
4 R530,201–540,000 36% R9,800 R3,528
Total Before Rebate R129,127
Minus Rebate (Under 65) −R17,820
Final Annual Tax R111,307

Age-Based Rebates & Thresholds

Rebates reduce tax payable after progressive calculation; thresholds exclude lower earners from tax entirely.

Tax Rebates (Annual)

  • Under 65: R17,820
  • 65–74: R27,585 (primary + R9,765)
  • 75+: R30,834 (primary + R9,765 + R3,249)

Tax Thresholds (Annual)

  • Under 65: R99,000
  • 65–74: R153,250
  • 75+: R171,300

UIF Calculation

The Unemployment Insurance Fund (employee portion) is:

UIF = min(grossMonthly × 0.01, R177.12)

Employer matches this amount (not reflected in the calculator output).

Effective Tax Rate

Shows actual burden relative to gross annual income—not the marginal rate of the highest bracket reached.

Effective Rate = (Annual Tax ÷ Annual Income) × 100

Because earlier portions are taxed at lower rates (and rebates subtract a fixed value), the effective rate is always lower than the top marginal rate for that income.

Mathematical Precision & Rounding

  • Calculation Precision: Full IEEE 754 double precision.
  • Display: Rounded to 2 decimals for currency readability.
  • Bracket Bounds: Lower bound inclusive; upper bound exclusive.
  • Negative Guard: Post-rebate tax floored at 0.

Limitations & Scope

  • No provisional tax handling.
  • No deductions (retirement, medical credits) yet.
  • UIF shows employee portion only.
  • Outputs are indicative; consult SARS for formal assessments.

Data Sources & Verification

All brackets, rebates and thresholds sourced from official SARS 2026/2027 publications. Internal verification uses scripted test cases and a detailed bracket breakdown harness (see repository scripts) to confirm alignment with the progressive formula.

Last reviewed 2026-06-13.

Back to top

Try the calculator

See this methodology applied to your salary — PAYE, UIF, effective rate and net take-home in seconds.

Calculate my take-home pay →