The Social Security Tax Torpedo
Why "fill the 12% bracket" routinely overshoots into 22% — and how to size conversions correctly when SS is partially taxable.
The standard advice
Search "Roth conversion strategy" and you'll find the same recommendation everywhere: convert up to the top of the 12% federal bracket. For 2025 married-filing-jointly, that's $96,950 of taxable income. The math seems trivial — figure out your other income, subtract from $96,950, convert the difference.
For a household with Social Security benefits, that "trivial math" produces a 22% conversion roughly half the time. Almost every free Roth conversion calculator has this bug. Even some paid ones do.
Here's why.
A worked example
Take a typical retired MFJ household:
- $40,000/year combined Social Security benefit
- $20,000/year of other ordinary income (small pension)
- $1.2M in a Traditional IRA they want to convert
Their tax preparer (or a free calculator) runs the naive math:
conversion room = top_of_12% − current_taxable_income
= $96,950 − $20,000
= $76,950
So they convert $76,950. Tax bill arrives next April. To their surprise, the marginal rate on the conversion is 22% — not 12%. They got pushed into the next bracket.
What happened?
The taxability phase-in
Social Security benefits aren't fully taxable. The IRS uses "provisional income" — your AGI plus tax-exempt interest plus 50% of your SS benefit — to determine how much of your SS counts toward taxable income:
- Below $32,000 (MFJ): 0% of SS is taxable
- $32,000–$44,000: up to 50% of SS is taxable (50% phase-in)
- Above $44,000: up to 85% of SS is taxable (85% phase-in)
These thresholds have never been indexed for inflation. They were set in 1983 and 1993 respectively. Almost every retiree's SS is now 85% taxable.
Here's the key insight: every dollar of conversion you add raises your provisional income by exactly $1, which can drag up to $0.85 of additional Social Security into taxable income.
The math, redone
Back to our household. With $40k SS, $20k pension, and a $76,950 conversion:
ordinary income (pre-SS) = pension + conversion − HSA
= $20,000 + $76,950 − $0
= $96,950
provisional income = ordinary + 0.5 × SS
= $96,950 + 0.5 × $40,000
= $116,950
(provisional well above the $44k 85% threshold)
taxable SS = 0.85 × $40,000 = $34,000
total taxable income = ordinary + taxable SS − std deduction
= $96,950 + $34,000 − $30,000
= $100,950
$100,950 of taxable income lands them $4,000 into the 22% bracket. Their "12% conversion" was actually taxed at 22% on the marginal dollars, plus the additional $34k of SS that's now also taxable.
The fix
The correct sizing requires solving for the conversion amount c that satisfies:
(baseOrdinary + c) + SSTaxable(baseOrdinary + c, totalSS) − stdDed = targetBracketTop
Note that SSTaxable() itself depends on c — it's piecewise-linear in three segments (0%, 50% phase-in, 85% phase-in). You can solve algebraically per segment, or just use bisection — 20 iterations and you're done.
For our household, the correct "fill to 12% bracket" conversion is approximately $42,560 — about 45% smaller than the naive $76,950. That conversion produces ordinary taxable income of exactly $96,950, landing precisely at the 12% bracket ceiling instead of overshooting by $4,800 into 22% territory.
For most households, the overshoot translates to $2,000–$5,000 of extra tax per year. Over a 10-year conversion window, that's $20,000–$50,000 of avoidable tax.
How RothHelper handles it
The RothHelper bracket-fill solver does the bisection automatically. All three bracket strategies (fill 12%, fill 22%, fill 24%) use the torpedo-aware math — the resulting conversion lands exactly at the bracket ceiling, never overshooting into the next bracket. The full math is documented in the Computations tab.
If you want to see how big a difference this makes for your own situation: enter your numbers in the Setup tab, run the projection, and compare the marginal rate column for the "Fill 12% bracket" strategy. With the torpedo-aware math, marginal rate should stay at 12% even with SS active. With the naive math (most free calculators), it'll be 22%.
Other phase-ins to watch for
SS taxability isn't the only place the "fill the bracket" advice silently breaks down. Other phase-ins to be aware of:
- IRMAA tiers — Medicare Part B/D surcharges have hard income thresholds. Exceeding a tier by $1 can cost $1,000+ in extra premiums per year per person.
- ACA premium tax credit cliff — pre-Medicare, exceeding 400% of FPL eliminates subsidies entirely (under non-enhanced rules). A $1,000 conversion overshoot can cost $10,000 in lost subsidies.
- Net Investment Income Tax (NIIT) — 3.8% surtax kicks in at $250k MAGI for MFJ. Doesn't apply to Trad-IRA-derived income, but does apply to taxable brokerage gains that get pushed into the NIIT zone.
- Long-term capital gains 0% bracket — under the 0% LTCG threshold ($96,700 MFJ taxable income for 2025), capital gains are literally tax-free. Conversions that push you over this threshold cost 15% on every dollar of stacked LTCG.
Each of these has the same character as the SS torpedo: a "fill the bracket" rule that ignores the secondary cost. None of them is captured by a simple "convert up to $X" recommendation.
Try it on your own numbers
The Roth Conversion Optimizer implements every interaction discussed in this post — SS torpedo-aware bracket-fill, IRMAA tier modeling, ACA cliff detection, 0% LTCG handling, and a Sensitivity tab showing which of these factors actually matters for your household.
Free, no signup, runs entirely in your browser. Start here →