{
  "id": "rent-vs-buy-calculator",
  "version": "8.0.0",
  "name": "Rent vs. Buy Calculator",
  "shortName": "Rent vs. Buy",
  "description": "Compare the financial impact of buying a home versus renting over a specific period.",
  "category": "Finance",
  "categorySlug": "finance",
  "keywords": [
    "rent",
    "vs",
    "buy"
  ],
  "status": "live",
  "workStatus": "pending",
  "reviewStatus": "pending",
  "migrationStatus": "migrated",
  "migratedDate": "2026-08-18",
  "engine": "legacy-react",
  "creator": null,
  "reviewer": null,
  "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."
  },
  "notice": "Conditional scenarios, not a recommendation. Enter property tax, insurance and HOA; zero defaults do not imply these costs are absent.",
  "urls": {
    "page": "/calculator/rent-vs-buy-calculator/",
    "definition": "/calculator/rent-vs-buy-calculator/definition.json",
    "schema": "/calculator/rent-vs-buy-calculator/schema.json",
    "llms": "/calculator/rent-vs-buy-calculator/llms.txt",
    "legacyDefinition": "/calculator/rent-vs-buy-calculator.json"
  },
  "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",
  "queryParameters": {
    "homePrice": {
      "label": "Home price",
      "type": "money",
      "required": true,
      "default": 400000
    },
    "downPayment": {
      "label": "Down payment (%)",
      "type": "percent",
      "required": true,
      "default": 20
    },
    "interestRate": {
      "label": "Mortgage annual rate (%)",
      "type": "percent",
      "required": true,
      "default": 6.5
    },
    "term": {
      "label": "Mortgage term (whole years)",
      "type": "number",
      "required": true,
      "default": 30
    },
    "buyingCosts": {
      "label": "Buying costs (% of price)",
      "type": "percent",
      "required": true,
      "default": 3
    },
    "sellingCosts": {
      "label": "Selling costs (% of sale value)",
      "type": "percent",
      "required": true,
      "default": 6
    },
    "homeAppreciation": {
      "label": "Annual home appreciation (%)",
      "type": "percent",
      "required": true,
      "default": 3
    },
    "maintenance": {
      "label": "Annual maintenance (% of current value)",
      "type": "percent",
      "required": true,
      "default": 1
    },
    "propertyTax": {
      "label": "Annual property tax ($)",
      "type": "money",
      "required": true,
      "default": 0
    },
    "insurance": {
      "label": "Annual home insurance ($)",
      "type": "money",
      "required": true,
      "default": 0
    },
    "hoa": {
      "label": "Monthly HOA ($)",
      "type": "money",
      "required": true,
      "default": 0
    },
    "extraPayment": {
      "label": "Extra monthly principal ($)",
      "type": "money",
      "required": true,
      "default": 0
    },
    "monthlyRent": {
      "label": "Initial monthly rent ($)",
      "type": "money",
      "required": true,
      "default": 2500
    },
    "rentIncrease": {
      "label": "Annual rent increase (%)",
      "type": "percent",
      "required": true,
      "default": 3
    },
    "investmentReturn": {
      "label": "Annual effective investment return (%)",
      "type": "percent",
      "required": true,
      "default": 7
    },
    "years": {
      "label": "Comparison horizon (whole years)",
      "type": "number",
      "required": true,
      "default": 7
    }
  },
  "inputs": [
    {
      "id": "homePrice",
      "label": "Home price",
      "type": "money",
      "required": true,
      "defaultValue": 400000,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "downPayment",
      "label": "Down payment (%)",
      "type": "percent",
      "required": true,
      "defaultValue": 20,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "interestRate",
      "label": "Mortgage annual rate (%)",
      "type": "percent",
      "required": true,
      "defaultValue": 6.5,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "term",
      "label": "Mortgage term (whole years)",
      "type": "number",
      "required": true,
      "defaultValue": 30,
      "step": 1,
      "width": "half"
    },
    {
      "id": "buyingCosts",
      "label": "Buying costs (% of price)",
      "type": "percent",
      "required": true,
      "defaultValue": 3,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "sellingCosts",
      "label": "Selling costs (% of sale value)",
      "type": "percent",
      "required": true,
      "defaultValue": 6,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "homeAppreciation",
      "label": "Annual home appreciation (%)",
      "type": "percent",
      "required": true,
      "defaultValue": 3,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "maintenance",
      "label": "Annual maintenance (% of current value)",
      "type": "percent",
      "required": true,
      "defaultValue": 1,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "propertyTax",
      "label": "Annual property tax ($)",
      "type": "money",
      "required": true,
      "defaultValue": 0,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "insurance",
      "label": "Annual home insurance ($)",
      "type": "money",
      "required": true,
      "defaultValue": 0,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "hoa",
      "label": "Monthly HOA ($)",
      "type": "money",
      "required": true,
      "defaultValue": 0,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "extraPayment",
      "label": "Extra monthly principal ($)",
      "type": "money",
      "required": true,
      "defaultValue": 0,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "monthlyRent",
      "label": "Initial monthly rent ($)",
      "type": "money",
      "required": true,
      "defaultValue": 2500,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "rentIncrease",
      "label": "Annual rent increase (%)",
      "type": "percent",
      "required": true,
      "defaultValue": 3,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "investmentReturn",
      "label": "Annual effective investment return (%)",
      "type": "percent",
      "required": true,
      "defaultValue": 7,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "years",
      "label": "Comparison horizon (whole years)",
      "type": "number",
      "required": true,
      "defaultValue": 7,
      "step": 1,
      "width": "half"
    }
  ],
  "outputs": [
    {
      "id": "result",
      "label": "Conditional comparison",
      "format": "text",
      "primary": true
    },
    {
      "id": "ownerWealth",
      "label": "ownerWealth",
      "format": "currency"
    },
    {
      "id": "renterWealth",
      "label": "renterWealth",
      "format": "currency"
    },
    {
      "id": "difference",
      "label": "difference",
      "format": "currency"
    },
    {
      "id": "loanBalance",
      "label": "loanBalance",
      "format": "currency"
    },
    {
      "id": "scheduledPayment",
      "label": "scheduledPayment",
      "format": "currency"
    },
    {
      "id": "equity",
      "label": "equity",
      "format": "currency"
    },
    {
      "id": "totalInterest",
      "label": "totalInterest",
      "format": "currency"
    },
    {
      "id": "totalBuyOutflow",
      "label": "totalBuyOutflow",
      "format": "currency"
    },
    {
      "id": "totalRentOutflow",
      "label": "totalRentOutflow",
      "format": "currency"
    },
    {
      "id": "ownerInvestment",
      "label": "ownerInvestment",
      "format": "currency"
    },
    {
      "id": "renterInvestment",
      "label": "renterInvestment",
      "format": "currency"
    },
    {
      "id": "payoffMonth",
      "label": "Payoff month",
      "format": "text"
    }
  ],
  "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."
  },
  "examples": [
    {
      "label": "Reproducible default-input example (not a personal recommendation)",
      "inputs": {
        "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
      }
    }
  ],
  "sources": [
    {
      "label": "CFPB: principal, interest and total monthly housing payment",
      "url": "https://www.consumerfinance.gov/ask-cfpb/on-a-mortgage-whats-the-difference-between-my-principal-and-interest-payment-and-my-total-monthly-payment-en-1941/"
    },
    {
      "label": "Investor.gov: compound-interest calculator and assumptions",
      "url": "https://www.investor.gov/financial-tools-calculators/calculators/compound-interest-calculator"
    }
  ]
}
