RRSP vs TFSA Calculator – Methodology & Constants

All constants, tax brackets, and formulas used in our calculations (2025 tax year values).

Back to Calculator

General Principles

  • All calculations use real dollars (today's purchasing power) — no inflation adjustment is applied.
  • Tax brackets, credits, and thresholds use 2025 values throughout the projection.
  • RRIF withdrawals are eligible for pension income splitting and the pension income credit only at age 65+.
  • Other retirement income (e.g. defined-benefit pension, annuity) is eligible for splitting and the pension credit at any age.
  • CPP cannot be income-split under the pension splitting election (CPP sharing is a separate CRA process).
  • OAS cannot be income-split.

Federal Tax Brackets & Credits (2025)

Tax Brackets

Income Range Rate
$0 – $57,37415%
$57,374 – $114,74920.5%
$114,749 – $177,88126%
$177,881 – $253,41329%
Over $253,41333%

Non-Refundable Credits

Credit Amount
Basic Personal $16129
Age Amount (65+) $9028
Age Amount Threshold $43953
Pension Income Amount (max) $2000
Disability Amount $10138

All credits are applied at the federal 15% rate. Age credit is reduced by 15% of net income above the threshold. Provincial credits differ by province.

OAS & CPP Constants (2025)

Old Age Security (OAS)

Maximum Annual Amount $8713
Clawback Threshold $96800
Clawback Rate 15%
clawback = min((income − $96800) × 15%, oas_amount)

Calculated per individual; pension splitting can reduce clawback by lowering the higher earner's income.

Canada Pension Plan (CPP)

Maximum Annual Benefit $15500
Early CPP reduction (before 65) −0.6%/month
Late CPP increase (after 65) +0.7%/month

CPP estimate is based on your monthly input, scaled by contribution years (max 39 qualifying years).

RRIF Minimum Withdrawal Rates (2025)

The government requires RRIF holders to withdraw at least this percentage of the beginning-of-year account balance each year. The age 90 rate applies to all ages 90 and above.

Age Minimum Rate Withdrawal on $500,000 balance
55 2.90% $14500
56 2.98% $14900
57 3.08% $15400
58 3.20% $16000
59 3.33% $16650
60 3.49% $17450
61 3.67% $18350
62 3.87% $19350
63 4.10% $20500
64 4.37% $21850
65 ★ 4.67% $23350
66 5.00% $25000
67 5.38% $26900
68 5.80% $29000
69 6.29% $31450
70 6.82% $34100
71 7.40% $37000
72 7.89% $39450
73 8.24% $41200
74 8.60% $43000
75 8.99% $44950
76 9.42% $47100
77 9.89% $49450
78 10.42% $52100
79 11.01% $55050
80 11.67% $58350
81 12.39% $61950
82 13.21% $66050
83 14.12% $70600
84 15.16% $75800
85 16.34% $81700
86 17.71% $88550
87 19.31% $96550
88 21.20% $106000
89 23.42% $117100
90 26.00% $130000

★ Pension income credit and pension splitting eligibility starts at age 65.

Canada Child Benefit (CCB) – 2025

Maximum Annual Benefits

Child under 6 $8157
Child 6–17 $6883
Disability Supplement $3480
AFNI Threshold 1 (full benefit below) $38237
AFNI Threshold 2 $82847

Phase-out Rates by Number of Children

Children T1→T2 rate Above T2 rate
1 7.0% 3.2%
2 13.5% 5.7%
3 19.0% 8.0%
4+ 23.0% 9.5%

CCB is based on Adjusted Family Net Income (AFNI). RRSP contributions reduce AFNI, increasing CCB. The extra CCB (and provincial child benefit) from an RRSP contribution is calculated each year and shown as a lifetime total, but it is not added to any investment balance — it is assumed to be spent outside the model.

Key Formulas

RRSP Accumulation (working years)

rrsp_refund = contribution × combined_marginal_rate

# Refund to RRSP strategy:

rrsp_contribution = contribution + rrsp_refund

# Refund to TFSA strategy:

rrsp_contribution = contribution

tfsa_contribution = contribution + min(rrsp_refund, tfsa_room)

balance = (balance + rrsp_contribution) × (1 + expected_return)

The refund is calculated as one step only: contribution × marginal_rate. The full geometric gross-up (contribution / (1 − marginal_rate)) is not applied, so the modelled refund is slightly smaller than if the refund itself were also contributed and taxed back repeatedly. The refund is applied in the same year as the contribution (start-of-year), not the following year.

Minimum RRIF Withdrawal

rrif_withdrawal = rrsp_balance × rrif_rate[age]

Uses the CRA minimum RRIF withdrawal table above. If age exceeds the table maximum, the age 90 rate (26%) applies.

RRSP Meltdown (accelerated withdrawal)

years_left = max(1, min(meltdown_target_age, end_age) − current_age + 1)

rrif_withdrawal = rrsp_balance / years_left

Spreads the remaining RRSP balance evenly across the years until the target age. This front-loads withdrawals compared to the minimum RRIF schedule, aiming to exhaust the RRSP by the target age and potentially reduce long-term OAS clawback.

Pension Income Splitting

eligible = (rrif_withdrawal if age ≥ 65 else 0) + other_retirement_income

transfer = eligible × 0.5 # up to 50% may be transferred

primary_income −= transfer

spouse_income += transfer

Up to 50% of eligible pension income can be transferred to a spouse/common-law partner to reduce combined taxes. RRIF withdrawals qualify only at age 65+; a defined-benefit pension or annuity (other retirement income) qualifies at any age.

OAS Clawback (Recovery Tax)

if net_income > $96800:

    clawback = min((net_income − $96800) × 15%, oas_annual_amount)

The clawback is applied per individual. Income splitting can move income from the higher earner to the lower earner, potentially reducing or eliminating the clawback. The meltdown strategy front-loads withdrawals, which may increase clawback during meltdown years but eliminate it afterwards once the RRSP is depleted.

RRSP After-Tax Value (summary)

effective_tax_rate = total_rrif_taxes / total_rrif_withdrawals

tax_on_remaining = remaining_balance × effective_tax_rate

rrsp_after_tax = starting_balance − taxes_paid − tax_on_remaining

The RRSP after-tax value represents what the account is worth after paying all expected taxes on withdrawals. It uses the effective tax rate observed in the retirement projection to estimate future taxes on the remaining balance.

Provincial Tax

Provincial tax brackets, credits, and rates vary by province and are applied automatically for your selected province using 2025 values. For full provincial details, refer to the CRA provincial tax tables or your provincial tax authority.