Use this IRA calculator to estimate how your balance could grow from now to retirement with regular contributions, and (if you want) compare Roth vs Traditional after-tax results using simple tax-rate assumptions.
Advanced options
How to use our IRA Calculator (Roth vs Traditional and Growth)
- Choose what you want to calculate: Growth projection or Roth vs Traditional.
- Select IRA type (Roth or Traditional) for the projection you want to run.
- Enter your current age and retirement age (retirement age must be higher).
- Enter your starting IRA balance and your contribution amount, then pick whether that amount is monthly or annual.
- Enter your expected annual return (percent).
- Open Advanced options if you want extra realism: contribution timing, compounding frequency, and optional inflation to also see results in today's dollars.
- If you want IRS limit guardrails, enter the contribution year and choose Maximize to IRS limit, or type an override annual limit.
- If you want eligibility checks, add earned income (cannot contribute more than earned income) and optionally filing status plus MAGI for a simplified Roth check.
- For Roth vs Traditional mode, enter your marginal tax rate now and your marginal tax rate in retirement to estimate after-tax amounts and today's tax savings.
- Click Calculate, then review the effective monthly contribution and total contributions to confirm you did not mix up monthly vs annual.
Definitions
IRA: Individual Retirement Arrangement, a special account for saving for retirement with tax rules.
Roth IRA: You usually pay taxes on the money before it goes in, and qualified withdrawals in retirement are usually tax-free.
Traditional IRA: You may get a tax break when you contribute (if deductible), but withdrawals in retirement are usually taxed.
Contribution limit: The IRS maximum you are allowed to add across all your IRAs for a tax year (Roth + Traditional combined) [1].
Catch-up contribution: Extra amount you can contribute if you are age 50 or older (a higher limit) [1].
Earned income: Money you make from working (like wages). You generally cannot contribute more than this for the year [1].
Marginal tax rate: Your estimated tax percent on the next extra dollar you earn (used here as a simple tax assumption).
MAGI: Modified adjusted gross income, an IRS income number used to decide Roth contribution eligibility [1].
Nominal dollars: Future dollars not adjusted for inflation.
Today's dollars (real dollars): Inflation-adjusted dollars that aim to represent future buying power.
RMD: Required minimum distribution, a minimum amount some retirement accounts must distribute each year after you reach the RMD starting age (Traditional IRAs are subject; Roth IRAs are not for the original owner) [2][3].
Methodology
Inputs turned into per-period math
First find how many contribution/growth periods you have:
periods = (retirement_age - current_age) * periods_per_year
Then convert the annual return into a per-period rate:
rate_per_period = (1 + annual_return)^(1/periods_per_year) - 1
Where annual_return is expected_annual_return/100, and periods_per_year is 12 (monthly) or 1 (annual).
Contribution amount used (frequency, IRS limit, and earned income)
Start by converting the entered contribution amount into an annual amount based on the selected contribution frequency.
If you choose to maximize to the IRS limit for the selected year (and the year is supported by the calculator), the annual contribution used becomes the IRS limit (plus catch-up if age 50+), unless you typed an override annual limit [1].
If earned income is provided and the annual contribution used is higher than earned income, the calculator shows a warning and uses earned income as the capped annual contribution (so the math does not assume an illegal contribution) [1].
Future value (ending balance)
For end-of-period contributions (ordinary annuity):
FV = PV*(1+r)^n + PMT*(((1+r)^n - 1)/r)
Where PV is starting_balance, PMT is the contribution per period, r is rate_per_period, and n is periods.
If r is 0 (or extremely close to 0), the calculator uses the no-growth version to avoid divide-by-zero:
FV = PV + PMT*n
For beginning-of-period contributions (annuity due):
FV_due = FV * (1+r)
Inflation adjustment (optional)
If you enter an inflation rate, the calculator also shows an inflation-adjusted value (today's dollars):
real_value = nominal_value / (1 + inflation_rate)^years
Where inflation_rate is inflation_rate_percent/100 and years is retirement_age - current_age. Inflation rate must be 0 or higher.
Roth vs Traditional after-tax comparison (simplified)
Roth after-tax at retirement assumes qualified withdrawals are tax-free:
after_tax_roth = ending_balance_nominal
Traditional after-tax at retirement assumes all withdrawals are taxed at one retirement marginal tax rate:
after_tax_traditional = ending_balance_nominal * (1 - tax_rate_retirement)
Estimated tax savings today from a deductible Traditional contribution:
tax_savings_today = annual_contribution_used * tax_rate_now
Deductibility can be limited by IRS rules (for example, workplace plan coverage and income), so this is labeled as an estimate [1].
Roth eligibility check (simplified)
If filing status and MAGI are provided, the calculator compares MAGI to the Roth IRA contribution income ranges for the selected year and labels the result as likely eligible, in the phase-out range, or over the limit. This is a simplified check and should be confirmed with IRS rules [1].
RMD quick estimate (optional)
If enabled, the calculator estimates a first-year RMD for a Traditional IRA using the Uniform Lifetime Table method:
RMD = prior_year_end_balance / distribution_period_factor
The factor depends on age and IRS tables/worksheets [2]. If you indicate your spouse is more than 10 years younger and the sole beneficiary, the calculator warns that a different IRS worksheet applies and the estimate may be N/A [2]. General RMD rules and timing are summarized by the IRS [3].
Validation and safe handling
The calculator blocks impossible inputs: retirement age must be greater than current age, starting balance and contribution must be 0 or higher, annual return must be greater than -100%, and inflation rate (if used) must be 0 or higher. If required fields are missing or invalid, it shows an error message and does not calculate.