Calculate potential monthly savings by recasting your existing home loan.
Your Potential Monthly Savings
—
What is Loan Recasting?
Loan recasting is a financial strategy, most commonly associated with mortgages, that allows a borrower to effectively reset their loan terms and payments without refinancing. Unlike a traditional refinance, recasting typically does not involve a new credit check or a formal application process. Instead, it's a modification of the existing loan agreement.
The primary mechanism of loan recasting is the borrower making a substantial lump-sum payment towards the principal balance of their loan. This payment can come from various sources, such as savings, inheritance, or bonus payments. Once this lump sum is applied to reduce the principal, the lender recalculates the borrower's future monthly payments based on the new, lower principal balance, the original interest rate, and the remaining term of the loan.
Key Features of Loan Recasting:
Reduces Principal: The core of recasting is a large payment that directly lowers the outstanding principal amount.
Lower Monthly Payments: By lowering the principal, the calculated monthly payments are reduced.
No Change to Interest Rate (Typically): In most cases, recasting uses the *original* interest rate of the loan. If you are seeking a lower interest rate, you would need to refinance. However, some lenders might offer rate adjustments as part of a recast package, though this is less common and might incur additional fees. This calculator assumes you are *not* changing the interest rate unless a new, lower rate is explicitly provided.
Maintains Original Loan Terms: The loan's maturity date and remaining term (in months) generally stay the same.
Simpler Process: It usually involves less paperwork and fewer fees than a full refinance.
Potential Fees: Lenders may charge a fee for recasting services.
How the Loan Recasting Calculator Works
This calculator helps you estimate the potential change in your monthly loan payment after recasting. It requires the following inputs:
Current Principal Loan Balance: The outstanding amount you currently owe on your loan.
Current Annual Interest Rate (%): The interest rate currently applied to your loan.
Remaining Loan Term (Months): The number of months left until your loan is fully paid off.
New Annual Interest Rate (%): If you are specifically recasting to take advantage of a *new*, lower interest rate offered by your lender as part of the recast package, enter it here. If the recast only applies the lump sum payment without changing the rate, this field should be the same as the current rate.
Recasting Fee (Optional): Any fee charged by your lender for the recasting service.
The calculator first determines your current monthly payment using the standard loan amortization formula:
M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1]
Where:
M = Monthly Payment
P = Principal Loan Amount
i = Monthly Interest Rate (Annual Rate / 12)
n = Total Number of Payments (Remaining Loan Term in Months)
Next, it calculates the new principal balance after the lump sum payment (which is effectively the original balance minus the lump sum payment – this calculator simplifies by using the *new* principal after the hypothetical lump sum is applied by the lender). It then calculates a *new* potential monthly payment using the same formula but with the new principal balance and the specified new interest rate.
The difference between your original monthly payment and the new potential monthly payment (factoring in the recasting fee amortized over the remaining term) provides an estimate of your monthly savings.
When to Consider Recasting:
When you have a significant lump sum available (e.g., from a bonus, inheritance, or sale of another asset).
When interest rates have dropped significantly since you took out your loan, and your lender allows you to apply the recast with a lower rate.
When you want to lower your monthly payments to improve cash flow, without the complexity and costs of a full refinance.
Disclaimer: This calculator provides an estimate based on the inputs provided. Actual savings may vary depending on your lender's specific policies, fees, and the exact terms of your loan agreement. Consult with your lender for precise details.
function calculateLoanPayment(principal, annualRate, termMonths) {
if (isNaN(principal) || isNaN(annualRate) || isNaN(termMonths) || principal <= 0 || termMonths <= 0) {
return 0; // Return 0 for invalid inputs
}
var monthlyRate = annualRate / 100 / 12;
if (monthlyRate === 0) {
// If rate is 0, payment is just principal / term
return principal / termMonths;
}
var numerator = monthlyRate * Math.pow(1 + monthlyRate, termMonths);
var denominator = Math.pow(1 + monthlyRate, termMonths) – 1;
return principal * (numerator / denominator);
}
function calculateRecasting() {
var originalLoanAmount = parseFloat(document.getElementById("originalLoanAmount").value);
var currentInterestRate = parseFloat(document.getElementById("currentInterestRate").value);
var remainingLoanTermMonths = parseInt(document.getElementById("remainingLoanTermMonths").value);
var newInterestRate = parseFloat(document.getElementById("newInterestRate").value);
var recastFee = parseFloat(document.getElementById("recastFee").value);
var resultElement = document.getElementById("recastResult");
var detailsElement = document.getElementById("recastDetails");
// Input validation
if (isNaN(originalLoanAmount) || isNaN(currentInterestRate) || isNaN(remainingLoanTermMonths) || isNaN(newInterestRate) || isNaN(recastFee)) {
resultElement.textContent = "Error: Please enter valid numbers for all fields.";
detailsElement.textContent = "";
return;
}
if (originalLoanAmount <= 0 || remainingLoanTermMonths <= 0) {
resultElement.textContent = "Error: Principal and Term must be positive.";
detailsElement.textContent = "";
return;
}
if (currentInterestRate < 0 || newInterestRate < 0 || recastFee 0) {
// Amortize the fee over the remaining term
monthlyRecastFeeCost = calculateLoanPayment(recastFee, 0, remainingLoanTermMonths); // Simple division for 0% interest
// If the recast fee itself is treated as a mini-loan at the new rate:
// monthlyRecastFeeCost = calculateLoanPayment(recastFee, newInterestRate, remainingLoanTermMonths);
}
var totalNewPayment = newMonthlyPayment + monthlyRecastFeeCost;
var monthlySavings = currentMonthlyPayment – totalNewPayment;
if (isNaN(currentMonthlyPayment) || isNaN(newMonthlyPayment) || isNaN(totalNewPayment)) {
resultElement.textContent = "Calculation Error.";
detailsElement.textContent = "";
return;
}
var formattedSavings = monthlySavings.toFixed(2);
var formattedCurrentPayment = currentMonthlyPayment.toFixed(2);
var formattedNewPayment = newMonthlyPayment.toFixed(2);
var formattedRecastFee = recastFee.toFixed(2);
if (monthlySavings >= 0) {
resultElement.textContent = "$" + formattedSavings;
detailsElement.textContent = "Based on: Original Payment $" + formattedCurrentPayment + ", New Principal Payment $" + formattedNewPayment + ", Recast Fee $" + formattedRecastFee + ".";
resultElement.style.color = "#28a745"; // Green for savings
} else {
// If savings are negative, it means the new payment is higher
resultElement.textContent = "-$" + Math.abs(formattedSavings);
detailsElement.textContent = "The new payment ($" + formattedNewPayment + " + $" + recastFee.toFixed(2) + " fee) is higher than your original payment ($" + formattedCurrentPayment + ").";
resultElement.style.color = "#dc3545"; // Red for increased cost
}
}