.refi-calc-container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 25px;
border: 1px solid #e1e1e1;
border-radius: 12px;
background-color: #ffffff;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
color: #333;
}
.refi-calc-container h2 {
color: #2c3e50;
text-align: center;
margin-bottom: 25px;
font-size: 28px;
}
.refi-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.refi-input-group {
margin-bottom: 15px;
}
.refi-input-group label {
display: block;
font-weight: 600;
margin-bottom: 8px;
font-size: 14px;
color: #444;
}
.refi-input-group input {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 6px;
font-size: 16px;
box-sizing: border-box;
}
.refi-calc-btn {
grid-column: span 2;
background-color: #27ae60;
color: white;
border: none;
padding: 15px;
font-size: 18px;
font-weight: bold;
border-radius: 6px;
cursor: pointer;
transition: background 0.3s;
margin-top: 10px;
}
.refi-calc-btn:hover {
background-color: #219150;
}
.refi-results {
margin-top: 30px;
padding: 20px;
background-color: #f9f9f9;
border-radius: 8px;
display: none;
}
.refi-result-item {
display: flex;
justify-content: space-between;
padding: 12px 0;
border-bottom: 1px solid #eee;
}
.refi-result-item:last-child {
border-bottom: none;
}
.refi-result-label {
font-weight: 500;
color: #555;
}
.refi-result-value {
font-weight: bold;
color: #27ae60;
font-size: 18px;
}
.refi-content {
margin-top: 40px;
line-height: 1.6;
color: #444;
}
.refi-content h3 {
color: #2c3e50;
margin-top: 25px;
}
@media (max-width: 600px) {
.refi-grid {
grid-template-columns: 1fr;
}
.refi-calc-btn {
grid-column: span 1;
}
}
Mortgage Refinance Savings Calculator
Current Loan Balance ($)
Current Interest Rate (%)
New Interest Rate (%)
New Loan Term (Years)
Refinance Closing Costs ($)
Remaining Years on Old Loan
Calculate My Savings
New Monthly Principal & Interest:
$0.00
Monthly Savings:
$0.00
Breakeven Point:
0 Months
Total Interest Saved (Lifetime):
$0.00
How Refinance Savings are Calculated
Deciding to refinance your mortgage involves more than just looking at a lower interest rate. To find your true savings, you must account for the closing costs and the breakeven point . Our calculator compares your existing loan structure against a potential new loan to determine if the move is financially sound.
Understanding the Breakeven Point
The breakeven point is the most critical metric in refinancing. It is calculated by dividing your total closing costs by your monthly savings. For example, if your refinance costs $4,000 and you save $200 per month, your breakeven point is 20 months. If you plan to sell the home or move before those 20 months are up, refinancing might actually cost you more than it saves.
Realistic Example:
Current Balance: $350,000 at 7.0% interest.
New Rate: 5.5% interest on a 30-year term.
Closing Costs: $6,000.
The Result: Your monthly payment would drop significantly, but you would need to stay in the home for roughly 18 to 24 months to cover the $6,000 upfront cost.
Key Factors to Consider
When using this calculator, remember that "Total Interest Saved" assumes you keep the new loan for its entire duration. If you refinance from a 30-year loan into another 30-year loan after already paying for 5 years, you are extending your debt timeline, which may impact your total long-term costs even if your monthly payment drops.
function calculateRefinance() {
var balance = parseFloat(document.getElementById('currentBalance').value);
var oldRate = parseFloat(document.getElementById('currentRate').value) / 100 / 12;
var newRate = parseFloat(document.getElementById('newRate').value) / 100 / 12;
var newTermMonths = parseFloat(document.getElementById('newTerm').value) * 12;
var remainingMonthsOld = parseFloat(document.getElementById('remainingYears').value) * 12;
var costs = parseFloat(document.getElementById('closingCosts').value);
if (isNaN(balance) || isNaN(oldRate) || isNaN(newRate) || isNaN(newTermMonths) || isNaN(costs)) {
alert("Please enter valid numeric values in all fields.");
return;
}
// Current Monthly Payment (Principal & Interest)
var oldMonthly = (balance * oldRate * Math.pow(1 + oldRate, remainingMonthsOld)) / (Math.pow(1 + oldRate, remainingMonthsOld) – 1);
// New Monthly Payment (Principal & Interest)
var newMonthly = (balance * newRate * Math.pow(1 + newRate, newTermMonths)) / (Math.pow(1 + newRate, newTermMonths) – 1);
// Monthly Savings
var savings = oldMonthly – newMonthly;
// Breakeven
var breakeven = savings > 0 ? (costs / savings) : 0;
// Lifetime Interest Calculation
var totalOldInterest = (oldMonthly * remainingMonthsOld) – balance;
var totalNewInterest = (newMonthly * newTermMonths) – balance;
var lifetimeSavings = totalOldInterest – totalNewInterest – costs;
// Display Results
document.getElementById('refiResults').style.display = 'block';
document.getElementById('newMonthlyPayment').innerText = '$' + newMonthly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
if (savings > 0) {
document.getElementById('monthlySavings').innerText = '$' + savings.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('monthlySavings').style.color = '#27ae60';
document.getElementById('breakevenMonths').innerText = Math.ceil(breakeven) + " Months";
} else {
document.getElementById('monthlySavings').innerText = "No Monthly Savings";
document.getElementById('monthlySavings').style.color = '#e74c3c';
document.getElementById('breakevenMonths').innerText = "Never";
}
document.getElementById('lifetimeInterest').innerText = '$' + (lifetimeSavings > 0 ? lifetimeSavings : 0).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
}