Estimate your monthly car lease costs accurately by entering the vehicle details below.
Lease Breakdown
Gross Capitalized Cost:
Residual Value:
Monthly Depreciation:
Monthly Rent Charge:
Total Monthly Payment:
How to Calculate a Car Lease Payment
Understanding how a lease payment is calculated can save you thousands of dollars at the dealership. Unlike a traditional auto loan, a lease only covers the depreciation of the vehicle during the time you drive it, plus interest (rent charge) and taxes.
The Core Components of a Lease
Gross Capitalized Cost: This is the agreed-upon price of the vehicle. Always negotiate this number just like you would if you were buying the car.
Cap Cost Reductions: Any down payments, trade-ins, or rebates that lower the amount being financed.
Residual Value: The estimated value of the car at the end of the lease. This is set by the leasing company and is usually non-negotiable.
Money Factor: This is the lease version of an interest rate. To convert a money factor to a standard APR, multiply it by 2400.
Practical Example
If you lease a car worth $40,000 with a 60% residual over 36 months:
Residual Value: $40,000 * 0.60 = $24,000
Depreciation: ($40,000 – $24,000) = $16,000
Monthly Depreciation: $16,000 / 36 = $444.44
Then you add the Rent Charge and Sales Tax to get your final monthly check amount.
Why Use This Calculator?
Dealerships often quote a "monthly payment" without explaining the underlying math. By using this tool, you can verify if the money factor (interest) or the residual value they are using is fair. Higher residual values lead to lower payments, while higher money factors lead to more expensive leases.
function calculateLease() {
var msrp = parseFloat(document.getElementById('msrp').value);
var downPayment = parseFloat(document.getElementById('downPayment').value) || 0;
var tradeIn = parseFloat(document.getElementById('tradeIn').value) || 0;
var term = parseFloat(document.getElementById('leaseTerm').value);
var residualPct = parseFloat(document.getElementById('residualValue').value);
var moneyFactor = parseFloat(document.getElementById('moneyFactor').value);
var taxRate = parseFloat(document.getElementById('salesTax').value) || 0;
if (isNaN(msrp) || isNaN(term) || isNaN(residualPct) || isNaN(moneyFactor)) {
alert("Please enter valid numbers in all required fields.");
return;
}
// 1. Calculate Net Capitalized Cost
var capCostReduction = downPayment + tradeIn;
var netCapCost = msrp – capCostReduction;
// 2. Calculate Residual Value
var residualValue = msrp * (residualPct / 100);
// 3. Monthly Depreciation
// Formula: (Net Cap Cost – Residual) / Term
var monthlyDepreciation = (netCapCost – residualValue) / term;
// 4. Monthly Rent Charge
// Formula: (Net Cap Cost + Residual) * Money Factor
var monthlyRent = (netCapCost + residualValue) * moneyFactor;
// 5. Pre-tax Payment
var preTaxPayment = monthlyDepreciation + monthlyRent;
// 6. Total Payment with Tax
var totalMonthlyPayment = preTaxPayment * (1 + (taxRate / 100));
// Display Results
document.getElementById('resGrossCap').innerText = "$" + netCapCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resResidual').innerText = "$" + residualValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resDepreciation').innerText = "$" + monthlyDepreciation.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resRent').innerText = "$" + monthlyRent.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resTotal').innerText = "$" + totalMonthlyPayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('leaseResults').style.display = 'block';
}