Extra Payment Amortization Calculator

Extra Payment Amortization Calculator

Extra Payment Amortization Calculator

Calculate your loan payoff time and savings by making extra payments on your loan.

Not calculated yet.

let amortizationSteps = “”; function calculateAmortization(){ amortizationSteps=””; 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) || loanAmount <= 0 || interestRate <= 0 || loanTerm 0) { let interest = principal * interestRate; let payment = monthlyPayment + extraPayment – interest; if (payment < 0) payment = 0; principal -= payment; totalInterest += interest; monthsPaid++; if (principal < 0) break; } let newLoanTerm = (monthsPaid / 12).toFixed(1); let interestSaved = totalInterest – (loanAmount * interestRate * loanTerm); document.getElementById("newTerm").value = newLoanTerm + " years"; document.getElementById("interestSavings").value = "$" + interestSaved.toFixed(2); amortizationSteps += `Inputs:
Loan Amount: $${loanAmount.toFixed(2)}
Interest Rate: ${interestRate * 100}%
Loan Term: ${loanTerm / 12} years
Extra Payment: $${extraPayment.toFixed(2)}

`; amortizationSteps += `Formulas:
Monthly Payment = Loan Amount × Interest Rate / (1 – (1 + Interest Rate)^-Loan Term)
Amortization Time = Number of Months to Payoff

`; amortizationSteps += `Results:
New Loan Term: ${newLoanTerm} years
Interest Saved: $${interestSaved.toFixed(2)}
`; if (document.getElementById(“calculationStepsAmortization”).style.display === “block”) { document.getElementById(“calculationStepsAmortization”).innerHTML = amortizationSteps; } } function resetAmortization(){ document.querySelectorAll(“#calculator input”).forEach(el => el.value = “”); amortizationSteps = “”; document.getElementById(“calculationStepsAmortization”).innerHTML = “

Not calculated yet.

“; } function toggleAmortizationSteps(){ const s = document.getElementById(“calculationStepsAmortization”); const a = document.getElementById(“toggleArrowAmortization”); if (s.style.display === “none” || s.style.display === “”) { s.style.display = “block”; a.style.transform = “rotate(180deg)”; s.innerHTML = amortizationSteps || “

Not calculated yet.

“; } else { s.style.display = “none”; a.style.transform = “rotate(0deg)”; } }

Leave a Reply

Your email address will not be published. Required fields are marked *