{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/calculator/heloc-calculator/schema.json",
  "title": "Home Equity Line of Credit (HELOC) Calculator inputs",
  "description": "Estimate interest-only draw payments, repayment-period payments, fees, and an LTV-based HELOC limit.",
  "type": "object",
  "properties": {
    "creditLine": {
      "title": "Amount drawn",
      "type": "number",
      "default": 50000,
      "minimum": 1,
      "x-step": 1000,
      "multipleOf": 1000,
      "x-unit": "currency"
    },
    "annualRate": {
      "title": "Interest rate",
      "type": "number",
      "default": 8,
      "minimum": 0,
      "maximum": 50,
      "x-step": 0.05,
      "x-unit": "percent",
      "x-control": "slider-number"
    },
    "drawYears": {
      "title": "Draw period",
      "type": "number",
      "default": 5,
      "minimum": 1,
      "maximum": 30,
      "x-step": 1,
      "multipleOf": 1,
      "x-suffix": " years"
    },
    "repaymentYears": {
      "title": "Repayment period",
      "type": "number",
      "default": 15,
      "minimum": 1,
      "maximum": 40,
      "x-step": 1,
      "multipleOf": 1,
      "x-suffix": " years"
    },
    "annualFee": {
      "title": "Annual fee",
      "type": "number",
      "description": "Spread evenly across monthly outlays.",
      "default": 0,
      "minimum": 0,
      "x-step": 10,
      "multipleOf": 10,
      "x-unit": "currency"
    },
    "includeClosingCosts": {
      "title": "Include closing costs",
      "type": "boolean",
      "description": "Adds fees to the cost and APR estimate.",
      "default": false
    },
    "closingCostValue": {
      "title": "Closing cost value",
      "type": "number",
      "default": 2,
      "minimum": 0,
      "x-step": 0.1,
      "x-showWhen": {
        "field": "includeClosingCosts",
        "equals": true
      }
    },
    "closingCostUnit": {
      "title": "Closing cost unit",
      "type": "string",
      "default": "percent",
      "enum": [
        "percent",
        "amount"
      ],
      "x-optionLabels": {
        "percent": "Percent of amount drawn",
        "amount": "Dollar amount"
      },
      "x-showWhen": {
        "field": "includeClosingCosts",
        "equals": true
      }
    },
    "closingCostTreatment": {
      "title": "Closing cost treatment",
      "type": "string",
      "default": "deducted",
      "enum": [
        "deducted",
        "upfront"
      ],
      "x-optionLabels": {
        "deducted": "Deducted from proceeds",
        "upfront": "Paid upfront"
      },
      "x-showWhen": {
        "field": "includeClosingCosts",
        "equals": true
      }
    },
    "homeValue": {
      "title": "Current home value",
      "type": "number",
      "description": "Used for the borrowing-limit estimate.",
      "default": 500000,
      "minimum": 1,
      "x-step": 1000,
      "multipleOf": 1000,
      "x-unit": "currency"
    },
    "mortgageBalance": {
      "title": "Current mortgage balance",
      "type": "number",
      "default": 210000,
      "minimum": 0,
      "x-step": 1000,
      "multipleOf": 1000,
      "x-unit": "currency"
    },
    "maxLtv": {
      "title": "Maximum combined LTV",
      "type": "number",
      "default": 80,
      "minimum": 1,
      "maximum": 100,
      "x-step": 1,
      "multipleOf": 1,
      "x-unit": "percent",
      "x-control": "slider-number"
    }
  },
  "required": [
    "creditLine",
    "annualRate",
    "drawYears",
    "repaymentYears",
    "homeValue",
    "mortgageBalance",
    "maxLtv"
  ],
  "allOf": [
    {
      "if": {
        "properties": {
          "includeClosingCosts": {
            "const": true
          }
        },
        "required": [
          "includeClosingCosts"
        ]
      },
      "then": {
        "required": [
          "closingCostValue"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "includeClosingCosts": {
            "const": true
          }
        },
        "required": [
          "includeClosingCosts"
        ]
      },
      "then": {
        "required": [
          "closingCostUnit"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "includeClosingCosts": {
            "const": true
          }
        },
        "required": [
          "includeClosingCosts"
        ]
      },
      "then": {
        "required": [
          "closingCostTreatment"
        ]
      }
    }
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "1.0.0",
    "calculatorUrl": "https://askcalculators.com/calculator/heloc-calculator/",
    "queryExample": "https://askcalculators.com/calculator/heloc-calculator/?creditLine=50000&annualRate=8&drawYears=5&repaymentYears=15&annualFee=0&includeClosingCosts=0&homeValue=500000&mortgageBalance=210000&maxLtv=80",
    "migrationStatus": "new",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "formula": {
      "expression": "Draw payment = balance × r; repayment M = P × [r(1 + r)ⁿ] ÷ [(1 + r)ⁿ − 1]",
      "variables": [
        {
          "symbol": "P",
          "meaning": "amount drawn at the start"
        },
        {
          "symbol": "r",
          "meaning": "monthly interest rate"
        },
        {
          "symbol": "M",
          "meaning": "repayment-period principal-and-interest payment"
        },
        {
          "symbol": "n",
          "meaning": "number of repayment months"
        }
      ],
      "note": "The draw period is modeled as interest-only. Annual fees are divided into monthly outlays, and the rate is held constant."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/heloc-calculator.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "1.0.0",
      "referenceCoverage": "references-listed",
      "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
      "historicalMetadataDate": "2026-08-25",
      "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
    },
    "outputs": {
      "drawMonthlyPayment": {
        "title": "Draw-period monthly outlay",
        "type": "number",
        "x-format": "currency",
        "x-primary": true
      },
      "repaymentMonthlyPayment": {
        "title": "Repayment-period monthly outlay",
        "type": "number",
        "x-format": "currency"
      },
      "totalScheduledPayments": {
        "title": "Total scheduled monthly outlays",
        "type": "number",
        "x-format": "currency"
      },
      "totalInterest": {
        "title": "Total interest",
        "type": "number",
        "x-format": "currency"
      },
      "totalFees": {
        "title": "Closing + annual fees",
        "type": "number",
        "x-format": "currency"
      },
      "totalBorrowingCost": {
        "title": "Interest + fees",
        "type": "number",
        "x-format": "currency"
      },
      "cashReceived": {
        "title": "Proceeds received",
        "type": "number",
        "x-format": "currency"
      },
      "cashDueAtClosing": {
        "title": "Cash due at closing",
        "type": "number",
        "x-format": "currency"
      },
      "estimatedApr": {
        "title": "Cash-flow APR estimate",
        "type": "number",
        "x-format": "percent",
        "x-digits": 3
      },
      "estimatedCreditLimit": {
        "title": "LTV-based HELOC limit",
        "type": "number",
        "x-format": "currency"
      },
      "combinedLtv": {
        "title": "Combined LTV with this draw",
        "type": "number",
        "x-format": "percent",
        "x-digits": 2
      }
    }
  }
}
