Calculate your estimated monthly lease payment including taxes, depreciation, and rent charges.
Gross Capitalized Cost:$0.00
Residual Value:$0.00
Monthly Depreciation:$0.00
Monthly Rent Charge:$0.00
Base Monthly Payment:$0.00
Total Monthly Payment (with Tax):$0.00
How to Calculate a Car Lease Payment
Leasing a vehicle is often more complex than a traditional auto loan because you aren't paying for the entire value of the car. Instead, you are paying for the depreciation of the vehicle over the term of the lease, plus interest (known as the money factor) and taxes.
The Lease Calculation Formula
Your monthly payment is composed of three main parts:
Capitalized Cost: This is the negotiated price of the vehicle plus any fees. The "Adjusted Cap Cost" is this amount minus your down payment or trade-in value.
Residual Value: This is what the car is expected to be worth at the end of the lease. It is set by the leasing company as a percentage of the MSRP.
Money Factor: This represents the interest rate. To convert a Money Factor to an APR, multiply it by 2,400. For example, 0.0015 × 2400 = 3.6% APR.
Example Lease Calculation
Imagine you are leasing a car with a negotiated price of $40,000 for 36 months. The residual value is 60% ($24,000), and the Money Factor is 0.00125. You put $2,000 down, and tax is 8%.
Step
Calculation
Result
1. Adjusted Cap Cost
$40,000 – $2,000
$38,000
2. Total Depreciation
$38,000 – $24,000
$14,000
3. Monthly Depreciation
$14,000 / 36
$388.89
4. Monthly Rent Charge
($38,000 + $24,000) × 0.00125
$77.50
5. Monthly Tax
($388.89 + $77.50) × 0.08
$37.31
Total Monthly Payment
$388.89 + $77.50 + $37.31
$503.70
Tips for Getting a Lower Lease Payment
To reduce your monthly costs, consider the following strategies:
Negotiate the Selling Price: Most people don't realize you can negotiate the capitalized cost just like a purchase price.
Check for Incentives: Manufacturers often offer "lease specials" with higher residual values or lower money factors.
Watch Your Mileage: Higher annual mileage limits (e.g., 15,000 miles vs. 10,000) will lower the residual value and increase your payment.
Avoid Large Down Payments: While it lowers the monthly payment, if the car is totaled shortly after leasing, you may lose that down payment entirely as GAP insurance covers the lease balance, not your equity.
function runLeaseCalculation() {
var msrp = parseFloat(document.getElementById('lease_msrp').value);
var downPayment = parseFloat(document.getElementById('lease_down').value);
var term = parseInt(document.getElementById('lease_term').value);
var residualPct = parseFloat(document.getElementById('lease_residual').value);
var moneyFactor = parseFloat(document.getElementById('lease_mf').value);
var taxRate = parseFloat(document.getElementById('lease_tax').value);
// Validation
if (isNaN(msrp) || msrp <= 0) { alert("Please enter a valid MSRP."); return; }
if (isNaN(downPayment)) downPayment = 0;
if (isNaN(term) || term <= 0) { alert("Please enter a valid lease term."); return; }
if (isNaN(residualPct) || residualPct <= 0) { alert("Please enter a valid residual percentage."); return; }
if (isNaN(moneyFactor) || moneyFactor < 0) { alert("Please enter a valid money factor."); return; }
if (isNaN(taxRate)) taxRate = 0;
// Calculations
var adjCapCost = msrp – downPayment;
var residualValue = msrp * (residualPct / 100);
// 1. Depreciation Component
var totalDepreciation = adjCapCost – residualValue;
var monthlyDepreciation = totalDepreciation / term;
// 2. Rent Charge Component
// Formula: (Adj Cap Cost + Residual) * Money Factor
var monthlyRent = (adjCapCost + residualValue) * moneyFactor;
// 3. Base Payment
var basePayment = monthlyDepreciation + monthlyRent;
// 4. Tax
var monthlyTax = basePayment * (taxRate / 100);
// 5. Total
var totalPayment = basePayment + monthlyTax;
// Display Results
document.getElementById('res_cap_cost').innerText = "$" + adjCapCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_residual_val').innerText = "$" + residualValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_depreciation').innerText = "$" + monthlyDepreciation.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_rent').innerText = "$" + monthlyRent.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_base').innerText = "$" + basePayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_total').innerText = "$" + totalPayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('lease_result_area').style.display = 'block';
}