Loan Extra Repayment Calculator
Calculate how making extra repayments can reduce the overall cost and time of your loan.
Loan Amount ($)
Interest Rate (%)
Loan Term (years)
Extra Repayment ($)
New Loan Term (years)
Interest Saved ($)
Calculate
Reset
let repaymentSteps = “”;
const currencySymbol = “$”, fixedCurrency = “USD”;
function calculateRepayment(){
repaymentSteps=””;
const loanAmount=parseFloat(document.getElementById(“loanAmount”).value);
const interestRate=parseFloat(document.getElementById(“interestRate”).value)/100;
const loanTerm=parseFloat(document.getElementById(“loanTerm”).value);
const extraRepayment=parseFloat(document.getElementById(“extraRepayment”).value);
if(isNaN(loanAmount)||isNaN(interestRate)||isNaN(loanTerm)||isNaN(extraRepayment)||loanAmount<=0||loanTerm<=0||interestRate<=0){
alert("Please enter valid positive values for all fields.");
return;
}
const monthlyRate = interestRate / 12;
const months = loanTerm * 12;
const loanPayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, months)) / (Math.pow(1 + monthlyRate, months) – 1);
const newLoanTerm = Math.ceil((Math.log(extraRepayment / (extraRepayment – loanPayment)) / Math.log(1 + monthlyRate)) / 12);
const totalInterestSaved = (loanTerm – newLoanTerm) * loanPayment * 12 – loanAmount;
document.getElementById("repaymentResult").value = newLoanTerm;
document.getElementById("interestSaved").value = formatCurrency(totalInterestSaved);
repaymentSteps += `
Inputs: Loan Amount: ${formatCurrency(loanAmount)}
Interest Rate: ${(interestRate * 100).toFixed(1)}%
Loan Term: ${loanTerm} years
Extra Repayment: ${formatCurrency(extraRepayment)}
`;
repaymentSteps += `
Formulas: Loan Payment = Loan Amount × (Rate × (1 + Rate)^Term) / ((1 + Rate)^Term – 1)
New Loan Term = Log(Extra Repayment / (Extra Repayment – Loan Payment)) / Log(1 + Rate)
`;
repaymentSteps += `
Results: New Loan Term: ${newLoanTerm} years
Interest Saved: ${formatCurrency(totalInterestSaved)}
`;
repaymentSteps += `
Tip: Making extra repayments can significantly reduce the length and cost of your loan.`;
if(document.getElementById(“calculationStepsRepayment”).style.display===”block”){
document.getElementById(“calculationStepsRepayment”).innerHTML = repaymentSteps;
}
}
function resetRepayment(){
document.querySelectorAl