Loan Payoff Calculator with Extra Payments
Calculate how extra payments will affect your loan payoff and interest savings.
Results:
function calculateLoanPayoff() {
const loanAmount = parseFloat(document.getElementById(“loanAmount”).value);
const interestRate = parseFloat(document.getElementById(“interestRate”).value) / 100 / 12;
const loanTerm = parseInt(document.getElementById(“loanTerm”).value) * 12;
const extraPayment = parseFloat(document.getElementById(“extraPayment”).value);
if (isNaN(loanAmount) || isNaN(interestRate) || isNaN(loanTerm) || isNaN(extraPayment)) {
alert(“Please fill in all fields correctly.”);
return;
}
let monthlyPayment = (loanAmount * interestRate) / (1 – Math.pow(1 + interestRate, -loanTerm));
let totalPayments = loanTerm;
let totalPaid = 0;
let principalRemaining = loanAmount;
while (principalRemaining > 0) {
principalRemaining = principalRemaining * (1 + interestRate) – (monthlyPayment + extraPayment);
totalPaid += monthlyPayment + extraPayment;
totalPayments++;
}
const monthsSaved = totalPayments – loanTerm;
const interestSavings = totalPaid – loanAmount;
document.getElementById(“newPayoffDate”).innerText = `New Payoff Date: ${Math.floor(totalPayments / 12)} years and ${totalPayments % 12} months`;
document.getElementById(“interestSavings”).innerText = `Interest Savings: $${interestSavings.toFixed(2)}`;
document.getElementById(“totalPaid”).innerText = `Total Paid: $${totalPaid.toFixed(2)}`;
}