All constants, tax brackets, and formulas used in our calculations (2025 tax year values).
Back to Calculator| Income Range | Rate |
|---|---|
| $0 – $57,374 | 15% |
| $57,374 – $114,749 | 20.5% |
| $114,749 – $177,881 | 26% |
| $177,881 – $253,413 | 29% |
| Over $253,413 | 33% |
| 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.
| Maximum Annual Amount | $8713 |
| Clawback Threshold | $96800 |
| Clawback Rate | 15% |
Calculated per individual; pension splitting can reduce clawback by lowering the higher earner's income.
| 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).
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.
| Child under 6 | $8157 |
| Child 6–17 | $6883 |
| Disability Supplement | $3480 |
| AFNI Threshold 1 (full benefit below) | $38237 |
| AFNI Threshold 2 | $82847 |
| 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.
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.
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.
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.
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.
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.
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 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.