Code tool

Fat FIRE Calculator

Calculate a spending-based Fat FIRE target, the first month it is reached and complete year-end balances using your own savings, contributions and real growth rate.

In-browser processingNo account requiredPrivacy details ↗
Optional withdrawal-rate comparisons (up to 20; enter your own rates)

F = E / (w / 100); i = r / 1200; each month V = (V + C) × (1 + i). Contributions enter at the start of the month. M is the first whole month reaching F; M = 0 if S ≥ F or F = 0. The year table continues through all 12 months of year ceil(M / 12); it is empty when M = 0. Optional comparisons use 100 / rate, E / (rate / 100) and floor(100 / rate).

This uses the figures you supply with constant monthly contributions and growth. Inputs and reports stay in this browser. It does not evaluate lifetime spending, market returns, taxes, fees, pensions or investment choices. No growth or withdrawal rate is suggested.

Results use JavaScript String numeric output and reports preserve raw inputs. With zero growth, the target month is rounded upward using exact arithmetic on the original decimal inputs; with positive growth, each month uses JavaScript arithmetic. Overflow, positive underflow and a positive contribution or growth increment lost to numeric precision are rejected. This is arithmetic on the supplied figures.

Fill every core field and the currency label, then calculate.

A QUICK WALKTHROUGH

How to use this tool

  1. Enter a currency label and all five numbers; fields start blank, including both rates.
  2. Calculate the first target month, then compare it with the separately shown final year end and every annual row.
  3. Optionally add up to 20 withdrawal rates; copy the full report or download TXT and CSV.

Monthly arithmetic

F = E / (w / 100); i = r / 1200; each month V = (V + C) × (1 + i). Contributions enter at the start of the month. M is the first whole month reaching F; M = 0 if S ≥ F or F = 0. The year table continues through all 12 months of year ceil(M / 12); it is empty when M = 0. Optional comparisons use 100 / rate, E / (rate / 100) and floor(100 / rate).

Scope and numeric precision

This uses the figures you supply with constant monthly contributions and growth. Inputs and reports stay in this browser. It does not evaluate lifetime spending, market returns, taxes, fees, pensions or investment choices. No growth or withdrawal rate is suggested. Results use JavaScript String numeric output and reports preserve raw inputs. With zero growth, the target month is rounded upward using exact arithmetic on the original decimal inputs; with positive growth, each month uses JavaScript arithmetic. Overflow, positive underflow and a positive contribution or growth increment lost to numeric precision are rejected. This is arithmetic on the supplied figures.

Optional withdrawal-rate comparisons (up to 20; enter your own rates)

It is floor(100 / rate): complete years of unchanged annual spending if there is no real growth. It is not a lifetime withdrawal test. No comparison rows or rates are prefilled.

GOOD TO KNOW

Common questions

What does Fat FIRE mean here?

It names a spending-based target. There is no preset threshold for a larger lifestyle: you provide annual spending and a first-year withdrawal percentage.

Why can the final year-end pot exceed the reached pot?

The first target month may fall before year end. Monthly contributions and growth continue through the remaining months of that final year so the annual table contains full years.

What does the comparison spending-years column measure?

It is floor(100 / rate): complete years of unchanged annual spending if there is no real growth. It is not a lifetime withdrawal test. No comparison rows or rates are prefilled.