Mortgage Payment Calculator Extra Repayments

Mortgage Payment Calculator (Extra Repayments)

Mortgage Payment Calculator

Calculate your monthly mortgage payments including extra repayments and see how they affect your total loan balance and duration.

Not calculated yet.

let mortgageSteps = “”; const currencySymbol = “$”, fixedCurrency = “USD”; function calculateMortgage(){ mortgageSteps=””; const loanAmount=parseFloat(document.getElementById(“loanAmount”).value); const interestRate=parseFloat(document.getElementById(“interestRate”).value)/100/12; const loanTerm=parseFloat(document.getElementById(“loanTerm”).value)*12; const extraRepayment=parseFloat(document.getElementById(“extraRepayment”).value); if(isNaN(loanAmount)||isNaN(interestRate)||isNaN(loanTerm)||isNaN(extraRepayment)||loanAmount<=0||interestRate<=0||loanTerm<=0){ alert("Please enter valid positive values for all fields."); return; } const monthlyPayment = (loanAmount * interestRate) / (1 – Math.pow(1 + interestRate, -loanTerm)) + extraRepayment; const totalInterest = (monthlyPayment * loanTerm) – loanAmount; const loanTermRemaining = loanTerm – (extraRepayment / monthlyPayment * loanTerm); document.getElementById("monthlyPayment").value = formatCurrency(monthlyPayment); document.getElementById("totalInterest").value = formatCurrency(totalInterest); document.getElementById("loanTermRemaining").value = loanTermRemaining.toFixed(1); mortgageSteps += `Inputs:
Loan Amount: ${formatCurrency(loanAmount)}
Interest Rate: ${(interestRate * 12 * 100).toFixed(1)}%
Loan Term: ${loanTerm / 12} years
Extra Repayment: ${formatCurrency(extraRepayment)}

`; mortgageSteps += `Formulas:
Monthly Payment = Loan Amount × Interest Rate / (1 – (1 + Interest Rate) ^ -Term) + Extra Repayment
Total Interest = (Monthly Payment × Term) – Loan Amount

`; mortgageSteps += `Results:
Monthly Payment: ${formatCurrency(monthlyPayment)}
Total Interest Paid: ${formatCurrency(totalInterest)}
Remaining Loan Term: ${loanTermRemaining.toFixed(1)} years
`; if(document.getElementById(“calculationStepsMortgage”).style.display===”block”){ document.getElementById(“calculationStepsMortgage”).innerHTML = mortgageSteps; } } function resetMortgage(){ document.querySelectorAll(“#calculator input”).forEach(el=>el.value=””); mortgageSteps=””; document.getElementById(“calculationStepsMortgage”).innerHTML=”

Not calculated yet.

“; } function toggleMortgageSteps(){ const s=document.getElementById(“calculationStepsMortgage”); const a=document.getElementById(“toggleArrowMortgage”); if(s.style.display===”none”||s.style.display===””){ s.style.display=”block”;a.style.transform=”rotate(180deg)”; s.innerHTML=mortgageSteps||”

Not calculated yet.

“; }else{s.style.display=”none”;a.style.transform=”rotate(0deg)”;} } function formatCurrency(n){return currencySymbol+n.toFixed(2)+” “+fixedCurrency;}

Leave a Reply

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