{
  "slug": "buy-vs-lease-car",
  "title": "Car Buy vs Lease Cost Calculator",
  "heading": "Buy vs Lease Cost Comparison",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/buy-vs-lease-car",
  "summary": "Compare the true cost per month of financing a car against leasing the same vehicle.",
  "description": "Leasing and buying look comparable on the monthly payment and diverge completely on what you own at the end. This calculator compares total cash out over the same holding period: for the loan it counts the down payment, monthly payments, and subtracts the resale value you keep; for the lease it counts the drive-off amount, payments, and any expected mileage overage. The output is an honest cost per month for each path. Buying almost always wins if you keep the car well past the loan; leasing wins on short holds, heavy depreciation, and when the payment gap funds something with a better return.",
  "formula": "Buy cost = down + (payment × months) − resale value. Lease cost = drive-off + (lease payment × months) + mileage overage. Each divided by the months held.",
  "dateModified": "2026-08-25",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=buy-vs-lease-car",
  "inputs": [
    {
      "id": "price",
      "label": "Vehicle price",
      "kind": "number",
      "hint": null,
      "default": 38000,
      "unit": "$",
      "min": 1000,
      "max": null
    },
    {
      "id": "down",
      "label": "Down payment if buying",
      "kind": "number",
      "hint": null,
      "default": 5000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "loanRate",
      "label": "Auto loan APR",
      "kind": "number",
      "hint": null,
      "default": 7.4,
      "unit": "%",
      "min": 0,
      "max": null
    },
    {
      "id": "loanTerm",
      "label": "Loan term",
      "kind": "number",
      "hint": null,
      "default": 60,
      "unit": "months",
      "min": 12,
      "max": null
    },
    {
      "id": "hold",
      "label": "Months you'll keep the car",
      "kind": "number",
      "hint": null,
      "default": 60,
      "unit": "months",
      "min": 12,
      "max": null
    },
    {
      "id": "resalePct",
      "label": "Resale value at end of hold",
      "kind": "number",
      "hint": null,
      "default": 42,
      "unit": "% of price",
      "min": 0,
      "max": 100
    },
    {
      "id": "leasePayment",
      "label": "Lease payment",
      "kind": "number",
      "hint": null,
      "default": 449,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "driveOff",
      "label": "Lease drive-off amount",
      "kind": "number",
      "hint": null,
      "default": 2800,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "overMiles",
      "label": "Expected miles over the lease cap",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "miles",
      "min": 0,
      "max": null
    },
    {
      "id": "overRate",
      "label": "Excess mileage charge",
      "kind": "number",
      "hint": null,
      "default": 0.25,
      "unit": "$/mile",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "difference",
      "label": "Lease premium over buying",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "buyPerMonth",
      "label": "True cost per month — buying",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "leasePerMonth",
      "label": "True cost per month — leasing",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "buyCost",
      "label": "Total cost of buying",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "leaseCost",
      "label": "Total cost of leasing",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "loanPayment",
      "label": "Loan payment",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "resale",
      "label": "Resale value recovered",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Vehicle price: 38000 $",
      "Down payment if buying: 5000 $",
      "Auto loan APR: 7.4 %",
      "Loan term: 60 months",
      "Months you'll keep the car: 60 months",
      "Resale value at end of hold: 42 % of price",
      "Lease payment: 449 $/mo",
      "Lease drive-off amount: 2800 $",
      "Expected miles over the lease cap: 0 miles",
      "Excess mileage charge: 0.25 $/mile"
    ],
    "outputs": [
      "Lease premium over buying: $1,118.88",
      "True cost per month — buying: $477.02",
      "True cost per month — leasing: $495.67",
      "Total cost of buying: $28,621.12",
      "Total cost of leasing: $29,740.00",
      "Loan payment: $659.69",
      "Resale value recovered: $15,960.00"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter vehicle price ($).",
      "Enter down payment if buying ($).",
      "Enter auto loan apr (%).",
      "Enter loan term (months).",
      "Enter months you'll keep the car (months).",
      "Enter resale value at end of hold (% of price).",
      "Enter lease payment ($/mo).",
      "Enter lease drive-off amount ($).",
      "Enter expected miles over the lease cap (miles).",
      "Enter excess mileage charge ($/mile).",
      "Read your lease premium over buying 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": {
        "price": 23000,
        "down": 3000,
        "loanRate": 4.44,
        "loanTerm": 36,
        "hold": 36,
        "resalePct": 25,
        "leasePayment": 270,
        "driveOff": 1700,
        "overMiles": 0,
        "overRate": 0.15
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "price": 38000,
        "down": 5000,
        "loanRate": 7.4,
        "loanTerm": 60,
        "hold": 60,
        "resalePct": 42,
        "leasePayment": 450,
        "driveOff": 2800,
        "overMiles": 0,
        "overRate": 0.25
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "price": 61000,
        "down": 8000,
        "loanRate": 11.840000000000002,
        "loanTerm": 96,
        "hold": 96,
        "resalePct": 67,
        "leasePayment": 720,
        "driveOff": 4500,
        "overMiles": 0,
        "overRate": 0.4
      }
    }
  ],
  "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": "Why is the buy cost lower than the lease if the payment is higher?",
      "a": "Because part of every loan payment buys equity you get back at resale, while every lease payment is pure consumption. The comparison only becomes fair when you subtract the car's residual value from the buying side, which is what this calculator does."
    },
    {
      "q": "What resale percentage should I assume?",
      "a": "Mainstream vehicles commonly retain roughly 40-50% of sticker after five years, with trucks and some hybrids higher and luxury sedans and fast-depreciating EVs lower. Look up your specific model's five-year retention rather than using an average — it is the single biggest driver of the result."
    },
    {
      "q": "Does this include insurance, fuel, and maintenance?",
      "a": "No, and deliberately: those are similar across both paths for the same vehicle. The exceptions worth noting are that leases often require higher liability limits, and that buying exposes you to out-of-warranty repairs in later years."
    },
    {
      "q": "When does leasing genuinely win?",
      "a": "Short holds, business use with favourable deductions, models with unusually strong subsidised residuals, and situations where you need a predictable payment with no resale exposure. If you routinely trade cars every three years, leasing removes the transaction friction you were paying for anyway."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/refinance-breakeven-months",
    "https://www.revenuelab.fyi/toolbox/rent-vs-buy",
    "https://www.revenuelab.fyi/toolbox/sinking-fund-monthly"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Car Buy vs Lease Cost Calculator (https://www.revenuelab.fyi/toolbox/buy-vs-lease-car)"
}