{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/calculator/rent-vs-buy-calculator/schema.json",
  "title": "Rent vs. Buy Calculator inputs",
  "description": "Compare the financial impact of buying a home versus renting over a specific period.",
  "type": "object",
  "properties": {
    "homePrice": {
      "title": "Home price",
      "type": "number",
      "default": 400000,
      "x-step": 0.01,
      "x-unit": "currency"
    },
    "downPayment": {
      "title": "Down payment (%)",
      "type": "number",
      "default": 20,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "interestRate": {
      "title": "Mortgage annual rate (%)",
      "type": "number",
      "default": 6.5,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "term": {
      "title": "Mortgage term (whole years)",
      "type": "number",
      "default": 30,
      "x-step": 1,
      "multipleOf": 1
    },
    "buyingCosts": {
      "title": "Buying costs (% of price)",
      "type": "number",
      "default": 3,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "sellingCosts": {
      "title": "Selling costs (% of sale value)",
      "type": "number",
      "default": 6,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "homeAppreciation": {
      "title": "Annual home appreciation (%)",
      "type": "number",
      "default": 3,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "maintenance": {
      "title": "Annual maintenance (% of current value)",
      "type": "number",
      "default": 1,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "propertyTax": {
      "title": "Annual property tax ($)",
      "type": "number",
      "default": 0,
      "x-step": 0.01,
      "x-unit": "currency"
    },
    "insurance": {
      "title": "Annual home insurance ($)",
      "type": "number",
      "default": 0,
      "x-step": 0.01,
      "x-unit": "currency"
    },
    "hoa": {
      "title": "Monthly HOA ($)",
      "type": "number",
      "default": 0,
      "x-step": 0.01,
      "x-unit": "currency"
    },
    "extraPayment": {
      "title": "Extra monthly principal ($)",
      "type": "number",
      "default": 0,
      "x-step": 0.01,
      "x-unit": "currency"
    },
    "monthlyRent": {
      "title": "Initial monthly rent ($)",
      "type": "number",
      "default": 2500,
      "x-step": 0.01,
      "x-unit": "currency"
    },
    "rentIncrease": {
      "title": "Annual rent increase (%)",
      "type": "number",
      "default": 3,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "investmentReturn": {
      "title": "Annual effective investment return (%)",
      "type": "number",
      "default": 7,
      "x-step": 0.01,
      "x-unit": "percent"
    },
    "years": {
      "title": "Comparison horizon (whole years)",
      "type": "number",
      "default": 7,
      "x-step": 1,
      "multipleOf": 1
    }
  },
  "required": [
    "homePrice",
    "downPayment",
    "interestRate",
    "term",
    "buyingCosts",
    "sellingCosts",
    "homeAppreciation",
    "maintenance",
    "propertyTax",
    "insurance",
    "hoa",
    "extraPayment",
    "monthlyRent",
    "rentIncrease",
    "investmentReturn",
    "years"
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "8.0.0",
    "calculatorUrl": "https://askcalculators.com/calculator/rent-vs-buy-calculator/",
    "queryExample": "https://askcalculators.com/calculator/rent-vs-buy-calculator/?homePrice=400000&downPayment=20&interestRate=6.5&term=30&buyingCosts=3&sellingCosts=6&homeAppreciation=3&maintenance=1&propertyTax=0&insurance=0&hoa=0&extraPayment=0&monthlyRent=2500&rentIncrease=3&investmentReturn=7&years=7",
    "migrationStatus": "migrated",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "migratedDate": "2026-08-18",
    "formula": {
      "expression": "Monthly: loan interest = balance × APR/1200; cap the last payment at principal plus interest. Invest the monthly cash-flow difference in the cheaper option. Owner terminal wealth = sale proceeds − remaining loan + owner investments. Renter terminal wealth = renter investments.",
      "note": "Fixed tax, insurance and HOA amounts; annual-effective growth rates; month-end deposits; sale at horizon. Taxes on investments, mortgage insurance and personal preferences excluded."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/rent-vs-buy-calculator.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "8.0.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": {
      "result": {
        "title": "Conditional comparison",
        "type": "string",
        "x-format": "text",
        "x-primary": true
      },
      "ownerWealth": {
        "title": "ownerWealth",
        "type": "number",
        "x-format": "currency"
      },
      "renterWealth": {
        "title": "renterWealth",
        "type": "number",
        "x-format": "currency"
      },
      "difference": {
        "title": "difference",
        "type": "number",
        "x-format": "currency"
      },
      "loanBalance": {
        "title": "loanBalance",
        "type": "number",
        "x-format": "currency"
      },
      "scheduledPayment": {
        "title": "scheduledPayment",
        "type": "number",
        "x-format": "currency"
      },
      "equity": {
        "title": "equity",
        "type": "number",
        "x-format": "currency"
      },
      "totalInterest": {
        "title": "totalInterest",
        "type": "number",
        "x-format": "currency"
      },
      "totalBuyOutflow": {
        "title": "totalBuyOutflow",
        "type": "number",
        "x-format": "currency"
      },
      "totalRentOutflow": {
        "title": "totalRentOutflow",
        "type": "number",
        "x-format": "currency"
      },
      "ownerInvestment": {
        "title": "ownerInvestment",
        "type": "number",
        "x-format": "currency"
      },
      "renterInvestment": {
        "title": "renterInvestment",
        "type": "number",
        "x-format": "currency"
      },
      "payoffMonth": {
        "title": "Payoff month",
        "type": "string",
        "x-format": "text"
      }
    }
  }
}
