Use this 401(k) calculator to estimate how much your account could grow by retirement, including your contributions, employer match, investment returns, fees, and inflation. You will also see simple IRS limit guardrails plus per-paycheck and withdrawal estimates.
Advanced options
Results
How to use our 401(k) Calculator
- Enter your current age and retirement age. The calculator uses this to count how many years your money can grow.
- Type your current 401(k) balance and your annual salary (before taxes).
- Choose how you want to enter your contribution: percent of salary or dollars per year.
- Open Advanced options and enter your contribution amount or percent (whichever matches your choice).
- Set your expected annual return, total fees, and salary increase. If you want results in today dollars, add an inflation rate.
- Choose an employer match type (one-tier or two-tier), then fill in the match rates and match limits from your plan.
- Pick a tax year to turn on IRS limit checks. If your contribution is above the employee limit, the calculator will cap it for the growth math and explain it in the results.
- If you want paycheck planning, choose a pay frequency and (optional) employer true-up setting to see per-paycheck amounts and a match timing note.
- If you want a simple retirement income estimate, set a payout end age, then click Calculate.
Definitions
401(k): A workplace retirement account where you can invest money for the future.
Employee contribution: Money you put into the 401(k) from your paycheck.
Employer match: Extra money your employer adds when you contribute, based on your plan rules (often a percent match up to a salary percent limit).[2]
One-tier match: A single match rate up to one salary-percent limit (example: 50% match up to 6% of salary).
Two-tier match: Two match rates with two limits (example: 100% up to 3%, then 50% up to 5%).[2]
Fees: Ongoing plan and fund costs that reduce your return (modeled here as a percent per year subtracted from return).
Inflation: Prices rising over time; it makes future dollars buy less than today dollars.
Net return after fees: Your expected investment return minus fees. This is the growth rate used in the calculations.
IRS limit (employee deferral limit): A yearly cap on how much you can contribute as an employee, with extra catch-up allowed at certain ages.[1]
Combined limit: A yearly cap on total additions to the plan (employee plus employer), also limited by your compensation.[1]
True-up: A year-end adjustment some employers use to add match you would have earned if you had contributed evenly all year (plan rules vary).[2]
Methodology
1) Time horizon
years_to_retirement = retirement_age - current_age
If retirement age is not greater than current age, the calculator shows an error.
2) Contributions in the first year
If you choose Percent of salary, the employee contribution is salary times your percent. If you choose Dollars per year, it is the dollar amount you type.
employee_contrib_annual = annual_salary * (employee_contrib_percent/100)
employee_contrib_annual = employee_contrib_amount
If the dollar-per-year contribution is greater than annual salary, the calculator shows an error.
3) Employer match (annual)
Match is modeled using common plan formulas: the employer matches your contributions up to a limit that is based on a percent of salary.[2] For the main growth projection, match is applied as an annual amount spread across months (a simple approximation).
matchable_employee = min(employee_contrib_annual, annual_salary*(match_upto_tier1/100))
employer_match_annual = matchable_employee*(match_rate_tier1/100)
c1 = min(employee_contrib_annual, annual_salary*(match_upto_tier1/100))
c2 = min(max(employee_contrib_annual-annual_salary*(match_upto_tier1/100),0), max(annual_salary*(match_upto_tier2/100)-annual_salary*(match_upto_tier1/100),0))
employer_match_annual = c1*(match_rate_tier1/100) + c2*(match_rate_tier2/100)
If you pick two-tier match and tier 2 limit is less than tier 1 limit, the calculator shows an error.
4) Salary growth over time
Salary is increased each year by your salary increase percent. Percent-based contributions and match rise with salary because they are based on salary.
salary_year(y) = annual_salary*(1+salary_growth_rate/100)^(y-1)
5) Net return after fees
Fees are modeled as a simple drag: the yearly fee percent is subtracted from the expected return percent.
net_return = annual_return_rate - total_fee_rate
If net_return is less than or equal to -100%, the calculator shows an error because compounding would break.
6) Monthly accumulation (simulation)
The calculator converts the yearly net return to a monthly rate, then simulates month by month. Each month: last months balance grows, then monthly employee and employer amounts are added.
r_m = (1+net_return/100)^(1/12) - 1
each month: balance = balance*(1+r_m) + employee_contrib_used/12 + employer_match_month/12
employee_contrib_used is the employee contribution after the IRS employee-limit cap (next section). employer_match_month is the first-year annual match divided by 12, with salary and match recalculated each year using the grown salary.
7) IRS guardrails and capping for calculations
For the selected tax year, the calculator looks up the employee deferral limit and a combined employee+employer limit.[1] If your first-year employee contribution is above the employee limit, the calculator still shows your entered amount, but uses a capped amount for the growth math so the projection stays feasible.
employee_contrib_used = min(employee_contrib_annual, employee_limit_for_tax_year_and_age)
The combined-limit check compares employee_contrib_annual plus the estimated first-year employer match to min(combined_limit, annual_salary).[1]
8) Inflation adjustment (today dollars)
To estimate purchasing power, the calculator discounts the retirement balance by inflation for the same number of years.
balance_real_today = balance_nominal / (1+inflation_rate/100)^(years_to_retirement)
If inflation_rate is less than or equal to -100%, the calculator shows an error.
9) Minimum percent to get full match
This is the typical salary percent you must contribute to reach the match cap in your match formula (assuming your contributions are eligible).
min_percent_for_full_match = match_upto_tier1 (one-tier) or match_upto_tier2 (two-tier)
10) Per-paycheck planning and match timing note
Per-paycheck estimates split the first-year employee contribution across your chosen number of paychecks.
employee_per_paycheck = employee_contrib_annual / paychecks_per_year
If your entered contribution is high enough that you could reach the employee limit before year-end, the calculator shows a match timing note. This is because some plans match each paycheck, so maxing out early could reduce match later unless there is a true-up.[2][3]
11) Simple retirement withdrawal estimate
If payout end age is greater than retirement age, the calculator estimates a level monthly withdrawal using the same net return assumption (this is a simplified annuity-style estimate).
n = (payout_end_age - retirement_age)*12
i = (1+net_return/100)^(1/12) - 1
if i==0 then pmt = balance_at_retirement_nominal / n else pmt = balance_at_retirement_nominal * i / (1 - (1+i)^(-n))
If payout_end_age is not greater than retirement_age (or n is 0), withdrawal outputs show N/A.