{
  "slug": "529-drawdown",
  "title": "529 Plan Drawdown Calculator",
  "heading": "529 Plan Drawdown Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/529-drawdown",
  "summary": "How long a 529 balance lasts against tuition, and the annual gap to fund out of pocket.",
  "description": "Families often know their 529 balance but not whether it actually covers the years ahead once tuition inflation and continued account growth are both running at the same time. This calculator draws down the balance year by year against a rising cost of attendance, applies investment growth to what's left, and reports how many years are fully covered plus the total shortfall you'd need to cover from other sources.",
  "formula": "Each year: balance grows at return rate, then withdrawal = current cost of attendance is subtracted. Shortfall = years where withdrawal exceeds balance.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=529-drawdown",
  "inputs": [
    {
      "id": "balance",
      "label": "Current 529 balance",
      "kind": "number",
      "hint": null,
      "default": 45000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "annualCost",
      "label": "Current annual cost of attendance",
      "kind": "number",
      "hint": null,
      "default": 28000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "years",
      "label": "Years of school remaining",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": null,
      "min": 1,
      "max": 8
    },
    {
      "id": "costInflation",
      "label": "Tuition/cost inflation",
      "kind": "number",
      "hint": null,
      "default": 5,
      "unit": "%",
      "min": 0,
      "max": 15
    },
    {
      "id": "returnRate",
      "label": "Expected account return",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": "%",
      "min": 0,
      "max": 12
    },
    {
      "id": "annualContribution",
      "label": "Additional contributions per year",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "yearsCovered",
      "label": "Years fully covered",
      "format": "number",
      "hint": null,
      "primary": true
    },
    {
      "id": "shortfall",
      "label": "Total shortfall to fund elsewhere",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "endingBalance",
      "label": "Balance remaining at end",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "fullyCovered",
      "label": "All years fully funded?",
      "format": "raw",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Current 529 balance: 45000 $",
      "Current annual cost of attendance: 28000 $",
      "Years of school remaining: 4",
      "Tuition/cost inflation: 5 %",
      "Expected account return: 4 %",
      "Additional contributions per year: 0 $"
    ],
    "outputs": [
      "Years fully covered: 1",
      "Total shortfall to fund elsewhere: $73,132",
      "Balance remaining at end: $0",
      "All years fully funded?: No"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter current 529 balance ($).",
      "Enter current annual cost of attendance ($).",
      "Enter years of school remaining.",
      "Enter tuition/cost inflation (%).",
      "Enter expected account return (%).",
      "Enter additional contributions per year ($).",
      "Read your years fully covered 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": 27000,
        "annualCost": 17000,
        "years": 2,
        "costInflation": 3,
        "returnRate": 2.4,
        "annualContribution": 0
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "balance": 45000,
        "annualCost": 28000,
        "years": 4,
        "costInflation": 5,
        "returnRate": 4,
        "annualContribution": 0
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "balance": 72000,
        "annualCost": 45000,
        "years": 6,
        "costInflation": 8,
        "returnRate": 6.4,
        "annualContribution": 0
      }
    }
  ],
  "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": "Should I withdraw a fixed amount or the full cost each year?",
      "a": "This model withdraws the full annual cost of attendance each year, which is the typical approach since 529 funds are meant to cover qualified expenses as they occur, not to be rationed like a retirement account."
    },
    {
      "q": "What if my 529 return assumption is wrong?",
      "a": "Run this twice with a conservative (2-3%) and optimistic (6-7%) return to see the range of outcomes. Accounts near the withdrawal phase are usually shifted to conservative allocations, so don't assume the same growth rate you'd use for a newborn's account."
    },
    {
      "q": "Does this count room and board?",
      "a": "Include it in 'annual cost of attendance' if you plan to use 529 funds for it — room and board are qualified expenses up to the school's published cost of attendance, even for off-campus housing."
    },
    {
      "q": "What happens to the shortfall amount?",
      "a": "It represents money you'd need from income, loans, scholarships, or other savings in that specific year. It is not spread evenly — check which years carry the biggest gaps so you can plan financial aid applications or loan timing accordingly."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/private-school-vs-public-cost-delta",
    "https://www.revenuelab.fyi/toolbox/homeschool-annual-budget"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — 529 Plan Drawdown Calculator (https://www.revenuelab.fyi/toolbox/529-drawdown)"
}