Car Lease Payment Calculator
MSRP / Vehicle Price ($)
Down Payment ($)
Trade-in Allowance ($)
Lease Term (Months)
24 Months
36 Months
48 Months
60 Months
Money Factor (e.g. 0.00125)
Tip: APR / 2400 = Money Factor
Residual Value (%)
Calculate Monthly Payment
Lease Breakdown
Monthly Payment: $0.00
Monthly Depreciation: $0.00
Monthly Rent Charge: $0.00
Total Cost of Lease: $0.00
Residual Value Amount: $0.00
How to Use the Car Lease Calculator
Leasing a vehicle can be more complex than a traditional auto loan. Understanding how your monthly payment is structured helps you negotiate a better deal at the dealership. This calculator breaks down the "hidden" math of leasing.
Key Terms Explained
Gross Capitalized Cost: The negotiated price of the vehicle.
Residual Value: The estimated value of the car at the end of the lease. This is set by the leasing company. A higher residual value usually means a lower monthly payment.
Money Factor: This is essentially the interest rate for a lease. To convert a Money Factor to APR, multiply it by 2,400. For example, a money factor of 0.00125 is equivalent to a 3% APR.
Cap Cost Reduction: This includes your down payment, trade-in value, and any rebates that reduce the amount being financed.
The Lease Math Formula
Your lease payment consists of two primary parts: Depreciation and the Rent Charge .
Depreciation Fee: (Net Cap Cost – Residual Value) / Lease Term
Rent Charge: (Net Cap Cost + Residual Value) × Money Factor
Example Calculation
If you lease a car worth $35,000 with a 55% residual ($19,250) after 36 months , and put $3,000 down with a 0.00125 money factor :
Net Cap Cost: $35,000 – $3,000 = $32,000
Monthly Depreciation: ($32,000 – $19,250) / 36 = $354.17
Monthly Rent Charge: ($32,000 + $19,250) × 0.00125 = $64.06
Total Payment: $354.17 + $64.06 = $418.23
function calculateLeasePayment() {
var vehiclePrice = parseFloat(document.getElementById('vehiclePrice').value);
var downPayment = parseFloat(document.getElementById('downPayment').value);
var tradeIn = parseFloat(document.getElementById('tradeIn').value);
var leaseTerm = parseFloat(document.getElementById('leaseTerm').value);
var moneyFactor = parseFloat(document.getElementById('moneyFactor').value);
var residualPercent = parseFloat(document.getElementById('residualPercent').value);
if (isNaN(vehiclePrice) || isNaN(downPayment) || isNaN(tradeIn) || isNaN(moneyFactor) || isNaN(residualPercent)) {
alert("Please enter valid numeric values in all fields.");
return;
}
// 1. Calculate Net Capitalized Cost
var netCapCost = vehiclePrice – downPayment – tradeIn;
// 2. Calculate Residual Value
var residualValueAmount = vehiclePrice * (residualPercent / 100);
// 3. Monthly Depreciation Part
var depreciationValue = (netCapCost – residualValueAmount) / leaseTerm;
if (depreciationValue < 0) depreciationValue = 0;
// 4. Monthly Finance (Rent) Charge
var rentCharge = (netCapCost + residualValueAmount) * moneyFactor;
// 5. Total Monthly Payment
var monthlyPayment = depreciationValue + rentCharge;
// 6. Total Lease Cost
var totalCost = (monthlyPayment * leaseTerm) + downPayment + tradeIn;
// Display Results
document.getElementById('monthlyTotal').innerText = "$" + monthlyPayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('depreciationPart').innerText = "$" + depreciationValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('rentPart').innerText = "$" + rentCharge.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('residualDollar').innerText = "$" + residualValueAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('totalLeaseCost').innerText = "$" + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('leaseResults').style.display = 'block';
}