Calculate your potential monthly savings and determine your break-even point.
How Does a Mortgage Refinance Work?
A mortgage refinance involves replacing your current home loan with a new one, typically with different terms, a different interest rate, or a different duration. Homeowners usually refinance to lower their monthly payments, reduce the total interest paid over the life of the loan, or tap into home equity through a cash-out refinance.
Understanding the Break-Even Point
One of the most critical metrics in this calculator is the Break-Even Point. This is the number of months it takes for your monthly savings to "pay back" the closing costs associated with the refinance. If you plan to sell your home before reaching this point, refinancing might actually cost you more than it saves.
When Should You Refinance?
Historically, experts suggested refinancing if you could drop your interest rate by at least 1% to 2%. However, even a 0.5% drop can be beneficial depending on your loan balance and how long you plan to stay in the home. Consider the following factors:
Credit Score: A higher score unlocks the best available rates.
Equity: Having at least 20% equity helps you avoid Private Mortgage Insurance (PMI).
Closing Costs: These typically range from 2% to 5% of the loan amount.
Refinance Example Scenarios
Scenario
Loan Amount
Old Rate
New Rate
Monthly Savings
Small Rate Drop
$300,000
7.5%
6.75%
~$155
Significant Drop
$300,000
8.0%
6.5%
~$298
High Balance
$500,000
7.0%
6.25%
~$250
Common Refinance Costs to Expect
When you use the calculator above, ensure your "Closing Costs" input includes these typical fees:
Application and Appraisal fees
Loan origination fees
Title search and insurance
Credit report fees
Attorney or closing fees
function calculateRefinance() {
var currentPayment = parseFloat(document.getElementById('currentPayment').value);
var balance = parseFloat(document.getElementById('balance').value);
var remainingYears = parseFloat(document.getElementById('remainingYears').value);
var newRateInput = parseFloat(document.getElementById('newRate').value);
var newTermYears = parseFloat(document.getElementById('newTerm').value);
var closingCosts = parseFloat(document.getElementById('closingCosts').value);
var resultDiv = document.getElementById('refiResult');
if (isNaN(currentPayment) || isNaN(balance) || isNaN(remainingYears) || isNaN(newRateInput) || isNaN(newTermYears) || isNaN(closingCosts)) {
resultDiv.style.display = 'block';
resultDiv.innerHTML = 'Please enter valid numbers in all fields to see your results.';
return;
}
// Monthly interest rate
var monthlyRate = (newRateInput / 100) / 12;
// Total months of the new loan
var totalMonths = newTermYears * 12;
// Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ]
var newMonthlyPayment = 0;
if (monthlyRate === 0) {
newMonthlyPayment = balance / totalMonths;
} else {
newMonthlyPayment = balance * (monthlyRate * Math.pow(1 + monthlyRate, totalMonths)) / (Math.pow(1 + monthlyRate, totalMonths) – 1);
}
var monthlySavings = currentPayment – newMonthlyPayment;
var breakEvenMonths = closingCosts / monthlySavings;
var currentTotalRemaining = currentPayment * (remainingYears * 12);
var newTotalCost = (newMonthlyPayment * totalMonths) + closingCosts;
var lifetimeSavings = currentTotalRemaining – newTotalCost;
var output = '
';
if (lifetimeSavings < 0) {
output += '* While you save monthly, the total cost of the new loan over ' + newTermYears + ' years plus closing costs is higher than finishing your current loan.';
}
} else {
output += 'Warning: This refinance increases your monthly payment. It may only be beneficial if you are significantly shortening your loan term to save on total interest.';
}
resultDiv.innerHTML = output;
resultDiv.style.display = 'block';
}