How the 401(k) calculator works
Each year the calculator adds your contribution (salary × your percentage) and your employer's match, then grows the whole balance at your expected return. Contributions are assumed to arrive evenly through the year, so they earn about half a year of growth in the year they are made. Your salary rises by the raise percentage each year.
Balance = (Balance × (1 + r)) + (Your contribution + Match) × (1 + r ÷ 2)
Your own contribution is capped at the 2026 IRS elective deferral limit of $24,500. The common "50% match up to 6%" means the employer adds 50 cents for every dollar you put in, on the first 6% of salary.
Worked example
On a $75,000 salary you contribute 8% ($6,000) and your employer matches 50% up to 6% of pay, adding $2,250 in the first year. With $20,000 already saved, 2.5% raises and a 6% return, the balance after 30 years is roughly $1 million, and about $99,000 of your deposits come from the employer. Dropping to 4% would cost you part of that match, because only the first 4% would be matched.
Frequently asked questions
What is the 401(k) limit for 2026?
The IRS elective deferral limit is $24,500 for 2026. Workers 50 and older can add catch-up contributions, with a higher catch-up for ages 60 to 63. Employer contributions count toward a separate, higher overall limit.
How does a 401(k) match work?
The employer contributes a percentage of what you put in, up to a share of your salary. With a 100% match up to 4%, contributing 4% of a $60,000 salary gets you $2,400 from the employer.
Are 401(k) balances taxed?
Traditional 401(k) money is taxed as income when you withdraw it. Roth 401(k) contributions are taxed now and qualified withdrawals are tax free. This calculator shows the pre-tax balance.
What return should I assume?
Long-run planning often uses 5% to 7% for a diversified stock-heavy portfolio before inflation. Returns vary year to year and are not guaranteed.
Updated October 2026. Results are estimates for education, not financial or medical advice. All math runs in your browser; nothing you type is sent anywhere.