Uk Mortgage Calculator

#refi-calc-wrapper { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 900px; margin: 20px auto; padding: 25px; border: 1px solid #e1e1e1; border-radius: 12px; background-color: #ffffff; color: #333; line-height: 1.6; box-shadow: 0 4px 15px rgba(0,0,0,0.05); } #refi-calc-wrapper h2 { color: #1a2b49; margin-bottom: 20px; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .input-group { margin-bottom: 15px; } .input-group label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 14px; } .input-group input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; box-sizing: border-box; } .btn-calc { grid-column: span 2; background-color: #0073aa; color: white; padding: 15px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.3s; } .btn-calc:hover { background-color: #005177; } #refi-results { margin-top: 25px; padding: 20px; background-color: #f9f9f9; border-radius: 8px; display: none; } .result-box { text-align: center; border-bottom: 1px solid #ddd; padding-bottom: 15px; margin-bottom: 15px; } .result-box:last-child { border-bottom: none; } .result-val { font-size: 24px; font-weight: 800; color: #2c7a7b; } .result-label { font-size: 14px; text-transform: uppercase; color: #666; letter-spacing: 1px; } .content-section { margin-top: 40px; border-top: 1px solid #eee; padding-top: 20px; } @media (max-width: 600px) { .calc-grid { grid-template-columns: 1fr; } .btn-calc { grid-column: span 1; } }

Mortgage Refinance Savings Calculator

Estimate your potential monthly savings and calculate the "break-even" point for your mortgage refinance.

Monthly Savings
$0.00
Time to Break Even (Months)
0 Months
Total Savings Over New Term
$0.00

How to Use the Mortgage Refinance Savings Calculator

Refinancing a mortgage involves replacing your current home loan with a new one, typically to secure a lower interest rate or change the loan term. This calculator helps you determine if the long-term savings outweigh the upfront costs of refinancing.

Understanding the Results

  • Monthly Savings: This is the difference between your estimated current payment (principal and interest) and your new projected payment.
  • Break-Even Point: This is the most critical metric. It tells you how many months you must stay in the home to recoup the closing costs through your monthly savings. If you plan to sell the home before reaching this point, refinancing may not be financially beneficial.
  • Closing Costs: Usually ranging from 2% to 5% of the loan amount, these include appraisal fees, origination fees, and title insurance.

Example Calculation

Suppose you have a $300,000 balance on a mortgage with a 6.5% interest rate. Your current monthly principal and interest payment is approximately $1,896. If you refinance into a new 30-year loan at 5.25%, your new payment would be roughly $1,656.

In this scenario:

  • Monthly Savings: $240
  • Refinance Costs: $5,000
  • Break-Even: $5,000 / $240 = 20.8 months

If you stay in the house for more than 21 months, the refinance pays for itself and starts saving you money every month thereafter.

When Should You Refinance?

Generally, experts suggest refinancing is worth considering if you can lower your interest rate by at least 0.75% to 1%. However, even a smaller reduction can be worth it if you have a large loan balance or plan to stay in the home for a long duration. Always consider the total interest paid over the life of the loan; extending a loan from 20 remaining years back to a 30-year term might lower your monthly payment but increase the total interest paid in the long run.

function calculateRefi() { var balance = parseFloat(document.getElementById('currentBalance').value); var curRate = parseFloat(document.getElementById('currentRate').value) / 100 / 12; var newRate = parseFloat(document.getElementById('newRate').value) / 100 / 12; var newTermMonths = parseInt(document.getElementById('newTerm').value) * 12; var remainingYears = parseInt(document.getElementById('remainingYears').value) * 12; var costs = parseFloat(document.getElementById('refiCosts').value); if (isNaN(balance) || isNaN(curRate) || isNaN(newRate) || isNaN(newTermMonths) || isNaN(costs)) { alert("Please enter valid numeric values in all fields."); return; } // Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1] // Current Payment Calculation var currentPayment = 0; if (curRate > 0) { currentPayment = balance * (curRate * Math.pow(1 + curRate, remainingYears)) / (Math.pow(1 + curRate, remainingYears) – 1); } else { currentPayment = balance / remainingYears; } // New Payment Calculation var newPayment = 0; if (newRate > 0) { newPayment = balance * (newRate * Math.pow(1 + newRate, newTermMonths)) / (Math.pow(1 + newRate, newTermMonths) – 1); } else { newPayment = balance / newTermMonths; } var monthlySavingsVal = currentPayment – newPayment; var breakEvenVal = monthlySavingsVal > 0 ? costs / monthlySavingsVal : 0; // Total Savings (Current remaining interest vs new total interest) // Simplified as (current payment * remaining months) – (new payment * new term + costs) var totalRemainingOld = currentPayment * remainingYears; var totalRemainingNew = (newPayment * newTermMonths) + costs; var totalSavingsVal = totalRemainingOld – totalRemainingNew; // Display Results document.getElementById('refi-results').style.display = 'block'; document.getElementById('monthlySavings').innerText = '$' + monthlySavingsVal.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); if (monthlySavingsVal <= 0) { document.getElementById('breakEvenMonths').innerText = "Never (No Monthly Savings)"; document.getElementById('totalSavings').innerText = "$0.00 (Check Term/Rate)"; } else { document.getElementById('breakEvenMonths').innerText = Math.ceil(breakEvenVal) + " Months"; document.getElementById('totalSavings').innerText = '$' + totalSavingsVal.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); } // Smooth scroll to results document.getElementById('refi-results').scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment