✦ Free Calculator

You make too much for a Roth IRA. Here's your way in anyway.

Once your income clears the IRS phase-out, a direct Roth IRA contribution is off the table — but the backdoor route usually isn't. This calculator runs all three strategies (Direct, Backdoor, Mega Backdoor) against your real numbers and flags the pro-rata trap before it costs you. Drop it into your own article in one script tag, and it looks like it was built for your site, not bolted onto it.

Composes with <retirement-calc-irmaa> (Medicare surcharge cliff) and <retirement-calc-roth> (Roth conversion sweet spot) as the Roth-strategies discovery trio.

Full explanation: Backdoor Roth Conversions →

See it in context

Here's exactly what that looks like — a live instance embedded inside a sample article, using someone else's fonts and colors, not ours.

highwatertax.com/insights/backdoor-roth-pro-rata-trap
Tax Strategy · 7 min read

The Backdoor Roth Isn't Complicated. The Pro-Rata Rule Is Where It Bites.

HT
Highwater Tax Strategies
Tax strategy for high-income earners

Nearly every high-earning client we sit down with has the same reaction when we mention Roth IRAs: "I thought I couldn't do that — I make too much." They're right about the direct route. They're usually wrong that it's a dead end.

Why the direct door is closed

The IRS phases out direct Roth IRA eligibility once your modified AGI clears a threshold — for 2026, that's a range in the low-to-mid six figures depending on filing status. Above the top of that range, you're not allowed to contribute to a Roth IRA directly, full stop. No exceptions, no workaround inside that specific rule.

The backdoor mechanism, plainly

What the IRS didn't close is the two-step: contribute to a traditional IRA (which has no income limit on nondeductible contributions), then convert that traditional IRA balance to Roth shortly after. There's no minimum holding period required by statute, and the conversion itself isn't income-limited. Done cleanly, with no other pre-tax IRA money in the picture, this is a tax-free move — you already paid tax on the dollars you contributed.

Where it actually goes wrong

The trap is the pro-rata rule, and it catches people who already have money sitting in a rollover or traditional IRA from an old 401(k). The IRS doesn't let you convert "just the new nondeductible dollars" — it treats all your traditional IRA balances, across every account, as one pool, and taxes the conversion proportionally. If 80% of that combined pool is pre-tax money, 80% of your "backdoor" conversion gets taxed as ordinary income, not 0%. People who skip this check often end up with a tax bill they didn't expect on a move they thought was tax-free.

A backdoor Roth done with an existing pre-tax IRA balance isn't tax-free — it's partially taxed, and most people find out at filing time, not before.

Try it with your own numbers

The calculator to the right checks all three strategies at once — Direct, Backdoor, and Mega Backdoor (through a 401(k) that allows after-tax contributions) — and tells you the dollar room in each, plus whether an existing traditional IRA balance is going to trigger the pro-rata rule for you specifically.

When it's actually worth doing

If you have no existing pre-tax IRA balance, the backdoor route is close to a free lunch — extra Roth room with no meaningful downside. If you do have an old rollover IRA sitting around, the math changes: sometimes it's still worth it, sometimes it's worth rolling that old IRA into your current 401(k) first (if your plan allows it) to clear the pro-rata problem before converting. That's a one-time decision worth getting right, not a guess.

Try it

That's the exact <retirement-calc-backdoor> widget, unmodified — same script tag, same math as the full app. See the full picture → · Jump to the embed code ↓

For developers

Everything below is for embedding this calculator on your own site — integration code, theming, and events.

Live demos

Default (HH 45yo, $300K MAGI, plan allows mega)

Themed (single 50yo with pro-rata issue, plan doesn't allow mega)

Preview your theme

Pick colors that match your site, then copy the CSS snippet at the bottom.

Theme colors

Big number, slider thumb, CTA button
#4f8ec9
Outer surface of the calc
#ffffff
Result area + toggle background
#f7f9fc
Title, slider values, result subline
#1a1f2e
retirement-calc-backdoor {
  --rc-accent: #4f8ec9;
  --rc-bg: #ffffff;
  --rc-surf: #f7f9fc;
  --rc-text: #1a1f2e;
}

Integration code

Drop this into your HTML:

<script src="https://app.retirementscenario.com/embed/v1/backdoor.js"></script>

<retirement-calc-backdoor></retirement-calc-backdoor>

Or pre-seed values relevant to your audience:

<retirement-calc-backdoor
  plan-type="household"
  current-age="45"
  annual-magi="300000"
  current-401k="24500"
  employer-match="20000"
  existing-trad-ira="0"
  plan-allows-mega="yes">
</retirement-calc-backdoor>

Attributes

AttributeDefaultRange
plan-typehouseholdsingle or household (= MFJ — affects MAGI phase-out threshold)
current-age4525 – 70 (≥50 enables IRA catch-up + 401(k) catch-up; 60-63 enables SECURE 2.0 super catch-up)
annual-magi30000030,000 – 500,000 (household combined modified AGI)
current-401k245000 – 35,750 (your employee 401(k) deferral this year)
employer-match200000 – 50,000 (annual employer match contribution)
existing-trad-ira00 – 1,000,000 (pre-tax Trad IRA balance — triggers pro-rata warning)
plan-allows-megayesyes or no (does your 401(k) support after-tax + Roth conversion?)
refsrc(none)partner attribution tag

Honest scope: 2026 IRS limits (refresh annually with the engine's IRS-limits refresh slice). Models USER's IRA only — for HH plans, the spouse can do the same backdoor strategy independently (effectively doubling the total). Mega Backdoor room is calculated from YOUR plan; spouse's plan has its own separate 415(c) room. Pro-rata rule warning is informational — doesn't compute the actual tax bill (depends on marginal rate). Doesn't model 415(c) reductions for other employer contributions (profit-sharing, etc.) beyond direct match. For multi-year contribution planning + plan modeling, use the full app.

Theming

Override CSS custom properties on the host:

retirement-calc-backdoor {
  --rc-accent: #ff6b35;    /* primary color */
  --rc-bg: #ffffff;        /* card background */
  --rc-surf: #f7f9fc;      /* sub-surface (result area) */
  --rc-text: #1a1f2e;
  --rc-muted: #6a7280;
  --rc-border: rgba(20,30,50,0.10);
  --rc-radius: 12px;
}

Events

The element emits two custom events you can listen to:

document.querySelector('retirement-calc-backdoor')
  .addEventListener('rc-calculated', (e) => {
    console.log('Total Roth potential:', e.detail.totalRoth);     // $ across all 3 strategies
    console.log('Direct Roth IRA:', e.detail.directRoth);         // { limit, status: 'full'|'partial'|'phased_out', phaseoutLow, phaseoutHigh }
    console.log('Backdoor Roth IRA:', e.detail.backdoorRoth);     // { limit, proRataPct, proRataWarning, existingTradIra }
    console.log('Mega Backdoor:', e.detail.megaBackdoor);          // { limit, room, status: 'available'|'plan_doesnt_allow'|'no_room', cap415c }
  });

document.querySelector('retirement-calc-backdoor')
  .addEventListener('rc-cta-clicked', (e) => {
    console.log('User clicked CTA to:', e.detail.url);
  });