{
  "slug": "401k",
  "title": "401(k) Calculator",
  "heading": "401(k) Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/401k",
  "summary": "Project your balance at retirement including the employer match.",
  "description": "An employer match is an instant, guaranteed return on your contribution — usually the highest return available anywhere. This projects your balance with contributions, match, salary growth, and compounding.",
  "formula": "Balance compounds monthly on the sum of your contribution and the matched portion.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=401k",
  "inputs": [
    {
      "id": "balance",
      "label": "Current balance",
      "kind": "number",
      "hint": null,
      "default": 48000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "salary",
      "label": "Annual salary",
      "kind": "number",
      "hint": null,
      "default": 95000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "contribPct",
      "label": "Your contribution",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "%",
      "min": 0,
      "max": 60
    },
    {
      "id": "matchPct",
      "label": "Employer match",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": "% of salary",
      "min": 0,
      "max": 20
    },
    {
      "id": "years",
      "label": "Years to retirement",
      "kind": "number",
      "hint": null,
      "default": 25,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "returnPct",
      "label": "Annual return",
      "kind": "number",
      "hint": null,
      "default": 7,
      "unit": "%",
      "min": 0,
      "max": null
    },
    {
      "id": "raisePct",
      "label": "Annual raise",
      "kind": "number",
      "hint": null,
      "default": 2.5,
      "unit": "%",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "balance",
      "label": "Balance at retirement",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "contributed",
      "label": "Your contributions",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "matched",
      "label": "Employer match",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "growth",
      "label": "Investment growth",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Current balance: 48000 $",
      "Annual salary: 95000 $",
      "Your contribution: 8 %",
      "Employer match: 4 % of salary",
      "Years to retirement: 25",
      "Annual return: 7 %",
      "Annual raise: 2.5 %"
    ],
    "outputs": [
      "Balance at retirement: $1,238,630.95",
      "Your contributions: $259,599.01",
      "Employer match: $129,799.50",
      "Investment growth: $801,232.45"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter current balance ($).",
      "Enter annual salary ($).",
      "Enter your contribution (%).",
      "Enter employer match (% of salary).",
      "Enter years to retirement.",
      "Enter annual return (%).",
      "Enter annual raise (%).",
      "Read your balance at retirement on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "balance": 29000,
        "salary": 57000,
        "contribPct": 4.8,
        "matchPct": 2.4,
        "years": 15,
        "returnPct": 4.2,
        "raisePct": 1.5
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "balance": 48000,
        "salary": 95000,
        "contribPct": 8,
        "matchPct": 4,
        "years": 25,
        "returnPct": 7,
        "raisePct": 2.5
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "balance": 77000,
        "salary": 152000,
        "contribPct": 12.8,
        "matchPct": 6.4,
        "years": 40,
        "returnPct": 11.200000000000001,
        "raisePct": 4
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "How does the 401(k) calculator work?",
      "a": "An employer match is an instant, guaranteed return on your contribution — usually the highest return available anywhere. This projects your balance with contributions, match, salary growth, and compounding. The underlying maths is: Balance compounds monthly on the sum of your contribution and the matched portion."
    },
    {
      "q": "What do I need to enter?",
      "a": "7 values: current balance, annual salary, your contribution, employer match, years to retirement, annual return, and annual raise. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the balance at retirement result mean?",
      "a": "It is returned as a money amount in US dollars and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Results are estimates before tax, fees, and inflation unless an input explicitly covers them."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone comparing money scenarios before committing — budgeting a payment, sanity-checking a quote, or seeing what a change in rate or term actually costs."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/retirement",
    "https://www.revenuelab.fyi/toolbox/roth-ira"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — 401(k) Calculator (https://www.revenuelab.fyi/toolbox/401k)"
}