✦ Free Calculator

Is 4% safe — or is your real number something else?

The 4% rule is a 30-year-horizon shortcut treated like universal law. This calculator doesn't repeat it — it runs a real 1,000-scenario simulation against your own portfolio and horizon, and shows you the withdrawal rate that actually holds up. Drop it into your own article in one script tag, and it looks like it was built for your site, not bolted onto it.

Sibling of <retirement-calc-age> — same engine, different question.

Full explanation: Is the 4% Rule Still Safe? →

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.

the4percentfiles.com/blog/is-4-percent-still-safe-for-fire
Withdrawal Strategy · 7 min read

Is the 4% Rule Still Safe — Or Just Familiar?

4%
The 4% Files
Safe withdrawal rate research for the FIRE community

Every FIRE forum thread eventually lands on the same number: 4%. It gets cited like a law of physics. It isn't — it's the output of one historical study, built around one specific time horizon, and a lot of early-retirees are quietly applying it somewhere it was never tested.

Where 4% actually comes from

The number traces back to William Bengen's research in the 1990s, later formalized by the Trinity Study: a look back across historical U.S. market returns to find a withdrawal rate that would have survived every rolling 30-year retirement in the dataset. Thirty years. Not forty. Not fifty. The study answered "what held up for a traditional retirement," and FIRE borrowed the headline number without borrowing the fine print.

Why a 40+ year horizon changes the math

Retire at 40 with a 50-year runway and you're asking your portfolio to survive nearly double the original test window. A rate that survived every 30-year stretch in the historical record isn't guaranteed to survive a 50-year one — more years means more exposure to a bad decade showing up somewhere in the sequence. The honest safe rate for a FIRE-length retirement is usually lower than 4%, and by how much depends on your actual allocation and spending flexibility, not a rule of thumb.

A rate that held for 30 years wasn't tested for 50 — the extra decades are exactly where the risk lives.

Sequence risk beats average returns

Two retirees can face the identical average return over their retirement and end up in completely different places, because it's the order the returns arrive in — not the average — that determines whether a portfolio survives. A sharp downturn in the first five to ten years, while you're still drawing down, does far more damage than the same downturn arriving decades later after growth has built a larger cushion. A single "average return" projection hides this entirely.

Try it with your own numbers

The calculator to the right runs a real Monte Carlo simulation — not an average, a distribution of a thousand possible futures — over your actual savings and horizon, and reports the rate that holds up with real confidence. Compare it to the flat 4% rule side by side.

Try it

That's the exact <retirement-calc-swr> 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 (single, defaults)

Themed (orange accent, FIRE-leaning household, pre-seeded)

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-swr {
  --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/swr.js"></script>

<retirement-calc-swr></retirement-calc-swr>

Or pre-seed values relevant to your audience:

<retirement-calc-swr
  plan-type="household"
  current-age="45"
  retirement-age="50"
  nest-egg="2000000"
  life-expectancy="95"
  spouse-current-age="43"
  spouse-retirement-age="50"
  spouse-life-expectancy="97">
</retirement-calc-swr>

Attributes

AttributeDefaultRange
plan-typesinglesingle or household
current-age6535 – 80
retirement-age65currentAge – 80 (retiring today valid)
nest-egg1000000100,000 – 10,000,000 (portfolio at retirement)
life-expectancy90retirementAge + 5 – 100 (defines retirement horizon)
spouse-current-age6335 – 80 (household only)
spouse-retirement-age63spouseCurrentAge – 80 (household only)
spouse-life-expectancy92spouseRetirementAge + 5 – 100 (household only)
refsrc(none)partner attribution tag

Honest scope: Portfolio-only — Social Security and other guaranteed income would let you spend more. The portfolio-only framing matches the original Trinity Study + Bengen 4% rule assumption, so the comparison is apples-to-apples. 85% confidence target over your actual retirement horizon (retirementAge to lifeExpectancy). Engine assumes 3% inflation. Compare to the static 4% rule's 95%-confidence-over-30-years framing.

Theming

Override CSS custom properties on the host:

retirement-calc-swr {
  --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-swr')
  .addEventListener('rc-calculated', (e) => {
    console.log('Honest SWR:', e.detail.swrPct + '%');
    console.log('Monthly at SWR:', e.detail.monthlyAtSwr);
    console.log('4% rule monthly:', e.detail.fourPctMonthly);
    console.log('Verdict copy:', e.detail.verdict);
  });

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