β Back to the calculator
π₯ How this calculator works
This page explains everything the engine models, country by country, and β just as important β everything it does not. The calculator is a planning estimate, not advice; the goal of this page is that you never have to guess what's behind a number.
The engine, end to end
Everything is in today's money
All amounts are real (inflation-adjusted). Investment growth uses the real return β your nominal return minus inflation β so a result of "$1.8M at 55" means $1.8M of today's purchasing power. Income growth is treated the same way.
Three account buckets
Your wealth lives in three buckets that are taxed differently: tax-deferred (401(k), RRSP, SIPP, superβ¦) β taxed as income on the way out; tax-free (Roth, TFSA, ISAβ¦) β never taxed again; and taxable (brokerage), where only the gains are taxed, at your country's capital-gains inclusion rate. The taxable bucket tracks cost basis through every contribution and withdrawal.
Working years
- Income tax is computed from your gross salary using your working country's real brackets (and your state/province/canton's second layer where one exists). Tax-deferred contributions reduce taxable income. Couples are taxed separately per person β or jointly (US married-filing-jointly brackets; German/French income splitting) where supported and selected.
- Contributions compound monthly into the three buckets and grow with your income-growth assumption. This year's contributions are validated against your country's registered-account limits (a warning appears if you're above them).
- Life costs: your stated savings rate already covers today's budget, so only changes versus today hit the projection β a future home purchase, a child arriving, a loan being paid off (which frees its payment), an ended mortgage. One-off costs (down payment + purchase taxes, education funds, car replacements) are always charged in the year they happen.
- Net-wealth taxes (Switzerland, Norway, Spain, Dutch Box 3) are charged annually on the portfolio while you're resident.
The FIRE number and retirement age
Your FIRE number is the portfolio that funds your annual need β retirement spending, healthcare (with its age-65 change), and the recurring life costs still active at retirement β grossed up for the taxes you'll pay on withdrawals, using your retirement country's brackets and your account mix. You can retire at the moment you reach it, or at a target age (the plan will show the risk if that's earlier than fully-funded).
Cost of living by city. Your everyday retirement spending β and therefore your FIRE number β can be scaled to where you actually retire. Pick a retirement city and the engine multiplies your day-to-day spending by that city's typical rent relative to the country's national average (bounded to a 0.5β3Γ range, so a single city can't distort the plan). Leave it on the national average for a typical city. This scales only everyday spending; housing and healthcare are set separately, with their own inputs.
Retirement, year by year
- Withdrawals follow your chosen order (tax-smart default, deferred-first, or tax-free-first) and strategy (constant spending, guardrails, fixed percentage, or VPW). Each year the engine solves for the gross withdrawal that nets your spending need after that year's full tax picture.
- That tax picture is age-aware: income tax in your retirement country, Canada's OAS clawback, US Medicare IRMAA surcharges from 65, and (opt-in) the US ACA premium subsidy before 65 β including its hard 400%-of-poverty-line cliff. Roth conversions and forced withdrawals are priced against the same rules, so the engine sees a conversion push you over the ACA cliff or into a clawback.
- Forced minimums β US RMDs, Canadian RRIF minimums, Australian pension-phase minimums β follow the account's country (your 401(k) keeps US rules even if you retire abroad). Forced amounts beyond your spending are taxed and reinvested in the taxable bucket.
- Conversion ladders (Roth/RRSP-style) move tax-deferred money to tax-free in low-income years up to your chosen taxable-income target, paying the marginal tax along the way.
- Pensions (state and private) start at their own ages, convert from their own currencies, and are taxed as income. Estimators are built in for US Social Security, Canadian CPP/OAS, UK State Pension, German Rente, Dutch AOW, Australian Age Pension, Japanese Nenkin, and Singapore CPF LIFE.
- Zakat (optional, sharia mode) β turn this on under "Tax on withdrawals" and the engine charges the obligatory 2.5%-a-year alms on your zakatable wealth (above the nisab, β85g gold) every year, while you save and in retirement. It's modelled on your liquid portfolio, so it delays your FIRE date and draws the pot down over time. Zakat is alms, not a tax, so it's tracked and shown separately. (Whether locked retirement accounts are zakatable is debated among scholars; we apply it to the full portfolio β the higher, more conservative reading. Adjust your own figure if your interpretation differs.) With sharia mode on, the contextual tips also switch to their halal variants β halal investing (screened index funds and sukuk instead of conventional interest-bearing bonds) and Islamic home financing (murabaha / ijara instead of an interest-charging mortgage).
- Estate taxes at the end of the plan: progressive schedules for France, Japan, Korea; Germany's full-amount rate table; flat-above-allowance for the US and UK (allowances doubled for couples); Canada's deemed disposition (the remaining RRSP/RRIF taxed as final income plus realized gains).
Risk: Monte Carlo
Alongside the deterministic path, 1,000 full-lifetime simulations draw lognormal yearly returns around your expected return and volatility. Every simulation runs the same tax, RMD, conversion and life-cost logic. The success rate is the share of runs where the money lasts to the end of the plan; spending-flexibility metrics show how often a guardrails strategy would have cut spending.
Currencies
The plan's base currency is your retirement country's. Salaries earned elsewhere are taxed in their own currency via your editable exchange rate; any money field (and any pension row) can carry its own currency through the small picker beside it, converted at live European Central Bank rates (cached daily, with built-in fallbacks offline).
Guidance layers
On top of the projection: a budget guide comparing your categories against guideline shares of net income; a savings-allocation advisor that orders every dollar you save (employer match β first-home accounts β education grants β special accounts β bracket comparison between deferred and tax-free β taxable); levers showing what most moves your date; withdrawal-order comparison; scenario pin & compare; and a year-by-year CSV export whose tax column sums exactly to the headline lifetime tax.
Privacy
Everything runs in your browser. Your data persists in your browser's local storage and never leaves your device β the only network call is the daily exchange-rate fetch. Saved plan files can be encrypted with AES-256-GCM (key derived from your passphrase with PBKDF2, 310k iterations).
What's modelled for each country
This table is generated from the same data registries the engine runs on β if a feature isn't listed here, the engine genuinely doesn't apply it for that country.
What this calculator does NOT model
Be skeptical of any tool that won't show you this list. Known simplifications and exclusions:
- Contribution-room tracking over time. Limits are validated for this year's contributions and used by the advisor, but the engine does not track your personal carry-forward room (CRA/HMRC balances) year by year.
- Dividend vs. capital-gains taxation. Taxable-account returns are taxed at withdrawal via a single inclusion fraction that approximates each country's effective rate. The US preferential long-term capital-gains brackets (0/15/20%) are approximated this way rather than scheduled exactly, and annual dividend/interest tax drag, qualified-dividend rates, franking credits (AU) and the US NIIT are not separately modelled.
- VAT / sales taxes β implicitly inside your spending figures, never added on top.
- City/municipal income taxes below the state/province/canton layer (e.g. NYC, German church tax), and US AMT.
- US Medicare IRMAA surcharges are priced off your current-year retirement income and the single-filer bands; the real two-year MAGI lookback, and the doubled thresholds and per-beneficiary charge for married-filing-jointly couples, are simplified.
- US Social Security taxation. Your benefit is taxed as ordinary income in full. In reality only up to 85% of it is taxable β and less, down to 0%, for lower-income retirees under the IRS "provisional income" rules β so the plan slightly over-taxes Social Security (and, indirectly, IRMAA) in the years after you claim it. A genuinely conservative simplification; your real tax is a little lower.
- US ACA healthcare (pre-65). When the ACA subsidy is on, the healthcare figure is treated as your gross plan premium before the credit β the engine then applies the income-based premium tax credit on top (correctly capped at that premium, so a plan cheaper than your subsidy nets to ~$0, exactly as real marketplace plans can). Enter the full premium, not your after-subsidy cost, or the credit is double-counted. Out-of-pocket costs beyond premiums (deductibles, copays) aren't separately modelled.
- The headline FIRE number is a point-in-time target. In auto ("when can I retire?") mode it's sized from your spending profile at your traditional retirement age β so once that age is 65+ it uses the post-65 (Medicare) healthcare figure. If you actually reach financial independence well before 65 with a higher pre-65 healthcare cost, the single headline number can read a little optimistically for those early years. The Monte Carlo success rate and the year-by-year projection always charge your true age-specific costs, so lean on those (not the headline alone) when retiring early.
- Accounts left in other countries are captured (balances, their own currency) and their forced-minimum rules follow each account's origin (a frozen RRSP starts RRIF minimums at 72 even inside a US plan) β blended by each origin's share of your tax-deferred money, an approximation that assumes the slices grow and draw down proportionally.
- Account access ages. Withdrawals are assumed penalty-free once retired β Australia's super preservation age (60), the US 59Β½ early-withdrawal penalty, and similar lock-ins are not enforced. Early retirees should hold enough outside locked accounts to bridge.
- Australian superannuation. Concessional contributions are deducted at your marginal rate and then charged the 15% fund contributions tax (only 85% is invested), and super withdrawals are tax-free from age 60 (pension phase) β matching Australia's treatment. Still simplified: the ~15% tax on fund earnings during accumulation (lower in practice after the CGT discount and franking credits, and nil once in pension phase) is not separately applied, so the super balance grows slightly faster than reality; and the preservation age isn't enforced (see account access ages).
- Payroll contributions β CPP/EI (Canada), Social Security/Medicare FICA (US), National Insurance (UK) and similar are not deducted from working income; the model covers income tax only. Net-income figures while working run slightly high as a result.
- Historical backtesting. Risk is modelled with Monte Carlo, not replayed historical sequences β we won't fabricate a data set.
- Asset allocation & glidepaths. One expected return + volatility for the whole portfolio; no stock/bond split, rebalancing, or age-based de-risking.
- Income-driven planning. Savings are what you state, not derived income-minus-spending; raises change contributions only through your growth assumption.
- Currency risk. Exchange rates are snapshots, not simulated β a cross-border plan carries FX risk the Monte Carlo doesn't see.
- Home equity. Your home isn't a withdrawable asset (no sale-downsize modelling, no reverse mortgage); rent vs. buy compares cash flows only.
- Rental/business income beyond what you add manually as recurring cash flows; defined-benefit pension valuation beyond the monthly figure you enter; annuity purchases (except Singapore's CPF LIFE estimate).
- Citizenship-based taxation is modelled for US citizens (the dominant case): abroad, you pay β the higher of your residence country's tax and US tax (the foreign-tax-credit outcome), with the FEIE (~$126,500) sheltering salary first. Simplifications: treaty re-sourcing rules, PFIC fund taxation, state filing obligations, and foreign recognition of Roth accounts are not modelled.
- Tax-treaty specifics. Cross-border plans tax salary in the work country and retirement income in the residence country β a reasonable default, but treaty withholding rates, totalization agreements, and pension-portability details are simplified.
- Cross-border state pensions. A plan whose work and retirement countries differ seeds both government pensions at their full amounts β realistic only if you contributed enough years in each. A career spent mostly in one country earns mainly that country's pension, so refine both figures with the pension estimator (or the wizard's contribution-year question) rather than trusting the default.
- Spousal optimization details β Social Security spousal/survivor claiming strategies, and spousal RRSPs. On filing status: joint-filing systems (US MFJ, German/French splitting) apply the joint schedule in both working and retirement years once you tick "file jointly," and revert to single after a survivor is widowed. But where couples file individually (Canada, UK, Australiaβ¦), per-spouse income-splitting isn't modelled β the household's combined retirement income is taxed on a single schedule, and Canada's OAS clawback likewise uses the combined figure. That's a conservative simplification; a couple who can split income (e.g. Canadian pension-income splitting) will owe a little less than shown.
- Benefit means-testing beyond what's listed (the Australian Age Pension assets test and Canada's OAS clawback are modelled; most other countries' means tests are not).
- Category-specific inflation beyond healthcare and education β healthcare and education funds can each be set to rise faster than CPI (a medical-inflation / tuition-inflation premium that compounds to the year the cost lands); housing, cars and other categories still move with the single inflation rate.
- Sequence-of-returns within a year (annual steps), taxes on death mid-plan (estate tax applies at the horizon), and divorce/inheritance events (model windfalls as one-offs).
Data freshness & corrections
Every bracket, limit and rate lives in one reviewable data file (countries.js) with per-country tax-year stamps, and 240+ automated invariants run against the engine β including hand-derived tax vectors for every country, each audited against official figures. If you find a number that's wrong for your country, it's a data fix, not a rewrite; the maintenance playbook (UPDATING.md) documents the exact annual refresh procedure and the encoding rules.
Spotted a number that's wrong for your country, or something missing? Send feedback β
Estimates for education only β not financial, tax, or legal advice. Verify important numbers with your tax authority or a licensed professional before acting.