Roth or Traditional — which actually wins?

Same contribution limit, different tax timing. The textbook 'tax indifference' result says it ties when your marginal rate is constant. Real life rarely is — and the apples-to-apples comparison (Trad + side taxable) shifts the winner once you account for tax drag and rate differentials.

How to use this in 60 seconds

  1. Set your CURRENT marginal rate — the bracket on your last dollar of income today. Federal only is fine for a first pass; add state if your state has income tax.
  2. Estimate your RETIREMENT marginal rate — most retirees drop one or two brackets. If your projected retirement income (Social Security + RMDs + portfolio) puts you firmly in a lower bracket, that's the number.
  3. Read the apples-to-apples result — the headline number is Roth vs (Traditional + side taxable). The side taxable models the realistic case where you can only put $contrib pre-tax into Trad and invest the tax savings in a taxable account.

Quick rule: if your current rate is higher than your expected retirement rate by 5+ points, Traditional usually wins. If lower by 5+, Roth wins. Same rate ≈ tie (but Roth wins slightly because the side account suffers tax drag).

Why the apples-to-apples comparison matters

Most online calculators lie by omission. They show you "Roth vs Traditional" with the same nominal $7K contribution and conclude that Roth wins because tax-free growth always sounds better. But $7K post-tax (Roth) and $7K pre-tax (Trad) are not the same dollars — Roth is more expensive.

The honest comparison: if you fund $7K to Traditional, you save $7K × current marginal in tax. If you instead fund $7K to Roth, you give up that tax saving. The comparison should be Roth vs (Trad + tax savings invested in taxable account that gets dragged by ongoing taxes on dividends and rebalancing). That's what we model.

The math: when your marginal rate is the same now and at retirement, Roth and Trad+side end up nearly equal with zero drag (the "tax indifference" theorem). With realistic 10-20% drag on the side account, Roth wins by a few percent. With a higher current rate than retirement rate, Trad wins meaningfully. With a lower current rate, Roth wins meaningfully.

Math runs in your browser. We don't store your inputs. Source on github.

Where this framework breaks

  • RMDs and Social Security tax bombs. Large traditional balances trigger Required Minimum Distributions at 73 that can push retirement income into higher brackets and tax 85% of Social Security. The model uses a flat retirement marginal — bake those effects in if relevant.
  • State tax changes. Moving from a high-tax state (CA, NY) to a no-tax state (FL, TX) in retirement effectively lowers your retirement marginal — that meaningfully favors Traditional.
  • Roth has no RMD. If you want to leave money to heirs or maintain flexibility, Roth's lack of forced withdrawals is worth real money the model doesn't price.
  • Backdoor Roth income limits. Above ~$165K MAGI (single 2025), direct Roth IRA contributions phase out. The mechanic still works via backdoor or Roth 401(k), but you should know the constraint.