Tool · Projections
Roth IRA Growth Projector
What might steady saving grow into? Start with a simple projection, then explore how uneven returns and inflation change the picture. These are hypothetical savings scenarios, not a forecast or a retirement-income plan.
Corrected September 4, 2026: Simulation results and model descriptions corrected. View correction history.
All calculations run locally in your browser. Your inputs are never transmitted or stored.
New to projections? Start with the Roth IRA calculator guide — a simpler calculator paired with a plain-English walkthrough of the assumptions, the 2026 limits, and what the tax-free wrapper is worth.
Profile
Contributions
The 2026 base IRA limit is $7,500. Enter your base contribution before any catch-up below. This tool does not verify eligible compensation, income limits, other IRA contributions or future limits.
Adds $1,100 when the age shown at year-end is 50 or older. Turn off if your entered contribution already includes catch-up. Future catch-up increases are not predicted.
Raises your base contribution by your inflation assumption each year. This is a savings assumption, not a forecast of future IRA limits.
Return assumptions
Controls how widely simulated annual returns vary. The starting value is illustrative; no historical-return dataset or asset allocation is loaded.
Same inputs and seed reproduce the same paths. Change this whole number to explore another sample, not to search for a preferred result.
Current run: paths · seed
Inputs changed. Previous simulation results are hidden. Select Run Monte Carlo to update them.
Select Run Monte Carlo to add simulated outcomes. The main balance card remains the flat-return illustration.
Inflation & display
Real = nominal balance ÷ (1 + inflation)yr. Shows purchasing power in today's dollars.
Sequence-of-returns stress
Compare weaker years at the start versus the end while keeping the full-period compound return equal. This separate illustration models saving, not withdrawals.
Uses up to 10 years, limited to one-third of the horizon rounded down. Available for horizons of at least 12 years. Other years use a calculated balancing return, not a predicted recovery.
Flat-return end balance
Real:
Nominal:
New contributions (nominal)
Excludes starting balance; includes catch-up if enabled
Projected growth (nominal)
Ending balance less starting savings and new contributions
Balance trajectory
Median path + 10/90th bands ( runs)
On a small screen, scroll the chart sideways to read its labels.
Percentile outcomes at end of horizon
Across simulated paths using independent lognormal growth factors, calibrated to a mean annual return of % and annual standard deviation of %. All balances are .
10th
25th
Median
75th
90th
When you cross key balances
Deterministic path · $
Sequence-of-returns stress test
The early and late scenarios rearrange the same annual returns. Both have the same full-period compound return as the flat baseline. With new contributions, the timing of returns can still change the ending balance. Values below are dollars.
Choose a horizon of at least 12 years to compare early and late stress periods.
Year-by-year projection
Flat-return path. Contribution and annual growth columns are nominal; both balance units are shown. Rows shaded where you first cross a milestone.
| Age | Year | Contribution | Annual growth | Balance | Real | Nominal |
|---|---|---|---|---|---|---|
+ marks years where the catch-up contribution applies.
User Guide
How to use the Roth IRA Growth Projection tool
A projection is a way to explore assumptions, not a promise about your future balance. This tool offers three views: steady growth at one annual return, simulated paths with uneven returns, and a separate comparison that moves a stress period from the beginning to the end.
Who should use this tool
Use it to explore the saving years: how your starting balance, deposits, horizon, returns and inflation interact. It does not calculate retirement spending, portfolio withdrawals, a safe withdrawal rate or your chance of funding a particular goal.
Walking through the inputs
Age and starting balance. Enter your age at the start of the first projection year and the savings already invested. Each table row shows your age one year later. For example, a starting age of 49 produces a first year-end age of 50, when the optional catch-up is added.
Annual contribution. Enter the first year's base deposit. Deposits are added at the start of each year. The catch-up option adds $1,100 to that base in years with a year-end age of 50 or older; turn it off if the amount you entered already includes catch-up. With inflation escalation on, only the base deposit grows with inflation. With it off, base deposits stay unchanged in nominal dollars.
Horizon. Choose 5 to 60 years. The tool assumes contributions continue for the entire period; it does not automatically stop them at retirement.
Return and volatility. Enter a nominal annual return before inflation. Monte Carlo mode also uses your annual volatility assumption to create more-variable or less-variable paths. The tool does not choose an investment mix, load historical returns or separately deduct fees. If you want to allow for fees, use a return assumption already reduced for those costs.
Simulation runs and seed. The default is 1,000 paths; the available range is 200 to 5,000. More paths reduce sampling noise, not uncertainty about the future. The seed is the starting number for the random generator. Identical inputs and seed reproduce the same paths. Changing a model input hides the old results until you run again.
Inflation and display. All calculations start in nominal dollars. The real view translates balances into today's purchasing power. Do not enter an already inflation-adjusted return and then subtract inflation again through this display. For example, 7% nominal growth and 2.5% inflation imply a real return of (1.07 ÷ 1.025) − 1, or about 4.39%.
How to read the result
The main cards, milestones and year-by-year table always use the flat-return calculation. In Monte Carlo mode, select Run Monte Carlo to add the shaded 10th-to-90th-percentile band, dashed median and ending percentiles. A percentile at each year describes that year's cross-section of simulated balances; the median line is not necessarily one investor's path.
The separate stress comparison uses up to ten weaker-return years, limited to one-third of the horizon rounded down. It requires a horizon of at least twelve years. The remaining years get a calculated return that makes the whole-period compound return match the flat baseline. The same returns are placed early or late; this is not a historical replay or a prediction of a recovery.
Important limits
- Percentiles are model outputs, not guarantees. Actual markets need not follow the assumed distribution; even outcomes outside the displayed band are possible.
- The flat result is not the Monte Carlo median. Uneven returns can make the middle simulated outcome differ substantially from steady growth at the mean annual return.
- Contribution eligibility is assumed. Check compensation, income limits and contributions to other IRAs separately. Inflation escalation does not predict future legal limits.
- A balance is not a withdrawal ruling. The tool does not determine whether a distribution would be taxable or subject to an additional tax.
After you have the projection
Try several return, volatility and inflation assumptions. Notice which choices make the largest difference, then use those questions in your broader planning. A more precise-looking result is not necessarily a more reliable forecast.
Worked example you can reproduce
Maya starts at age 35 with $50,000 and adds $7,500 at the beginning of each year for 30 years. Choose flat mode, a 5% nominal annual return and 0% inflation. Turn both catch-up and contribution escalation off to keep this example simple.
The ending balance is $739,303.04, displayed as about $739K. Maya adds $225,000; together with her $50,000 starting balance, that leaves $464,303.04 of modeled growth. With inflation set to zero, nominal and real balances are identical.
This is an arithmetic illustration, not a forecast, an investment recommendation or a determination of Maya's contribution eligibility. Switch to Monte Carlo and choose your own volatility and seed to explore a sample of uneven returns; the tool does not present those samples as historical outcomes.
Methodology
How the projector computes every number
These accordions expose every formula, assumption, and IRS citation. Numbers you see above are produced entirely from the disclosed equations — nothing is hidden.
1. Base compounding identity
The deterministic path uses annuity-due accumulation — contributions are credited at the start of each year and earn the full year's return:
By+1 = (By + Cy) × (1 + r)With B0 = starting balance, Cy = contribution in year y (indexed for catch-up and inflation as configured), and r = your expected annual return. After n years this is equivalent to the closed-form:
when contributions are constant. When contributions change year to year (e.g. when catch-up kicks in at age 50), we compute iteratively.
2. Age-50 catch-up contribution
Under §219(b)(5)(B), taxpayers aged 50 or older by the end of the taxable year may contribute an additional $1,100 (2026) to a traditional or Roth IRA on top of the base limit.
The 2026 IRA catch-up amount is $1,100 under IRS Notice 2025-67. This model uses the age shown at the end of each projected year and holds that amount constant in future years.
The law provides inflation adjustments; keeping catch-up fixed here is a model simplification, not a prediction that the legal amount stays unchanged. Contribution escalation increases only the base amount you entered. The tool does not enforce future annual limits.
3. Monte Carlo — lognormal returns
The annual growth factor 1 + return follows a lognormal distribution. Subtracting 1 gives a simulated annual return that can be negative but cannot fall below −100%. The calibration makes the arithmetic mean return equal your expected return m and its standard deviation equal your volatility s:
Each year's return is then R = exp(μlog + σlog·Z) − 1, where Z ~ N(0,1) is sampled via the Box-Muller transform from two independent uniforms. Paths compound independently:
Each year's simulated balances are sorted; the displayed percentile picks the value at zero-based index floor(number of paths × percentile), capped at the final index. The chart shows the 10th-to-90th band and median; the ending cards also show the 25th and 75th. The default is 1,000 paths.
The seed initializes a repeatable 32-bit random generator (Mulberry32). The same inputs, seed and model version give the same paths. Changing an input hides the prior run; changing only display units translates the existing results without resampling.
Limitations: years are independent draws from one unchanged distribution. There is no historical sampling, changing investment mix, market-cycle process or separate crash model. More runs reduce random sampling noise; they cannot validate the assumptions.
4. Sequence-of-returns stress test
For horizons of at least twelve years, the stress-period length k = min(10, floor(n/3)). We solve for the return in the remaining years:
The early and late paths use the same returns in a different order. Without new deposits, they end at the same value as the baseline (apart from rounding). With deposits, the ending values can differ because later deposits experience different returns. No withdrawals are modeled. The balancing return is a mathematical construction, not an expected recovery.
5. Real vs. nominal
Every balance is computed first in nominal dollars (the literal dollars in the account). The real-dollar view divides by cumulative inflation:
Balancereal, y = Balancenominal, y / (1 + i)yReal dollars are what your portfolio can buy in today's terms. Over 30 years at 2.5% inflation, $1 nominal becomes about $0.48 real. It's the number that actually matters for planning.
With contribution escalation enabled, the base deposit is multiplied by (1+i)y, where the first year uses y=0. The optional $1,100 catch-up stays fixed in nominal dollars. This is not the IRS's inflation-adjustment or rounding calculation.
6. What this tool does not model
Clear-eyed disclosure of limitations:
- Withdrawal taxes or additional taxes. No distributions are modeled. A projected balance does not establish whether a later withdrawal would be qualified.
- Contribution eligibility. Compensation, income limits, contributions to other IRAs and future statutory limits must be checked separately.
- Fees. Expense ratios and advisory fees are not subtracted. Reduce your expected return input by your all-in fee to bake them in.
- Historical returns or market regimes. Independent simulated years do not reproduce an actual investment or its risk.
- Required distributions. Roth IRAs have no lifetime RMDs under §408A(c)(5). Inherited Roth IRAs do, under the 2024 final regs — covered separately.
7. Sources & citations
Primary source and related explainers:
- Contribution limits — 2026 base limit ($7,500), catch-up ($1,100), MAGI phase-outs.
- Core Roth IRA rules — §408A summary.
- Asset placement — what belongs in a Roth to maximize tax-free compounding.
- Withdrawal Explainer — qualified-distribution rules and ordering.
- IRC §219(b)(5) — contribution limits and catch-up mechanics.
- IRC §408A — Roth IRA statutory framework.
- IRS annual contribution-limit table — 2026 IRA limit and catch-up amount.
Educational content only — not tax, legal, or investment advice. Every number above is produced by open, disclosed formulas.
Corrections and updates
September 4, 2026: The displayed seed now reproduces the same simulated paths, and changing assumptions hides outdated simulation results until the next run. Corrected catch-up timing, inflation-adjusted stress comparisons and the worked example. The guide now describes the available controls and explains that the simulations are hypothetical, not historical portfolios or retirement-success probabilities.