HELOC calculator
A home worth 400,000 with 220,000 left on the mortgage and an 80% cap supports a 100,000 credit line; drawing 40,000 at 8.5% costs 283.33 a month in interest and leaves 60,000 available. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Home value
- 400,000
- Mortgage balance
- 220,000
- Credit limit percentage
- 80
- Interest rate
- 8.5
- Draw
- 40,000
- Credit line
- 100,000
- Available credit
- 60,000
- Payment
- 283.33
A home-equity line of credit, or HELOC, is a revolving facility secured by unused equity in a house: the gap between current home value and the remaining first-mortgage balance, capped by the combined loan-to-value percentage a lender will underwrite. Borrowers shop this product by two cash numbers, not by marketing copy: how large a credit line that cap actually supports, and how much leaves the account each month on the dollars already drawn during the interest-only draw period. This HELOC calculator accepts home value, outstanding mortgage balance, the credit-limit percentage, the annual interest rate as a percent, and the current or proposed draw. It returns the credit line, remaining available credit, and the interest-only monthly payment.
What a HELOC credit line and monthly payment mean
A HELOC credit line is the maximum revolving amount a lender will attach to a house after the first mortgage, given a combined loan-to-value cap. If the home is worth H and the first-mortgage balance is B, and the lender underwrites a credit-limit percentage L (commonly eighty or eighty-five percent of value), the line is H times L divided by one hundred, minus B. That remainder is unused equity the second lien can claim.
A draw D against that line is the amount currently outstanding on the HELOC itself; remaining available credit is the line minus the draw. During a typical United States draw period, most HELOC products quote an interest-only monthly payment: payment equals D times the annual rate as a percent, divided by twelve hundred. That identity is not an amortizing installment.
Principal is not required to decline during the draw years, so a zero draw produces a zero payment even when a large unused line remains. When the annual rate is zero the payment is also zero, which is the honest special case for a genuine promotional period rather than a divide-by-zero. Money fields round to two decimal places so they match currency.
The calculator does not invent origination fees, annual fees, or a repayment-period amortizing schedule: those belong in a separate quote. It also does not look up a credit score or a county limit. Feed the numbers the lender already printed on the term sheet, and you get the same line and payment a loan officer would pencil beside the CLTV cap.
Where a HELOC calculator earns its keep
Educators teaching revolving home-equity products versus closed-end seconds can seed classroom examples that fail loudly when the rate is negative, instead of silently treating a minus sign as a refund. Content teams can illustrate a zero-draw standby line, where payment collapses to zero while the unused credit line remains intact. Failed validation does not consume balance.
Keep the rate at or above zero, pin the rounded money fields in tests, and you get reproducible HELOC figures for widgets, LMS modules, and edge workers without a loan-origination stack of your own.
What you can do with it
Compare HELOC term sheets
Turn home value, remaining mortgage, CLTV percent, rate, and planned draw into credit line, leftover available credit, and the interest-only monthly payment before opening a second lien.
Home-equity landing pages
Let visitors enter a listed value, mortgage balance, lender CLTV cap, current rate, and remodel budget to see the HELOC line and monthly draw-period payment next to each product card.
FAQ
How is the HELOC credit line calculated?
Remaining available credit is that line minus the draw.
How is the monthly HELOC payment calculated?
During the draw period the payment is interest-only: payment = draw × (rate / 100) / 12. A zero draw or a zero rate yields a zero payment.
What happens if the interest rate is negative?
A HELOC annual interest rate must not be negative. Zero is allowed and produces a zero interest-only payment; negatives are rejected and not billed.
What if the draw is larger than the credit line?
The draw must be a finite number ≥ 0 and must not exceed the computed credit line. A mortgage that already sits above the CLTV cap (a negative line) is also rejected as insufficient equity.
Does the monthly payment reduce what I owe?
No. During the draw period the payment shown is interest only: the drawn amount times the yearly rate, divided by twelve. Your balance stays the same unless you repay principal, and the later repayment period with amortizing payments is not calculated here.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/heloc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"home_value":400000,"mortgage_balance":220000,"credit_limit_percentage":80,"rate":8.5,"draw":40000}'const res = await fetch("https://api.kit.forhosting.com/fin/heloc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"home_value": 400000,
"mortgage_balance": 220000,
"credit_limit_percentage": 80,
"rate": 8.5,
"draw": 40000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/heloc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"home_value": 400000,
"mortgage_balance": 220000,
"credit_limit_percentage": 80,
"rate": 8.5,
"draw": 40000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/heloc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"home_value":400000,"mortgage_balance":220000,"credit_limit_percentage":80,"rate":8.5,"draw":40000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"home_value":400000,"mortgage_balance":220000,"credit_limit_percentage":80,"rate":8.5,"draw":40000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/heloc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"home_value": 400000,
"mortgage_balance": 220000,
"credit_limit_percentage": 80,
"rate": 8.5,
"draw": 40000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.heloc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
A negative rate fails with invalid_input instead of inventing a refund.
Input contract, response shape, and error behaviour
Rate is the field the product contract singles out: it must not be negative. Zero is allowed and yields a zero interest-only payment. POST a JSON body with five required fields: home_value, the current appraised or market value as a finite number strictly greater than zero (aliases value, appraised_value, and property_value); mortgage_balance, the outstanding first-mortgage principal as a finite number at least zero (aliases balance, first_mortgage, and mortgage); credit_limit_percentage, the combined loan-to-value cap as a percent such as eighty for eighty percent of value, finite, greater than zero, and at most one hundred (aliases cltv, ltv, credit_limit_pct, and limit_percent); rate, the annual nominal HELOC interest as a percent such as eight point five for eight and a half percent per year, finite and at least zero (aliases annual_rate, interest_rate, and apr); and draw, the amount currently drawn or proposed to be drawn, finite and at least zero, not exceeding the computed credit line (aliases amount, drawn, and draw_amount). Each numeric field may arrive as a JSON number or as a numeric string. Missing fields, empty strings, non-finite values, a non-positive home_value, a negative mortgage_balance or draw, a credit-limit percentage outside the open-closed range above, and any negative rate fail with invalid_input naming the field and are not billed. On success the body echoes the five inputs and adds credit_line, available_credit, payment, and a formula string restating the identities. Example: home_value four hundred thousand, mortgage_balance two hundred twenty thousand, credit_limit_percentage eighty, rate eight and a half, draw forty thousand yields a one-hundred-thousand credit line, sixty thousand of remaining available credit, and an interest-only monthly payment rounded to two decimals. Pair the figure with your own fee table if the lender adds an annual fee outside the line; this endpoint computes line and draw-period interest only.
Where a HELOC calculator earns its keep
Quote tools and CRM pipelines can call the same pure module from the browser for free previews and from the API when storing a scenario, guaranteeing that the payment a visitor saw on a landing page matches the payment stored after they save a quote. Homeowners already know the mortgage balance from a statement; posting home_value, mortgage_balance, credit_limit_percentage, rate, and draw fills a card with credit line, leftover available credit, and the interest-only payment so they can see whether a kitchen remodel still fits under an eighty-percent cap.
Integration use cases
Quote and CRM pipelines
Store home_value, mortgage_balance, credit_limit_percentage, rate, and draw in a quote tool whose API payment matches the free browser preview byte for byte.
Technical questions
What does the HELOC calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.