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.