Skip to content
πŸ› οΈToolsShed

FIRE Calculator

Calculate your Financial Independence number and years to retirement.

About this tool

FIRE (Financial Independence, Retire Early) is a movement focused on achieving financial freedom through aggressive saving and strategic investing. This calculator helps you determine the exact number you need to reach financial independence and how many years of consistent effort it will take. Whether you're 25 or 55, understanding your FIRE number gives you a clear, quantifiable target that transforms retirement from an abstract dream into a concrete, achievable goal.

To use the calculator, enter your current age, desired retirement age, annual savings amount, and expected annual investment return percentage. The tool instantly computes your FIRE number (the total wealth needed to retire comfortably) based on the 4% rule, which suggests you can safely withdraw 4% of your portfolio annually without running out of money. It also shows how many years remain until your target retirement date, helping you assess whether your current savings rate is realistic or if you need to adjust your strategy.

Frequently Asked Questions

Code Implementation

import math

def fire_number(annual_expenses, withdrawal_rate=0.04):
    """FIRE number using the safe withdrawal rate rule."""
    return round(annual_expenses / withdrawal_rate, 2)

def years_to_fire(current_savings, annual_savings, fire_target, annual_return=0.07):
    """Estimate years to reach FIRE using compound growth formula."""
    r = annual_return
    if r == 0:
        return (fire_target - current_savings) / annual_savings
    # FV = PV*(1+r)^n + PMT*((1+r)^n - 1)/r = fire_target
    # Solve numerically year by year
    portfolio = current_savings
    for year in range(1, 1000):
        portfolio = portfolio * (1 + r) + annual_savings
        if portfolio >= fire_target:
            return year
    return float("inf")

# Example
annual_expenses = 40000
target = fire_number(annual_expenses)         # 1,000,000
print(f"FIRE Number: ${target:,.0f}")
years = years_to_fire(50000, 24000, target)   # ~19 years
print(f"Years to FIRE: {years}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.