Calculate your available equity and monthly interest-only payments.
Estimated Max Credit Line$0.00
Interest-Only Payment (Monthly)$0.00
Full P+I Payment (Repayment Phase)$0.00
How a Home Equity Line of Credit (HELOC) Works
A Home Equity Line of Credit (HELOC) is a revolving line of credit, similar to a credit card, but it is secured by your home's equity. Because it is a secured loan, interest rates are typically much lower than those of credit cards or personal loans.
The Calculation Formula
Lenders generally follow a specific set of rules to determine how much you can borrow:
Max Borrowing Base: (Home Value × Max LTV%) – Current Mortgage Balance.
Repayment Phase: Calculated using the standard amortization formula for the principal and interest over the remaining term.
Example Scenario
If your home is worth $500,000 and your lender allows an 80% LTV, your total borrowing limit is $400,000. If you already owe $300,000 on your primary mortgage, your available HELOC would be $100,000.
Note: Most HELOCs have variable interest rates. This means your monthly payment can fluctuate as the prime rate changes. Our calculator provides estimates based on your current inputs.
Draw Period vs. Repayment Period
During the Draw Period (usually the first 10 years), you typically only pay interest on the money you actually spend. During the Repayment Period (usually the following 10 to 20 years), you can no longer withdraw funds and must pay back both the principal and interest.
function calculateHeloc() {
var homeValue = parseFloat(document.getElementById("homeValue").value);
var mortgageBalance = parseFloat(document.getElementById("mortgageBalance").value);
var ltvLimit = parseFloat(document.getElementById("ltvLimit").value) / 100;
var drawAmount = parseFloat(document.getElementById("drawAmount").value);
var apr = parseFloat(document.getElementById("interestRate").value) / 100;
var years = parseFloat(document.getElementById("repaymentYears").value);
var resultsDiv = document.getElementById("helocResults");
var errorMsg = document.getElementById("errorMsg");
errorMsg.style.display = "none";
if (isNaN(homeValue) || isNaN(mortgageBalance) || isNaN(ltvLimit) || isNaN(drawAmount) || isNaN(apr) || isNaN(years)) {
alert("Please fill in all fields with valid numbers.");
return;
}
// 1. Calculate Max Credit Line
var totalAllowedValue = homeValue * ltvLimit;
var maxCredit = totalAllowedValue – mortgageBalance;
if (maxCredit maxCredit) {
errorMsg.innerText = "Notice: The draw amount exceeds your estimated max credit line of $" + maxCredit.toLocaleString() + ".";
errorMsg.style.display = "block";
}
// 2. Calculate Interest Only Payment
var monthlyInterestOnly = (drawAmount * apr) / 12;
// 3. Calculate Full Repayment Payment (Amortization)
var monthlyRate = apr / 12;
var totalMonths = years * 12;
var pPlusI = 0;
if (apr > 0) {
pPlusI = drawAmount * (monthlyRate * Math.pow(1 + monthlyRate, totalMonths)) / (Math.pow(1 + monthlyRate, totalMonths) – 1);
} else {
pPlusI = drawAmount / totalMonths;
}
// Update UI
document.getElementById("maxCreditLine").innerText = "$" + maxCredit.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("interestOnlyPayment").innerText = "$" + monthlyInterestOnly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("fullPayment").innerText = "$" + pPlusI.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
resultsDiv.style.display = "block";
resultsDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}