The Retirement Account Modeler projects account balances and an estimated tax bill for every year from today to a chosen end age. It is built to compare strategies side by side: when to retire, when to convert to Roth, which account to draw first, when to claim Social Security, and how a change in future tax rates would alter the answer.
It covers seven account buckets: pre-tax 401(k), Roth 401(k), traditional IRA, Roth IRA, HSA, taxable brokerage, and a life insurance retirement plan (LIRP). It handles W-2 employees and self-employed people filing Schedule C.
| Control | What it does |
|---|---|
| Scenario tabs | Switch the active scenario. Up to six scenarios. The first one is the baseline that every comparison measures against. |
| Duplicate / Delete | Copy or remove the active scenario. |
| Today's dollars / Future dollars | Today's dollars divides every amount by cumulative inflation, so values are comparable across ages. Future dollars shows nominal amounts. |
| Edit inputs | On narrow screens, jumps to the input panel, which sits below the results. |
| Reset | Restores the five example scenarios. |
| Tab | Contents | Direct link |
|---|---|---|
| Overview | Flags, account balances by age, tax treatment of the portfolio | usaretirement.life |
| Taxes | Annual tax bill by component, effective and marginal rates | /#taxes |
| Income and expenses | Living expenses by category, retirement cash sources, year-by-year table with CSV copy | /#income |
| Strategies | Power of Zero scorecard, Social Security card and claim-age table | /#strategies |
| Compare | After-tax gap against the baseline, comparison table | /#compare |
| Assumptions | The model's own notes on method and omissions | /#method |
Money inputs are in today's dollars unless stated. Sliders have limits; the number box beside a money slider accepts larger values.
| Input | Meaning | Default |
|---|---|---|
| How you earn | W-2 employee or self-employed (sole proprietor, freelancer, single-member LLC on Schedule C) | W-2 |
| Filing status | Single or married filing jointly | Single |
| Current age, Retirement age, Plan through age | The projection runs one row per age. Earned income stops at retirement age. | 50 / 62 / 95 |
| Salary or net business profit | W-2 wages, or Schedule C net profit when self-employed | $1,000,000 |
| Income growth | Nominal yearly growth of that income | 3% |
| Input | Meaning | Default |
|---|---|---|
| 401(k) pre-tax, Roth 401(k), Traditional IRA, Roth IRA, HSA, Brokerage | Balances today | $1.5M / $100K / $300K / $150K / $60K / $2M |
| Brokerage cost basis | Share of the brokerage balance that is already-taxed basis. The rest is unrealized gain. | 60% |
| Input | Meaning | Default |
|---|---|---|
| Employee deferral, share of limit | Percent of the yearly deferral limit, including catch-up | 100% |
| Roth share of deferral | Split of the base deferral between Roth and pre-tax | 0% |
| Employer contribution | W-2 only. Percent of pay, counted up to the compensation limit. | 4% |
| After-tax 401(k) to Roth | Mega backdoor Roth amount, capped by the total additions limit | $0 |
| IRA each year | None, backdoor Roth, or nondeductible traditional | None |
| HSA coverage | No HSA, self-only, or family. Contributions stop at 65. | Self-only |
| Brokerage savings | Either whatever is left after expenses, or a fixed amount | After expenses |
| Retirement plan (self-employed) | Solo 401(k), SEP-IRA, SIMPLE IRA, or none | Solo 401(k) |
| Employer-side contribution, cash balance plan, health premiums (self-employed) | Share of the maximum employer contribution; an optional defined benefit contribution; deductible health insurance | 100% / $0 / $0 |
| Input | Meaning | Default |
|---|---|---|
| Living expenses while working | After-tax spending. The surplus goes to brokerage; a gap is drawn from it. | $400,000 |
| Living expenses in retirement | Core after-tax spending before the lines below | $300,000 |
| Early / middle / late shares and end ages | Scale core retirement spending by phase | 100% each; 75, 85 |
| Mortgage or fixed housing payment | Yearly, not inflated, until the chosen age | $0 |
| Health insurance before Medicare; Healthcare in retirement; Healthcare inflation | Separate cost lines that grow at their own rate | $0 / $0 / 5% |
| Medical costs paid from HSA | Tax-free HSA withdrawals that cover part of spending | $10,000 |
| Long-term care, years of care | Yearly cost in the final years of the plan | $0, 3 years |
| One-off expenses | Up to four items by name, age and amount | None |
| Input | Meaning | Default |
|---|---|---|
| Your benefit at 67; claiming age | Yearly benefit at full retirement age, adjusted for the age you claim | $50,000; 70 |
| Spouse benefit and claiming age | Joint filers only. Spouse is assumed to be your age. | $0; 67 |
| Benefit cut and start year | A percentage cut to all benefits from a chosen year | 0% |
| Return before / in retirement; Inflation; Dividend yield | Constant nominal rates. Dividends are taxed yearly as qualified. | 6.5% / 5.5% / 2.5% / 1.5% |
| Withdrawal order | Taxable then pre-tax then Roth; pre-tax first; proportional; or Roth first | Taxable first |
| Input | Meaning | Default |
|---|---|---|
| Conversion strategy | None; Power of Zero shift to a target; fill a bracket; fixed amount | None |
| Target; bracket; amount; start and end age | Parameters for the chosen strategy. Conversions can start before retirement. | Ideal; 24%; $200K; 62 to 74 |
| LIRP premium, years, existing value | After-tax premiums paid while working | $0; 10; $0 |
| Crediting rate; policy costs | Net growth is the crediting rate minus costs | 6%; 1.5% |
| Loan start age; annual loan | Tax-free policy loans used as retirement cash | 62; $0 |
| State rate while working / in retirement | Flat effective rates. Set them apart to test a move. | 5% / 5% |
| Itemized deductions | Used only when larger than the standard deduction | $0 |
| Tax rate on pre-tax balances | Haircut applied to pre-tax money in the after-tax value | 30% |
| Future federal tax law | Replaces the seven bracket rates and two capital gains rates from a chosen year. Four presets. | Off |
The engine runs one loop per year of age. Balances carry from one year to the next. Amounts are computed in nominal dollars and converted for display.
Bracket thresholds, the standard deduction, contribution limits, the Social Security wage base, the QBI thresholds and IRMAA tiers all grow at the inflation input from their 2026 values. Three thresholds stay fixed in nominal dollars, as in current law: the net investment income tax threshold, the Additional Medicare Tax threshold, and the Social Security benefit taxation thresholds.12,13,14
RMDs start at 73 for people born 1951 to 1959 and at 75 for people born in 1960 or later, and equal the prior balance divided by the Uniform Lifetime Table factor for that age.15 They apply to the pre-tax 401(k) and traditional IRA. Roth accounts have none.
| Component | Method |
|---|---|
| Ordinary income tax | Wages, pre-tax withdrawals, conversions and taxable Social Security, less the larger of the standard deduction (plus the age-65 addition) or itemized deductions, through the seven brackets.1,2 |
| Capital gains and qualified dividends | Stacked on top of ordinary taxable income at 0%, 15% and 20%.1 Gain on a brokerage withdrawal is the withdrawal times the unrealized-gain share of the account. |
| Net investment income tax | 3.8% of the lesser of investment income or income above the threshold.12 |
| Social Security taxation | The provisional income test, with up to 85% of benefits taxable.14 |
| Payroll tax (W-2) | 6.2% to the wage base, 1.45% on all wages, 0.9% above the Additional Medicare Tax threshold.7,13 HSA payroll contributions are excluded. |
| Self-employment tax | On 92.35% of profit: 12.4% to the wage base, 2.9% on all, 0.9% above the threshold. Half of the first two parts is deducted.16 |
| QBI deduction | 20% of qualified business income, limited to 20% of taxable income less net capital gain, phased out linearly across the threshold range. The model assumes no employees, so it is zero above the range.10 |
| State tax | A flat rate on adjusted gross income excluding taxable Social Security. |
| IRMAA | From age 65, Part B and Part D surcharges per person, by tier, using income from two years earlier.6 |
| Early withdrawal penalty | 10% of pre-tax withdrawals before age 60 and 20% of non-medical HSA withdrawals before 65. |
The ideal balance is the largest pre-tax balance whose first RMD equals the standard deduction at RMD age, discounted back at the return assumption. This follows the bucket approach in David McKnight's The Power of Zero.17 McKnight's fuller test also keeps provisional income under the Social Security thresholds. The scorecard reports that separately.
Conversions come from the traditional IRA first, then the pre-tax 401(k). IRA basis from nondeductible contributions is recovered pro rata. A backdoor Roth contribution is taxed on the pre-tax share of the whole IRA balance.
Cash value grows at the crediting rate less the cost rate. Premiums are added while working. Loans are treated as tax-free cash that does not enter taxable income, the Social Security test or IRMAA income.
The benefit at 67 is scaled by claiming age: 70% at 62, 75% at 63, 80% at 64, 86.67% at 65, 93.33% at 66, 100% at 67, 108% at 68, 116% at 69 and 124% at 70.18 Benefits rise with the inflation input. The claim-age table reruns the whole scenario at 62, 65, 67 and 70.
After-tax value equals Roth, HSA, LIRP and brokerage balances, plus pre-tax balances reduced by the chosen rate, less 23.8% of unrealized brokerage gains (20% capital gains plus 3.8% NIIT). It is the basis for scenario comparison, because a dollar in a pre-tax account is not worth a dollar in a Roth.
These values are hard-coded in the LAW object and indexed forward as described in 5.1.
| Rate | Single | Married filing jointly |
|---|---|---|
| 10% | $12,400 | $24,800 |
| 12% | $50,400 | $100,800 |
| 22% | $105,700 | $211,400 |
| 24% | $201,775 | $403,550 |
| 32% | $256,225 | $512,450 |
| 35% | $640,600 | $768,700 |
| 37% | above | above |
| Item | Single | Married filing jointly | Ref. |
|---|---|---|---|
| Standard deduction | $16,100 | $32,200 | 1 |
| Additional deduction at 65, per person | $2,050 | $1,650 | 1 |
| 0% capital gains up to taxable income of | $49,450 | $98,900 | 1 |
| 15% capital gains up to | $545,500 | $613,700 | 1 |
| NIIT and Additional Medicare Tax threshold (fixed) | $200,000 | $250,000 | 12, 13 |
| Social Security taxation thresholds (fixed) | $25,000 / $34,000 | $32,000 / $44,000 | 14 |
| QBI threshold; phase-in range | $201,750; $75,000 | $403,500; $150,000 | 10 |
| Item | 2026 | Ref. |
|---|---|---|
| 401(k) elective deferral | $24,500 | 3, 4 |
| Catch-up at 50 and over; at 60 to 63 | $8,000; $11,250 | 3, 4 |
| Total additions limit, section 415(c) | $72,000 | 3, 4 |
| Compensation limit, section 401(a)(17) | $360,000 | 3, 4 |
| Roth catch-up wage threshold (prior-year FICA wages) | $150,000 | 4 |
| IRA limit; catch-up at 50 | $7,500; $1,100 | 9 |
| SIMPLE IRA, employers with 25 or fewer employees; catch-up at 50; at 60 to 63 | $18,100; $3,850; $5,250 | 9, 11 |
| HSA self-only; family; catch-up at 55 | $4,400; $8,750; $1,000 | 5 |
| Social Security wage base | $184,500 | 3, 7 |
| Income above (single) | Income above (joint) | Part B | Part D | Combined |
|---|---|---|---|---|
| $109,000 | $218,000 | $81.20 | $14.50 | $95.70 |
| $137,000 | $274,000 | $202.90 | $37.50 | $240.40 |
| $171,000 | $342,000 | $324.60 | $60.40 | $385.00 |
| $205,000 | $410,000 | $446.30 | $83.30 | $529.60 |
| $500,000 | $750,000 | $487.00 | $91.00 | $578.00 |
The model counts the surcharge only. The standard Part B premium ($202.90 a month in 2026) is treated as a living expense.
| Tile | Definition |
|---|---|
| Portfolio at retirement | Sum of all buckets at the start of the retirement year, with its after-tax value |
| Portfolio at end age | Sum at the end of the final year, with after-tax value and the gap against the baseline |
| Lifetime taxes | All tax components summed over the plan, split into working and retired years |
| Tax bill this year | First-year total, effective rate on total income, and federal marginal bracket |
| Largest RMD | The peak required distribution and the age it occurs |
| Plan durability | Funded to the end age, or the age the money runs out |
Plain-language notes generated from the active scenario. Green is informational, amber is a point to review, red is a problem such as a shortfall, a penalty, or an LIRP loan the cash value cannot support.
| Measure | Definition |
|---|---|
| Retirement years at 0% federal tax | Count of retirement years with federal income and capital gains tax under $1 and no shortfall |
| Tax-deferred bucket at RMD age | Pre-tax balance compared with the ideal balance |
| Tax-free share of retirement cash | Roth and LIRP withdrawals, HSA withdrawals and untaxed Social Security, as a share of all retirement cash |
| Social Security that is taxed | Taxable benefits divided by total benefits in retirement |
| Taxable bucket at retirement | Brokerage balance compared with six months of spending |
| LIRP bucket | Loans taken, premiums paid, and cash value left at the end |
The five examples share one person: age 50, single, $1,000,000 salary growing 3%, retiring at 62, spending $400,000 while working and $300,000 in retirement, with the default balances in Section 4. Results below are in today's dollars, from the build of November 12, 2026.
| Scenario | What differs from Baseline | Lifetime taxes | After-tax value at 95 |
|---|---|---|---|
| Baseline | No conversions, taxable-first withdrawals | $7.76M | $5.61M |
| Roth conversions | Fill the 24% bracket from 62 to 74 | $7.90M | $5.92M |
| Higher rates 2031 | 2017-style bracket rates from 2031 | $8.05M | $5.14M |
| Power of Zero | Shift to the ideal balance by 74; $50,000 LIRP premium for 12 years; $25,000 yearly loans from 62 | $7.35M | $5.75M |
| Self-employed | Schedule C; Solo 401(k) at maximum; $150,000 cash balance plan; $24,000 health premiums | $8.07M | $5.45M |
The tax engine was tested against hand calculations before release. All cases matched to the dollar.
| Case | Checked value | Result |
|---|---|---|
| Single, $1M wages, $24,500 deferral, $4,400 HSA | Federal ordinary tax | $309,307.25 |
| Same | Payroll tax | $33,035.60 |
| Joint, $300,000 wages, $50,000 qualified dividends | Ordinary tax; capital gains plus NIIT | $49,468; $9,400 |
| Single retiree at 70: $60,000 Social Security, $40,000 IRA, $30,000 dividends | Taxable Social Security; ordinary tax | $51,000; $10,739 |
| Single, $60,000 long-term gain only | Capital gains tax (0% band) | $0 |
| Self-employed, $1M profit, Solo 401(k) | Self-employment tax; employer contribution | $56,171; $47,500 |
| Self-employed, $120,000 profit, SEP-IRA | SEP contribution; QBI deduction | $22,304.45; $14,623.56 |
| Retirement year cash identity | Sources minus tax, spending and surplus | $0 |
Not validated by hand: the LIRP projection, and any comparison against commercial tax software or a filed return. The version on usaretirement.life was transferred with a checksum match to the tested file, and later edits by the hosting tool were confirmed to leave the calculation code unchanged.
| Item | Location |
|---|---|
| The whole app | One file, public/modeler.html, in the Lovable project "Retirement Account Modeler" |
| Tax parameters | The LAW object at the top of the first script block |
| Default inputs and examples | DEFAULTS and examples() |
| Tax and projection logic | computeTax() and simulate() |
| Host page, deep-link sync, metadata | src/routes/index.tsx |
| Legal, contact, glossary pages | src/routes/ |
| Saved scenarios in the browser | Local storage key ram.v5. Raise the version when input names change, so old saves are ignored. |
baseYear to the new tax year.Ask the hosting tool for small, targeted edits and require confirmation that the script blocks are unchanged. A rewrite of the file can silently alter tax logic.
| Term | Meaning |
|---|---|
| Backdoor Roth | A nondeductible traditional IRA contribution converted to Roth, used when income is too high for a direct Roth contribution |
| Cash balance plan | A defined benefit plan that allows large deductible contributions, often paired with a 401(k) |
| Effective rate | Total tax divided by total income for the year |
| IRMAA | Income-related monthly adjustment amount, a surcharge on Medicare Part B and Part D premiums |
| LIRP | Life insurance retirement plan, a cash value policy funded for tax-free loans in retirement |
| Mega backdoor Roth | After-tax 401(k) contributions converted to Roth, within the total additions limit |
| NIIT | Net investment income tax of 3.8% |
| Pro-rata rule | IRA conversions are taxed in proportion to the pre-tax share of all traditional IRA money |
| Provisional income | Other income plus half of Social Security, used to test how much of the benefit is taxable |
| QBI deduction | Section 199A deduction of up to 20% of qualified business income |
| RMD | Required minimum distribution from pre-tax retirement accounts |
| Today's dollars | Amounts with inflation removed, also called real dollars |
Sources marked checked were opened and read while the model was built in November 2026. Sources marked standard are the governing statute or agency publication, cited from general knowledge and not reopened; confirm them before relying on a figure.
References to tax authorities, Social Security, David McKnight, Power of Zero or financial products are for educational context and do not imply affiliation or endorsement. © 2026 Tomas Aparicio.