Mortgage Rate Buydown Calculator
.bdr-calculator-wrapper {
max-width: 800px;
margin: 0 auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
color: #333;
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.bdr-calc-header {
background: #2c3e50;
color: white;
padding: 20px;
text-align: center;
}
.bdr-calc-header h2 {
margin: 0;
font-size: 24px;
}
.bdr-calc-body {
padding: 30px;
display: flex;
flex-wrap: wrap;
gap: 30px;
}
.bdr-input-section {
flex: 1;
min-width: 300px;
}
.bdr-result-section {
flex: 1;
min-width: 300px;
background: #f8fafc;
padding: 20px;
border-radius: 8px;
border: 1px solid #e2e8f0;
display: none; /* Hidden by default */
}
.bdr-form-group {
margin-bottom: 20px;
}
.bdr-form-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #4a5568;
}
.bdr-input-wrapper {
position: relative;
display: flex;
align-items: center;
}
.bdr-input-control {
width: 100%;
padding: 12px;
border: 1px solid #cbd5e0;
border-radius: 6px;
font-size: 16px;
transition: border-color 0.2s;
}
.bdr-input-control:focus {
outline: none;
border-color: #3182ce;
box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.1);
}
.bdr-suffix {
position: absolute;
right: 12px;
color: #718096;
}
.bdr-prefix {
position: absolute;
left: 12px;
color: #718096;
}
.bdr-input-control.has-prefix {
padding-left: 30px;
}
.bdr-btn {
width: 100%;
background: #3182ce;
color: white;
border: none;
padding: 14px;
font-size: 16px;
font-weight: 600;
border-radius: 6px;
cursor: pointer;
transition: background 0.2s;
}
.bdr-btn:hover {
background: #2c5282;
}
.bdr-result-item {
margin-bottom: 20px;
border-bottom: 1px solid #e2e8f0;
padding-bottom: 15px;
}
.bdr-result-item:last-child {
border-bottom: none;
margin-bottom: 0;
}
.bdr-result-label {
font-size: 14px;
color: #718096;
margin-bottom: 5px;
}
.bdr-result-value {
font-size: 24px;
font-weight: 700;
color: #2d3748;
}
.bdr-result-value.highlight {
color: #38a169;
}
.bdr-breakeven-box {
background: #ebf8ff;
border: 1px solid #bee3f8;
color: #2b6cb0;
padding: 15px;
border-radius: 6px;
text-align: center;
margin-top: 10px;
}
.bdr-content-section {
max-width: 800px;
margin: 40px auto;
line-height: 1.6;
color: #2d3748;
}
.bdr-content-section h2 {
font-size: 28px;
margin-bottom: 20px;
color: #2c3e50;
}
.bdr-content-section h3 {
font-size: 22px;
margin-top: 30px;
margin-bottom: 15px;
color: #2c3e50;
}
.bdr-content-section p {
margin-bottom: 15px;
}
.bdr-content-section ul {
margin-bottom: 20px;
padding-left: 20px;
}
.bdr-content-section li {
margin-bottom: 10px;
}
.error-msg {
color: #e53e3e;
font-size: 14px;
margin-top: 5px;
display: none;
}
Monthly Payment Savings
$0.00
Months to Recoup Cost
0 Months
Breakeven Timeline:
0.0 Years
Total Savings Over Full Term
$0.00
*Calculations assumes fixed-rate mortgage. Does not include taxes or insurance.
function calculateBreakeven() {
// 1. Get Inputs
var principal = parseFloat(document.getElementById("principalAmount").value);
var years = parseFloat(document.getElementById("loanTermYears").value);
var standardRate = parseFloat(document.getElementById("standardRate").value);
var reducedRate = parseFloat(document.getElementById("boughtDownRate").value);
var costOfPoints = parseFloat(document.getElementById("pointsCost").value);
var errorDiv = document.getElementById("rateError");
var resultsDiv = document.getElementById("resultsContainer");
// 2. Validation
if (isNaN(principal) || principal <= 0 ||
isNaN(years) || years <= 0 ||
isNaN(standardRate) ||
isNaN(reducedRate) ||
isNaN(costOfPoints) || costOfPoints = standardRate) {
errorDiv.style.display = "block";
resultsDiv.style.display = "none";
return;
} else {
errorDiv.style.display = "none";
}
// 3. Calculation Logic
var n = years * 12; // Total number of payments
// Monthly Interest Rates
var rStandard = (standardRate / 100) / 12;
var rReduced = (reducedRate / 100) / 12;
// Monthly Payment Calculation Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ]
// Standard Payment
var paymentStandard = 0;
if (standardRate === 0) {
paymentStandard = principal / n;
} else {
paymentStandard = principal * (rStandard * Math.pow(1 + rStandard, n)) / (Math.pow(1 + rStandard, n) – 1);
}
// Reduced Payment
var paymentReduced = 0;
if (reducedRate === 0) {
paymentReduced = principal / n;
} else {
paymentReduced = principal * (rReduced * Math.pow(1 + rReduced, n)) / (Math.pow(1 + rReduced, n) – 1);
}
var monthlySavings = paymentStandard – paymentReduced;
// Breakeven Calculation
var monthsToBreakeven = 0;
if (monthlySavings > 0) {
monthsToBreakeven = costOfPoints / monthlySavings;
}
var yearsToBreakeven = monthsToBreakeven / 12;
// Total Savings over life of loan (Net)
// (Monthly Savings * Total Months) – Cost of Points
var totalLifetimeSavings = (monthlySavings * n) – costOfPoints;
// 4. Update UI
document.getElementById("monthlySavingsDisplay").innerHTML = "$" + monthlySavings.toFixed(2);
document.getElementById("monthsToBreakevenDisplay").innerHTML = Math.ceil(monthsToBreakeven) + " Months";
// Format text for years text
var yearsText = Math.floor(yearsToBreakeven) + " Years, " + Math.round((yearsToBreakeven % 1) * 12) + " Months";
document.getElementById("yearsToBreakevenDisplay").innerHTML = yearsText;
// Handle Total Savings display (could be negative if loan term is short vs cost, though unlikely with standard points)
var savingsElement = document.getElementById("totalSavingsDisplay");
if (totalLifetimeSavings >= 0) {
savingsElement.innerHTML = "$" + totalLifetimeSavings.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
savingsElement.style.color = "#2d3748";
} else {
savingsElement.innerHTML = "-$" + Math.abs(totalLifetimeSavings).toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
savingsElement.style.color = "#e53e3e";
}
resultsDiv.style.display = "block";
}
Understanding Mortgage Rate Buydowns
A mortgage rate buydown is a financial strategy where a borrower pays an upfront fee, often referred to as "discount points," to lower the interest rate on their loan for the entire term. This calculator helps you determine if the upfront cost is justified by the monthly savings.
What is the Breakeven Point?
The breakeven point is the most critical metric in this calculation. It represents the time it takes for your accumulated monthly savings to equal the upfront cost of the discount points.
The Math: Total Cost of Points ÷ Monthly Savings = Months to Breakeven.
If you plan to stay in the home and keep the mortgage longer than the breakeven period, buying down the rate is generally a sound financial decision. If you plan to sell or refinance before this date, you will lose money on the transaction.
Key Inputs Explained
- Mortgage Principal: The total amount you are borrowing (Home Price minus Down Payment).
- Standard Interest Rate: The interest rate you qualify for without paying any extra fees (the par rate).
- Reduced Interest Rate: The lower rate offered by the lender in exchange for paying points.
- Cost of Points: The cash amount you must pay at closing to secure the lower rate. Typically, one "point" costs 1% of the loan amount and lowers the rate by 0.25%, though this varies by lender.
When Should You Buy Down the Rate?
Buying discount points is most effective when:
- You plan to own the home for a long time (past the breakeven point).
- You do not anticipate interest rates dropping significantly in the near future (which would allow for a refinance).
- You have sufficient cash reserves to pay the upfront fee without jeopardizing your emergency fund.