Using the Fire Planner
Set up your profile, run projections, and stress test your plan
Why Track Your FIRE Progress
Financial independence isn't a single moment. It's a gradual shift. Tracking makes that shift visible. It turns "I want to be financially independent" into "I'm 42% of the way to $1,200,000."
Regular tracking makes goals concrete, reinforces saving habits, prevents lifestyle inflation from eating your progress, and catches problems (like debt growing faster than payments) before they become expensive. You don't need to obsess over daily market movements. But ignoring your finances entirely means you won't notice problems until they're hard to fix.
Setting Up Your Profile
The Fire Planner builds a complete picture of your finances: assets, debts, income, expenses, and one-time events. Everything lives in your browser. Nothing is sent to any server.
Birth Date & Retirement Date
Your birth date drives age calculations throughout the projection. It's especially important for the 59.5 penalty-free age rule: the engine uses it to determine when you can access retirement accounts without penalty.
Your retirement date is when the engine switches from accumulation mode (contributions in, surplus deposited) to withdrawal mode (drawing down assets to cover expenses). Income streams set to "ends at retirement" will stop on this date.
Setting Your FIRE Target
Your FIRE target is the net worth you're working toward. Click the target value to edit it. If you've already used one of the calculators, the tracker can bootstrap from that result. The target drives your milestone percentages (25%, 50%, 75%, 90%) and shows as a horizontal line on the projection chart.
Adding Assets
Add each investment account, savings account, or property you want to track. The tracker supports 9 asset types, each with a sensible default growth rate:
| Type | Default Growth | Description |
|---|---|---|
| Retirement accounts | 7.0% | 401(k), IRA, 403(b) |
| Taxable brokerage | 7.0% | Individual/joint accounts |
| Roth accounts | 7.0% | Roth IRA, Roth 401(k) |
| HSA | 7.0% | Health Savings Account |
| High-yield savings | 4.5% | Emergency fund, cash |
| Real estate equity | 4.0% | Property investments |
| Other | 6.0% | Custom account |
| Cash / checking | 0.0% | Liquid cash, checking |
| Cryptocurrency | 0.0% | Bitcoin, Ethereum, etc. |
Each asset has a Growth rate choice: Market rate or Custom rate. With market rate, the asset uses your global default growth rate (7% by default). Pick custom rate to set your own, which is useful for savings accounts, real estate, or crypto where you want a different assumption.
You can also set a monthly contribution for each asset and enable/disable individual assets without deleting them.
Adding Liabilities
Add debts with a balance, interest rate, and monthly payment. The engine accrues interest monthly, then applies your payment. If your payment doesn't cover the monthly interest, the tracker will show a health warning, because that debt will grow forever.
Debts also have a projected payoff date based on your payment amount, visible in the projection tables.
Adding Income Streams
Income streams represent money coming in. Each has a type, amount, frequency (monthly or annual), optional start/end dates, and an annual growth rate:
| Type | Default Growth |
|---|---|
| Salary | 3.0% |
| Social Security | 2.0% |
| Pension | 0.0% |
| Rental Income | 3.0% |
| Side Income | 0.0% |
| Other | 0.0% |
Set the end date to "At retirement" for income that stops when you retire (like salary). Use explicit dates for income that starts later (like Social Security at 67).
Adding Expenses
Expenses inflate over time. Each category has its own default inflation rate because healthcare costs rise faster than groceries:
| Category | Default Inflation |
|---|---|
| Healthcare | 5.0% |
| Insurance | 4.0% |
| Housing | 3.0% |
| Food & Groceries | 3.0% |
| Transportation | 3.0% |
| Utilities | 3.0% |
| Other | 3.0% |
| Discretionary | 2.5% |
Like income, expenses support time bounds (start/end dates), monthly or annual frequency, and custom inflation rates per item. If you add expenses, the engine uses them to calculate your suggested FIRE number (annual expenses × 25).
One-Time Events
One-time events model windfalls or large expenses that happen on a specific date. Positive amounts are inflows (inheritance, bonus, home sale), negative amounts are outflows (wedding, home purchase, medical bill).
You can optionally target a specific asset for the event. If no target is set, the event applies to your designated surplus asset. Events are applied during the projection at the month they occur.
Running Projections
Projections run automatically whenever your data changes. The engine simulates every month from now until 50 years out (configurable), applying growth, contributions, debt payments, income, expenses, and withdrawals. For the exact math, see How Projections Work.
Reading the Chart
The projection chart shows a stacked area graph of your assets over time. Each asset type is a different color, stacked to show your total portfolio composition. Key markers:
- FIRE target line: horizontal line at your target net worth
- Retirement line: vertical line at your retirement date
- Net worth line: your total net worth trajectory (assets minus liabilities)
- Plan line: a dashed line of your plan as you first set it up, to compare your check-ins against
Projection Tables
Below the chart, five tabs break down the numbers:
- Summary: net worth by month, with the change in net worth, assets, liabilities and cash flow
- Assets: per-asset balances, growth, contributions, and surplus deposits
- Liabilities: per-debt balances, interest, and payments
- Cash flow: income, expenses, surplus, and net cash flow by month
- Withdrawals: which accounts are drawn from during retirement, amounts, and early withdrawal flags
Advanced Analysis
The standard projection shows what happens if growth rates stay constant. Real markets don't work that way. The Monte Carlo and backtest cards in the Settings column test your plan against randomness and history, each on demand.
Monte Carlo Simulation
Instead of one fixed-growth projection, Monte Carlo runs hundreds or thousands of randomized scenarios. Each run applies a different sequence of monthly returns drawn from a lognormal distribution, so you see the range of possible outcomes instead of a single line.
Two settings to configure:
- Simulations: how many runs (100-5,000). More runs = smoother results, but takes longer. 1,000 is a good starting point.
- Yearly market swings (volatility): how much returns swing year-to-year (1-40%, default 15%). 15% matches historical S&P 500 volatility. Increase it for a more aggressive stress test.
The result chart shows percentile bands (P10, P25, P50, P75, P90) of your portfolio value over time. The result reads like "76.6% of simulations lasted to 2070": the share of runs where your money lasted to your "Money must last until" year. When the typical run runs out sooner, the chart marks the year. Only market-rate assets get randomized. Assets with custom growth rates keep their fixed returns.
Click "Run simulation" to start. Results clear automatically when you change any input. For the math behind it, see Monte Carlo calculations.
Historical Backtesting
Backtesting answers: "Would my plan have survived every historical period since 1871?" It replays your exact profile against real S&P 500 monthly returns from the Shiller dataset, one run per January the data covers: 105 historical starting years for a 50-year projection, 125 for a 30-year one.
The result chart shows the same percentile bands as Monte Carlo, plus labels for the worst-case and best-case starting years. "90% of historical periods lasted to 2070" means your money would have lasted to your end year in 90% of all historical starting years.
No configuration needed. Just click "Run backtest".
Portfolio Survival Heatmap
The heatmap appears under the backtest once it has run. It's a Trinity Study-style grid: withdrawal rates from 3.0% to 6.0% (rows) against all years and each starting decade (columns). Each cell prints the share of starting years where the money lasted, on a colorblind-safe Viridis scale from dark purple (most ran out) to yellow (all lasted).
It is not your plan. It tests a 100% stock portfolio (S&P 500 with dividends) that withdraws a fixed share of its starting value, raised each year with actual inflation, over your retirement length (retirement date to end year). Your income, spending, accounts and stress tests are ignored; the backtest above covers those. Use it for a quick answer to "how safe is my withdrawal rate?" across 150+ years of market data.
Contributions vs Growth Chart
Always visible below the projection chart, regardless of analysis mode. A stacked area chart showing two components of your portfolio over time:
- Contributions: money you put in (monthly contributions + surplus deposits)
- Growth: money the market generated (compound returns)
The chart annotates the crossover point: the year when cumulative growth exceeds cumulative contributions. After this point, the market has made you more money than you've invested. For most people at 7% growth, this happens around year 10-15.
Sankey Cash Flow Diagram
The Sankey diagram visualizes where your money flows in any given projection year. Select a year with the year picker, and toggle between monthly and annual views.
During accumulation, the diagram shows income sources flowing into expenses, debt payments, asset contributions, and surplus. During retirement, it flips: asset withdrawals and any remaining income flow into expenses and debt payments.
If your tracked income doesn't cover all outflows while you're still working, the gap is withdrawn from your savings and shows up as a source, just like in retirement. If your savings are empty, the diagram adds a "Shortfall (unfunded)" source for the part nothing covers.
Stress Testing Your Plan
A plan that only works in perfect conditions isn't a plan. The stress testing panel in the Settings column lets you toggle five scenarios to see how your finances hold up under pressure. Each scenario modifies the projection independently, so you can enable as many as you want simultaneously. For the exact formulas, see stress test calculations.
Market Crash
Question it answers: What if the market drops 30% in 2 years?
Simulates an immediate percentage drop in risky assets (stocks, real estate, crypto) at a specified year (0-50), followed by a recovery period (1-50 years) with reduced growth. Drop severity ranges from 1-95%. Cash and savings accounts are protected. Defaults: 30% drop in year 2, 5-year recovery.
Lower Returns
Question it answers: What if the next few decades underperform historical averages?
Permanently subtracts a percentage (0-15%) from every asset's growth rate and the global default rate. A 2% reduction turns 7% growth into 5%. Default: reduce by 2%.
Income Loss
Question it answers: What if I lose all income in 3 years?
Zeroes out all income streams starting at the specified year (0-50). Permanently. This is a worst-case scenario for job loss without replacement. Default: income stops in year 3.
Expense Spike
Question it answers: What if my expenses jump 50%?
Multiplies all expenses by a percentage increase (1-500%) starting at the specified year (0-50). Permanent from that point forward. Useful for modeling a health crisis, new dependents, or relocation. Defaults: +50% in year 2.
High Inflation
Question it answers: What if inflation spikes to 6% for 3 years?
Overrides the default inflation rate (1-30%) for a time-limited window (1-20 years), starting 0-30 years out. Unlike other stress tests, this one ends. Inflation returns to your base rate after the duration. Defaults: 6% inflation starting immediately, lasting 3 years.
What If I Retire Earlier or Later?
This isn't a stress test. To try a different retirement date, change it in Settings. The hero's “You can retire …” line shows the earliest date your plan works.
Withdrawal Strategies
Once you pass your retirement date, the engine needs to decide which accounts to pull from. The withdrawal strategy controls the order. For the exact calculations, see retirement withdrawal calculations.
Tax-Efficient (Default)
Depletes accounts in a tax-optimized order, one at a time:
- Taxable accounts (brokerage, savings, cash)
- Traditional retirement accounts (401k, IRA, HSA)
- Roth accounts (Roth IRA, Roth 401k)
- Everything else
The idea: spend taxable money first, let tax-advantaged accounts compound as long as possible, and save Roth (tax-free) for last.
Proportional
Withdraws from all eligible accounts simultaneously, proportional to their balance. If your brokerage holds 60% of your total and your 401k holds 40%, withdrawals are split 60/40. This keeps your asset allocation roughly constant through retirement.
Custom Order
Drag and drop your accounts into your preferred withdrawal sequence. The engine drains them in your specified order, one at a time. Use this if you have a specific strategy (e.g., drain a particular account first for tax bracket management).
The 59.5 Rule
When enabled, the engine skips retirement accounts (401k, IRA, Roth, HSA) if you're younger than 59.5. It withdraws only from non-retirement accounts first. If those run dry and you still need money, it pulls from retirement accounts anyway and flags those withdrawals as early withdrawals in the projection tables as a warning that real-world penalties would apply.
This matters most for early retirees. If you're retiring at 45, you need enough in taxable accounts to bridge the gap until 59.5.
Tracking Over Time
Check-Ins
A check-in is a snapshot of your actual balances at a point in time. Click + Add in the Check-ins section to record current values for any asset or liability. The tracker shows the delta (change) from each entity's previous balance and the total after the update.
You can backdate check-ins if you forgot to log one. History is displayed in reverse chronological order, and individual entries can be deleted.
Recommended frequency: Monthly, on the same day. Consistent timing makes trends visible. Quarterly works if you prefer less maintenance.
Prefer to keep your own record? The FIRE tracker spreadsheet does the same monthly log in Excel or Google Sheets: net worth, contributions vs growth, and milestone dates, with no account required.
Milestones
The tracker uses a 25-50-75-90% framework based on your FIRE target. Each milestone represents a psychological shift:
- 25% (Foundation): Real momentum. The hardest part (starting) is behind you.
- 50% (Halfway): Your investments earn roughly as much as you contribute. FIRE starts feeling inevitable.
- 75% (Three quarters): Depending on your age and expected returns, you may already be past your Coast FIRE number: compound growth alone could carry you the rest of the way. (What is Coast FIRE?)
- 90% (Final stretch): One good market year could push you over. Start planning what you'll actually do when work becomes optional.
The four milestones are ticks under the progress bar at the top, and the line below names the next one and its amount. A check-in that crosses one says so, once per milestone.
Ahead or Behind Plan
The planner keeps your plan as you first set it up (it follows your edits for the rest of that day, then stays fixed). After each check-in, the top of the page says how far ahead of or behind that plan you are, and the projection chart draws the plan as a dashed line.
Multiple Plans
Keep up to 5 plans in the "My plan" menu: duplicate your plan to test a change (retire earlier, a career switch, a bigger savings rate), rename or delete plans, and switch between them. Compare shows every plan in one table: earliest FI date, net worth at the end year, and whether the money lasts. Plans live in this browser only, with no account. Open the planner in two tabs and a change in one reloads the other, so neither saves over the other.
Health Warnings
The tracker monitors your data for mathematical inconsistencies and flags them automatically. Warnings don't block anything. They're informational. There are five types:
| Warning | Severity | What It Means |
|---|---|---|
| Debt won't pay off | Critical | Monthly payment doesn't cover interest, so the debt grows forever |
| Negative interest rate | Moderate | A liability has a negative rate, which is unusual for debt |
| No income entered | Moderate | You have assets plus spending or contributions, but no income before retirement, so savings pay for both until you retire |
| High growth rate | Info | An asset has a custom growth rate above 25%: possible but aggressive |
| Negative growth rate | Info | An asset has a custom growth rate below -10%: intentional for depreciating assets, likely an error otherwise |
You can dismiss individual warnings or dismiss all at once. Dismissed warnings automatically reappear after 7 days or when the underlying data changes. Warnings also auto-clear when you fix the issue (e.g., increase a debt payment above the interest amount).
Sharing, Export, and Import
Shareable Snapshots
Click Share to generate a URL that encodes your entire profile. The link uses base64 encoding, so no data is stored on any server. Anyone who opens the link sees your profile in sandbox mode: they can explore and change the projections and charts, but nothing is saved and their own data is untouched.
Sandbox visitors can save the snapshot to their own profile if they want to use it as a starting point. It is added as a new plan named "Shared plan", next to their own (if they already have 5 plans, they need to delete one first).
CSV Export
Export your check-in history as a CSV file. The export includes a date, entity name, type, previous balance, new balance, change, and total after each check-in. It also embeds a full backup of your profile data as a base64-encoded section at the bottom of the file.
CSV Import
Import a previously exported CSV file to restore your profile. The import reads the embedded backup section and replaces the plan you have open (your other plans stay). You'll see a confirmation prompt before anything is overwritten. The validator checks that the backup contains at minimum an assets array and check-ins array.
Clearing Data
The Clear all data button deletes everything, in every plan: assets, liabilities, income, expenses, events, check-ins, and settings. You'll see a confirmation prompt. This cannot be undone. The page reloads after clearing to reset all state.
FAQ
Monthly works for most people. Frequent enough to catch issues and reinforce saving habits, infrequent enough to avoid obsessing over market swings. Quarterly is fine if you prefer less maintenance. The key is consistency: pick a schedule and stick to it.
Yes. All data stays in your browser's localStorage. Nothing is sent to any server. Your financial data never leaves your device. Shareable snapshots encode data in the URL itself, so there's still no server involved.
Only if you plan to access it in retirement. Downsizing or reverse mortgage? Include it as a Real estate equity asset. Living there forever? Leave it out. It won't generate retirement income. Many people track "investable assets" and "total net worth" as separate plans.
Log the real number. Tracking through downturns shows your true progress over time and reminds you that you kept investing through tough periods. Use the stress testing feature to see how a crash would affect your long-term plan before it happens.
Yes. Add all joint accounts as separate assets. The tracker doesn't care who owns what. It sums everything toward your shared FIRE target. For separate tracking, keep a separate plan for each of you (up to 5 plans per browser).
All milestone percentages recalculate immediately. Your check-in history stays the same (balances don't change), but your progress percentage shifts. This is expected. Life circumstances change and your target should reflect that.
Click the Share button to generate a URL that encodes your entire profile as a base64 string. Anyone with the link sees your profile in read-only sandbox mode. No data is stored on any server. The profile lives entirely in the URL. Recipients can save the snapshot to their own browser if they want to use it as a starting point.
The Fire Planner is designed to be as simple or detailed as you need. Start with a few assets and your FIRE target. Add income, expenses, and stress tests as you get comfortable. The projections get more useful the more context you give them.
Put it into a plan with your own numbers.