How it works.
A transparent look at the math behind your Roth conversion analysis. Every number produced comes from a deterministic optimization engine. No black boxes, no hand-waving. Here is exactly how it works.
What is a Roth Conversion?
A Roth conversion moves money from a Traditional IRA (or rolled-over 401k) into a Roth IRA. Traditional accounts grow tax-deferred: contributions may be deductible, but every dollar withdrawn in retirement is taxed as ordinary income. Roth accounts work the opposite way: contributions are made with after-tax dollars, but all future growth and withdrawals are completely tax-free.
The conversion itself triggers a tax bill. The amount converted is added to your taxable income for the year, just like earning extra wages. The question is whether paying that tax now, at your current rate, saves money compared to paying tax later when you withdraw in retirement.
When your current tax rate is lower than the rate you expect to face in retirement, converting creates a net benefit. The challenge is figuring out exactly how much to convert, and when, to maximize that benefit without pushing into expensive tax brackets.
Tax Bracket Filling
Federal income tax uses progressive brackets. Your income fills them from the bottom up: the first dollars are taxed at 10%, then 12%, then 22%, and so on. Each bracket has a ceiling. Once one fills up, the next dollar spills into the next bracket at a higher rate.
Roth conversions add to your taxable income for the year. They fill whatever bracket space remains above your other income. If wages, Social Security, or brokerage income fills through the 12% bracket, a conversion starts filling the 22% bracket. The key insight: lower-income years leave more room in cheaper brackets. That room is the conversion opportunity.
Social Security is only partly taxed: up to 85% of benefits, depending on your other income. Each converted dollar can make more of your benefits taxable, so in some years a conversion costs more than its bracket suggests. The engine follows the IRS worksheet for this, adds the larger standard deduction at 65, and leaves benefits out of state tax in states that don't tax them.
Where the engine stops converting
The engine stops when the cost of entering the next bracket exceeds the long-term benefit. Converting into a bracket cheaper than your expected retirement rate saves money. Going higher costs more than it saves. The bracket visualization in your results shows exactly where this boundary falls for each year.
The Core Trade-off
Every Roth conversion is a bet: pay tax now at your current marginal rate, or pay tax later at whatever rate applies when you withdraw in retirement. The analysis finds the amount where the marginal cost of converting one more dollar roughly equals the marginal benefit of avoiding future tax on that dollar.
Why not convert everything?
Converting your entire Traditional IRA in a single year pushes you deep into higher tax brackets. The tax cost spikes far beyond what you would pay withdrawing gradually in retirement. That excess tax is never recovered, even with decades of tax-free Roth growth.
Why not convert nothing?
Leaving everything in Traditional means every dollar is taxed when withdrawn in retirement. If your retirement withdrawals (including Required Minimum Distributions) land you in similar or higher brackets than your current low-income years, you have missed a significant opportunity to reduce your lifetime tax burden.
Multi-Year Allocation
This tool does not optimize one year at a time. It looks across your entire income timeline and finds the cheapest bracket slots across all years, then fills them from cheapest to most expensive. This is what makes multi-year planning so much more powerful than a single-year calculator.
How the allocation works
The engine enumerates all available bracket capacity in every year of your timeline. It sorts these slots by tax rate (cheapest first), then by year. For any given total conversion budget, it fills the cheapest slots first until the budget is exhausted. Low-income years naturally get the most conversion because they have the most cheap bracket space available.
Why your income trajectory matters
A career break, early retirement, part-time years, or a transition between jobs creates low-income years with abundant cheap bracket space. These windows are often the highest-value conversion opportunities in a lifetime. The multi-year view identifies them automatically.
The Lifetime Model
The analysis models your full financial timeline from today through the end of retirement. It compares the total after-tax wealth under different conversion schedules using Net Present Value: all future cash flows are discounted back to today's dollars so the comparison is apples-to-apples.
The four phases
Phase 1: Conversion years. During your income timeline, the engine models tax payments on conversions, shifts balances from Traditional to Roth, and grows both accounts at the assumed rate.
Phase 2: Growth to retirement. After the conversion window closes, both accounts continue compounding untouched until retirement age.
Phase 3: Retirement distributions. Traditional withdrawals are taxed. Roth withdrawals are not. If Traditional funds run short, the remainder comes from Roth tax-free. Required Minimum Distributions are enforced.
Phase 4: Money left at the end. If money is still in your traditional account at the end of the plan, we count what it would be worth after tax. We use the tax rate you’d pay on one more dollar of income in that final year, including Social Security, pensions and required withdrawals. Roth money is counted in full.
Why “today's dollars”?
A dollar 25 years from now buys less than a dollar today. Every amount you enter and every result is in today's dollars, and the 5% discount rate converts future savings into present value, preventing the analysis from overstating benefits that are decades away. The “estimated lifetime tax savings” number in your results reflects real purchasing power, not an inflated future amount.
Optimization Approach
Finding the best conversion schedule across multiple years with progressive tax brackets is a non-trivial optimization problem. The optimizer uses a two-stage approach: a fast heuristic provides a strong starting point, then a numerical optimizer refines it.
Stage 1: Bracket fill heuristic
The greedy heuristic estimates your retirement tax rate, then fills every bracket slot below that rate across all years. This runs in milliseconds and produces a good (often near-optimal) schedule. It serves as the starting point for the numerical optimizer and as the fallback if the optimizer does not converge.
Stage 2: Numerical optimization
The engine uses sequential least-squares programming (SLSQP) to search for the conversion schedule that maximizes lifetime after-tax wealth. It tests three different starting points (the heuristic result, a uniform split, and zero conversion) and keeps the best result. This guards against local optima and ensures the final answer is robust.
Constraints
If you set preferences (maximum annual tax cost, minimum number of conversion years, or a per-year cap), the optimizer respects them as hard constraints. It finds the best schedule that satisfies all your requirements, even if the unconstrained optimum would be different.
ACA Subsidy Awareness
If you purchase health insurance through the ACA marketplace, Roth conversions can affect your premium subsidy. Conversions increase your Modified Adjusted Gross Income (MAGI), which is the number used to calculate subsidy eligibility. A larger conversion means a smaller subsidy, creating a hidden cost on top of the tax bill.
The subsidy cliff
At 400% of the federal poverty level, ACA premium subsidies drop to zero. This creates a cliff: converting one dollar too many can cost thousands in lost subsidies. When you provide healthcare inputs, the engine includes subsidy impact in its cost calculation and avoids pushing you over the cliff unless the long-term tax benefit clearly outweighs the subsidy loss.
When this applies
This only matters during years when you purchase marketplace insurance. If you have employer coverage or Medicare, conversions do not affect your premiums. The engine models ACA impact only for the years you indicate, leaving other years unaffected.
RMD Impact
Starting at age 73, the IRS requires you to withdraw a minimum amount from Traditional retirement accounts each year. These Required Minimum Distributions (RMDs) are taxed as ordinary income regardless of whether you need the money. The larger your Traditional balance, the larger your RMDs, and the larger your tax bill.
How conversions help
Every dollar converted to Roth reduces your future Traditional balance. A smaller Traditional balance means smaller RMDs, which means less forced taxable income in retirement. The engine projects RMD amounts both with and without conversion so you can see the difference.
Roth accounts have no RMDs
Money in a Roth IRA is never subject to Required Minimum Distributions. It continues growing tax-free for as long as you live, providing maximum flexibility in retirement and potentially benefiting heirs.
Withdrawals Before 59½
Money taken out of a Traditional account before age 59½ usually pays a 10% additional tax on top of income tax. You reach 59½ six months after your 59th birthday, which is why we ask for the month and year you were born. In the year you reach it, the penalty applies to the months before.
Penalty-free money first
A Roth conversion itself is never penalized. Before 59½, spending comes from penalty-free money first: Roth contributions (we treat the Roth balance you enter as contributions), then conversions at least five years old, counted from January 1 of the year you convert. After that the Traditional account pays, with the penalty. Converting a little each year so it is available five years later is often called a Roth conversion ladder, and the optimizer weighs it.
What is not modeled
The rule of 55 and 72(t) substantially equal payments, which can avoid the penalty, are not included: both depend on which dollars sit in which employer plan. Income tax on Roth earnings taken out early is not included either.
Assumptions & Limitations
Every projection requires assumptions about the future. The engine uses reasonable defaults based on historical data and standard financial planning conventions. You can adjust growth and discount rates in your scenario inputs. Here is what the analysis assumes and what it does not yet model.
| Assumption | Default | Rationale |
|---|---|---|
| Investment return | 7% | A typical long-run return for a diversified portfolio, before inflation |
| Inflation | 2.5% | Amounts are in today's dollars. Spending, Social Security and tax brackets keep up with prices; pensions stay fixed |
| Discount rate | 5% | Moderate rate that avoids overstating future benefits, before inflation |
| Tax brackets | 2026 | IRS Revenue Procedure 2025-32 (most current available) |
| Deduction | Standard | Itemized deductions are not modeled |
| Retirement spending | 4% rule | Total household spending, with accounts covering what income doesn't. 4% of total balance at retirement if not specified |
| Balance left at the end | After tax | Traditional money left at the end is counted after tax, at the rate you'd pay on one more dollar that final year |
| State taxes | Optional | Included when a state is selected, otherwise federal only |
What is not modeled
The few states that tax Social Security are treated as taxing all of it, without their own exemptions. IRMAA surcharges are factored into the optimization but are not a direct user input. The net investment income tax (NIIT) is also not included. Every pension is treated as fixed, though some government pensions get cost-of-living raises.
Important disclaimer
This is an educational tool for scenario analysis. It does not provide financial, tax, or investment advice. Tax laws change. Consult a qualified professional before making financial decisions.
See what the numbers say.
Try the demo scenario or run your own. Every result links back to the methodology explained on this page.