{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/calculator/retirement-calculator/schema.json",
  "title": "Retirement Calculator inputs",
  "description": "Project retirement savings and compare them with an optional income target.",
  "type": "object",
  "properties": {
    "currentAge": {
      "title": "Current age",
      "type": "number",
      "default": 35,
      "minimum": 18,
      "maximum": 100,
      "x-step": 1,
      "multipleOf": 1
    },
    "retirementAge": {
      "title": "Retirement age",
      "type": "number",
      "default": 65,
      "minimum": 19,
      "maximum": 100,
      "x-step": 1,
      "multipleOf": 1
    },
    "currentSavings": {
      "title": "Current retirement savings",
      "type": "number",
      "default": 50000,
      "minimum": 0,
      "x-step": 1000,
      "multipleOf": 1000,
      "x-unit": "currency"
    },
    "monthlyContribution": {
      "title": "Monthly contribution",
      "type": "number",
      "default": 800,
      "minimum": 0,
      "x-step": 50,
      "multipleOf": 50,
      "x-unit": "currency"
    },
    "annualReturn": {
      "title": "Annual return",
      "type": "number",
      "default": 7,
      "minimum": 0,
      "maximum": 30,
      "x-step": 0.1,
      "x-unit": "percent",
      "x-control": "slider-number"
    },
    "targetAnnualIncome": {
      "title": "Target annual retirement income",
      "type": "number",
      "description": "Optional",
      "minimum": 0,
      "x-step": 1000,
      "multipleOf": 1000,
      "x-unit": "currency"
    },
    "withdrawalRate": {
      "title": "Withdrawal rate",
      "type": "number",
      "default": 4,
      "minimum": 0.1,
      "maximum": 20,
      "x-step": 0.1,
      "x-unit": "percent"
    }
  },
  "required": [
    "currentAge",
    "retirementAge",
    "currentSavings",
    "monthlyContribution",
    "annualReturn",
    "withdrawalRate"
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "20.1.0",
    "calculatorUrl": "https://askcalculators.com/calculator/retirement-calculator/",
    "queryExample": "https://askcalculators.com/calculator/retirement-calculator/?currentAge=35&retirementAge=65&currentSavings=50000&monthlyContribution=800&annualReturn=7&withdrawalRate=4",
    "migrationStatus": "new",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "formula": {
      "expression": "Balanceₙ = balanceₙ₋₁ × (1 + annual return/12) + monthly contribution",
      "note": "The optional target nest egg equals annual income divided by the withdrawal rate."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/retirement-calculator.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "20.1.0",
      "referenceCoverage": "references-listed",
      "releaseTestScope": "Flagship reference cases are specified in scripts/test-v20-1.mjs; consult release evidence for executed results.",
      "historicalMetadataDate": "2026-08-18",
      "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
    },
    "outputs": {
      "projectedSavings": {
        "title": "Projected retirement savings",
        "type": "number",
        "x-format": "currency",
        "x-primary": true
      },
      "totalContributions": {
        "title": "Total contributions",
        "type": "number",
        "x-format": "currency"
      },
      "investmentGrowth": {
        "title": "Investment growth",
        "type": "number",
        "x-format": "currency"
      },
      "targetNestEgg": {
        "title": "Target nest egg",
        "type": "number",
        "x-format": "currency"
      },
      "surplusGap": {
        "title": "Surplus or gap",
        "type": "number",
        "x-format": "currency"
      }
    }
  }
}
