How this calculator works
Enter the pre-tax amount you can contribute, your marginal tax rate now and in retirement, the annual return, the number of years, and the annual tax rate on non-registered growth. The RRSP contribution produces a refund equal to the contribution times your current marginal rate. This page reinvests that refund in a taxable account, so the out-of-pocket cost is the same as the non-registered route. The RRSP grows tax-free and is taxed on withdrawal at the retirement rate. The non-registered account starts with the after-tax contribution and pays tax each year on its growth at the rate you enter. The refund account also pays that annual tax. Out of scope: contribution room, capital gains deferral, the dividend tax credit, the preferential treatment of Canadian dividends, provincial surtaxes, the OAS recovery tax, RRIF minimum withdrawals, and any change in tax rates other than the two you enter. This is a Canadian comparison: a non-registered account is taxed annually on interest and realizes capital gains only when sold, while an RRSP is taxed only on withdrawal. The model assumes all non-registered growth is taxed every year, which is conservative for capital gains. Canada differs from the United States: an RRSP deduction and a non-registered account have no direct analogue to a Roth or traditional IRA pair, and the refund is a Canadian tax deduction, not a government grant.
Formula
Refund = contribution x current marginal tax rate. RRSP before tax = contribution x (1 + annual return)^years. RRSP after tax = RRSP before tax x (1 - retirement marginal tax rate). Reinvested refund = refund x (1 + annual return x (1 - annual non-registered tax rate))^years. RRSP route total = RRSP after tax + reinvested refund. Non-registered route = contribution x (1 - current marginal tax rate) x (1 + annual return x (1 - annual tax rate))^years. Advantage = RRSP route total - non-registered route.
Worked example
With a $10,000 pre-tax contribution, a 40% current rate, a 30% retirement rate, a 6% return, 20 years and a 40% annual tax rate on non-registered growth, the refund is $4,000. The RRSP grows to $32,071.35 before tax and $22,449.95 after tax. The refund account grows at 3.6% a year to $8,114.38. The RRSP route is worth $30,564.32 after tax. The non-registered route starts with $6,000 and grows at 3.6% a year to $12,171.56. The RRSP advantage is $18,392.76.
Frequently asked questions
Why does the RRSP usually come out ahead?
The RRSP defers tax on the contribution and on all growth, and the refund is reinvested. The non-registered account starts with a smaller after-tax amount and pays tax on growth every year, which reduces compounding.
What if I spend the refund instead of reinvesting it?
The RRSP advantage falls. This page assumes the refund is reinvested in a taxable account, so both routes start with the same out-of-pocket cost. Spending the refund removes that account from the comparison.
What return and tax rate should I use?
Use a long-run return you expect after fees and a marginal tax rate that reflects your province and income in the contribution year and in retirement. The 2026 federal and provincial brackets are on the Canadian income tax page.
Does this include capital gains or Canadian dividends?
No. It taxes all non-registered growth every year, as if it were interest. Capital gains are taxed only when sold and Canadian dividends receive a tax credit, so the real non-registered result can be higher than this estimate.