Refinance Calculator

Free Loan Repayment Schedule Tool

Refinance Calculator

Estimate savings based on your current and new loan terms.

$Please enter a positive number
%Please enter a positive number
Please enter a positive number
Please enter a year up to 2025
$Please enter a positive number
Please enter a positive number%
Please enter a positive number
$Please enter a positive number
$Please enter a non-negative number

Refinance Savings Summary

Based on your inputs, here are your potential savings.

Monthly Savings
$0.00
New Monthly Payment
$0.00
Break-Even Point
N/A
Lifetime Savings
$0.00

Savings Timeline

MonthTotal SavingsComments

Total Savings / Break Even

`); printWindow.document.close(); printWindow.print(); }); }function updateSavingsGraph(timeline, maxMonths, lifetimeSavings) { // Dynamically set SVG width to match table width const tableWidth = savingsTable.getBoundingClientRect().width; savingsChartSvg.setAttribute('width', tableWidth); savingsChartSvg.setAttribute('viewBox', `0 0 ${tableWidth} 220`); savingsChartSvg.innerHTML = ''; if (timeline.length === 0 || maxMonths <= 0) { savingsChartSvg.innerHTML = `No data to display`; return; }const height = 220; const m = { top: 20, right: 20, bottom: 35, left: 60 }; // Increased left margin for y-axis labels const w = tableWidth - m.left - m.right; const h = height - m.top - m.bottom; const maxY = Math.max(Math.abs(Math.min(...timeline.map(d => d.savings))), Math.abs(Math.max(...timeline.map(d => d.savings))), 1);const g = document.createElementNS("http://www.w3.org/2000/svg", "g"); g.setAttribute("transform", `translate(${m.left},${m.top})`); savingsChartSvg.appendChild(g);const xScale = month => (month / maxMonths) * w; const yScale = v => h - ((v + maxY) / (2 * maxY)) * h;// Draw Grid and Axes for (let i = 0; i <= 5; i++) { const y = h * (i / 5); const line = document.createElementNS("http://www.w3.org/2000/svg", "line"); line.setAttribute('x1', 0); line.setAttribute('x2', w); line.setAttribute('y1', y); line.setAttribute('y2', y); line.setAttribute('class', 'grid'); g.appendChild(line); const text = document.createElementNS("http://www.w3.org/2000/svg", "text"); text.setAttribute('x', -10); text.setAttribute('y', y + 4); text.setAttribute('class', 'axis-label'); text.setAttribute('text-anchor', 'end'); text.textContent = formatCurrency(maxY * (1 - i / 5) - maxY); g.appendChild(text); }const step = Math.max(1, Math.ceil(maxMonths / 72)); for (let i = 0; i <= maxMonths; i += step * 12) { const x = xScale(i); const line = document.createElementNS("http://www.w3.org/2000/svg", "line"); line.setAttribute('x1', x); line.setAttribute('x2', x); line.setAttribute('y1', 0); line.setAttribute('y2', h); line.setAttribute('class', 'grid'); g.appendChild(line); const text = document.createElementNS("http://www.w3.org/2000/svg", "text"); text.setAttribute('x', x); text.setAttribute('y', h + 20); text.setAttribute('class', 'axis-label'); text.setAttribute('text-anchor', 'middle'); text.textContent = i; g.appendChild(text); }// Draw Line const path = document.createElementNS("http://www.w3.org/2000/svg", "path"); let d = `M0,${yScale(timeline[0].savings)}`; timeline.forEach((point, i) => { if (i > 0 && isFinite(point.savings)) { d += ` L${xScale(point.month)},${yScale(point.savings)}`; } }); path.setAttribute('d', d); path.setAttribute('class', 'line'); g.appendChild(path);// Add Hover Area const hoverArea = document.createElementNS("http://www.w3.org/2000/svg", "rect"); hoverArea.setAttribute('x', 0); hoverArea.setAttribute('y', 0); hoverArea.setAttribute('width', w); hoverArea.setAttribute('height', h); hoverArea.setAttribute('fill', 'transparent'); g.appendChild(hoverArea);// Hover Logic (Mouse and Touch) function handleHover(e) { const rect = savingsChartSvg.getBoundingClientRect(); const x = (e.clientX || e.touches[0].clientX) - rect.left - m.left; const month = Math.round((x / w) * maxMonths); let closestPoint = timeline.reduce((prev, curr) => Math.abs(curr.month - month) < Math.abs(prev.month - month) ? curr : prev ); if (month < 0) closestPoint = timeline[0]; if (month > maxMonths) closestPoint = timeline[timeline.length - 1];// Linear interpolation for smoother savings value const index = timeline.findIndex(p => p.month === closestPoint.month); let savings; if (index < timeline.length - 1) { const p1 = timeline[index]; const p2 = timeline[index + 1]; const t = (month - p1.month) / (p2.month - p1.month); savings = p1.savings + t * (p2.savings - p1.savings); } else { savings = closestPoint.savings; }graphTooltip.textContent = `Month ${month}: ${formatCurrency(savings)}`; const tooltipX = (e.clientX || e.touches[0].clientX) + 10; const tooltipY = (e.clientY || e.touches[0].clientY) - 10; graphTooltip.style.left = `${Math.min(tooltipX, window.innerWidth - graphTooltip.offsetWidth - 10)}px`; graphTooltip.style.top = `${Math.max(tooltipY, 10)}px`; graphTooltip.classList.add('active'); }hoverArea.addEventListener('mousemove', handleHover); hoverArea.addEventListener('touchmove', handleHover); hoverArea.addEventListener('mouseout', () => graphTooltip.classList.remove('active')); hoverArea.addEventListener('touchend', () => graphTooltip.classList.remove('active')); }calculateAndDisplay(); });

Top Reasons to Refinance Your Mortgage

Lower Your Interest Rate

Secure a lower rate to reduce your monthly payments and save thousands over the life of your loan.

Access Cash from Equity

A cash-out refinance lets you tap into your home's equity to fund projects or consolidate debt.

Cancel Mortgage Insurance

If you have enough equity, you can refinance to eliminate costly Private Mortgage Insurance (PMI).

Pay Off Your Loan Faster

Switch to a shorter loan term, like a 15-year mortgage, to build equity faster and save on interest.

Switch Loan Types

Convert an adjustable-rate mortgage (ARM) to a stable fixed-rate loan for predictable payments.

Calculate Your Breakeven

Our calculator helps you find the breakeven point to see if refinancing is truly worth the cost.

What is Mortgage Refinancing?

Refinancing a mortgage is the process of replacing your existing home loan with a new one that better suits your current financial situation. When you refinance, the funds from the new mortgage are used to pay off your old one, leaving you with a single, new loan. This is often done to get a lower interest rate, reduce your monthly payment, or access your home's equity.

Just like when you first bought your home, you'll need to apply and provide financial documents like pay stubs, W-2s, and bank statements. Your lender will also need the details of your current mortgage to help calculate the best refinance option for you.

How Much Does It Cost to Refinance?

Refinancing isn't free. You can expect closing costs to be between 2% and 6% of your new loan amount. These fees vary by lender and location and can include appraisal fees, title insurance, and lender origination fees. Many lenders allow you to roll these costs into your new loan balance, but this will increase the total amount you owe. It's crucial to compare official Loan Estimates from at least three different lenders to analyze your true costs and potential savings.

Is Refinancing Worth It?

The decision to refinance depends on your goals. Generally, it's worthwhile if the total interest you'll save over the life of the new loan is greater than the closing costs. Our **refinance calculator** is the perfect tool to determine your breakeven point—the month when your monthly savings officially surpass the upfront costs of the refinance. If you plan to sell your home before reaching that point, refinancing may not be the right financial move.

Understanding Your New Amortization Schedule

When you refinance, you restart your mortgage clock with a new amortization schedule. While your monthly payment might be lower, it's important to realize that you'll go back to paying more interest than principal in the early years of the new loan. If you've already paid down a significant portion of your original mortgage, use a **loan refinance calculator** to carefully analyze how restarting the amortization schedule will impact your long-term equity growth and total interest paid.

Frequently Asked Questions About Refinancing

How often can you refinance your home?

Legally, you can refinance as many times as you want. However, most lenders require a "seasoning" period, typically around six months, between loans. Each time you consider it, you should use a refinance calculator to ensure the costs and savings make financial sense for your current situation.

What credit score is needed to refinance?

Most lenders look for a minimum credit score of 620 to refinance a home. However, to get the best and most favorable interest rates, a score of 740 or higher is ideal. A higher credit score signals to lenders that you are a lower-risk borrower, which often translates to significant savings.

How much equity do you need to refinance?

Equity requirements vary. For a standard rate-and-term refinance, lenders often like to see at least 5% to 10% equity. However, if your goal is to cancel private mortgage insurance (PMI), you will typically need at least 20% equity. For cash-out refinances, where you borrow against your equity, lenders usually require you to leave at least 20% equity untouched in your home.

What is a "no-closing-cost" refinance?

A "no-closing-cost" refinance doesn't mean the fees disappear. Instead, the lender covers these costs for you in one of two ways: either by rolling them into your total loan balance (increasing what you owe) or by charging you a slightly higher interest rate. While you won't pay cash at closing, you will pay for these costs over the life of the loan through a larger principal or higher interest payments.