Gift of equity calculator
A home worth 400,000 sold to a child for 350,000 carries a 50,000 gift of equity; with an 18,000 annual exclusion, 32,000 remains reportable. Enter the sale price, the market value and the exclusion before anyone drafts a gift letter. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Sale price
- 350,000
- Fair market value
- 400,000
- Annual exclusion
- 18,000
- Gift of equity
- 50,000
- Excluded amount
- 18,000
- Reportable gift
- 32,000
A gift of equity happens when a home is sold below fair market value, typically to a family member, and the discount is treated as a gift for tax reporting. This gift of equity calculator takes the contracted sale price, the fair market value of the property, and the annual gift-tax exclusion that applies to the donor, then returns the reportable gift amount after that exclusion is applied.
What a gift of equity is and how the reportable amount appears
A gift of equity is the discount a seller grants when a home is conveyed for less than fair market value. In a typical intra-family sale, a parent lists a house worth four hundred thousand and contracts to sell it to a child for three hundred fifty thousand: the fifty-thousand gap is equity transferred as a gift rather than as cash at the table.
United States gift-tax rules treat that gap as a present-interest gift in the year of closing, and the donor may apply the annual exclusion that applies for that calendar year before any remainder is reportable on a gift-tax return. When the sale price is at or above fair market value there is no discount, so both the raw gift and the reportable amount are zero. When the discount is smaller than the exclusion, the raw gift is still shown but the reportable gift is zero because the exclusion covers it.
The calculator does not look up an IRS table, split a gift-splitting election between spouses, allocate a lifetime exemption, or compute capital-gain basis for the buyer. You supply three finite numbers in one currency; it subtracts, floors at zero, and rounds money half-up to two decimal places so goldens compare byte-for-byte across runtimes.
What you can do with it
Intra-family home sale
Turn a parent-to-child contract price and an appraisal into the reportable gift of equity after the annual exclusion, before anyone drafts a gift letter.
Closing and title worksheets
Drop sale price, fair market value, and the year's exclusion into a closing worksheet so the discount sits next to the payoff and the down-payment credit.
FAQ
How is a gift of equity calculated?
Subtract the sale price from the fair market value; if the result is negative, the gift is zero. Then subtract the annual exclusion to get the reportable part. A 400,000 home sold for 350,000 with an 18,000 exclusion leaves 32,000 to report.
What if the discount is smaller than the annual exclusion?
The gift of equity is still shown, but the reportable amount is zero because the exclusion covers it in full. The same happens when the home sells at or above market value: there is no discount, so nothing is reportable.
Which annual exclusion figure should I enter?
The one that applies to this donor and this recipient for the tax year in which the sale closes. The calculator does not look it up for you, so take it from the official figure for that year or from your tax adviser.
Does it handle gift splitting or the lifetime exemption?
No. It does not split a gift between spouses, use up any lifetime exemption or work out the buyer's tax basis for a later sale. It only gives the discount and the part left after one annual exclusion.
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/gift-of-equity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sale_price":350000,"fair_market_value":400000,"annual_exclusion":18000}'const res = await fetch("https://api.kit.forhosting.com/fin/gift-of-equity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sale_price": 350000,
"fair_market_value": 400000,
"annual_exclusion": 18000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/gift-of-equity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sale_price": 350000,
"fair_market_value": 400000,
"annual_exclusion": 18000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/gift-of-equity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sale_price":350000,"fair_market_value":400000,"annual_exclusion":18000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sale_price":350000,"fair_market_value":400000,"annual_exclusion":18000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/gift-of-equity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"sale_price": 350000,
"fair_market_value": 400000,
"annual_exclusion": 18000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.gift_of_equity",
"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
Fair market value must not be negative: a negative appraisal cannot define equity, so that case fails with invalid_input and is not billed.
What a gift of equity is and how the reportable amount appears
This calculator encodes that identity without filing a return: gift_of_equity equals the greater of zero and fair_market_value minus sale_price; reportable_gift equals the greater of zero and gift_of_equity minus annual_exclusion. Fair market value that is negative is rejected as invalid_input: a negative appraisal cannot define equity, and inventing a gift from a nonsense value would be worse than failing closed.
Input contract, response shape, and error behaviour
Example: a four-hundred-thousand fair market value sold for three hundred fifty thousand with an eighteen-thousand annual exclusion yields a fifty-thousand gift of equity and a thirty-two-thousand reportable gift. POST a JSON body with three required finite numbers. sale_price is the contracted consideration for the home in one currency unit; aliases sale, price, selling_price, and consideration map to the same field so a closing worksheet can keep its column names. fair_market_value is the appraisal or other supportable value on the sale date; aliases fmv, market_value, appraised_value, and appraisal are accepted. annual_exclusion is the annual gift-tax exclusion that applies to this donor and this donee for the tax year of the sale; aliases exclusion, gift_exclusion, and annual_gift_exclusion are accepted. Each numeric field may arrive as a JSON number or a numeric string. Missing fields, empty strings, and non-finite values fail with invalid_input naming the field. A negative sale_price or a negative annual_exclusion is also rejected: a contracted price and an exclusion cannot be less than zero. On success the body echoes sale_price, fair_market_value, and annual_exclusion, then reports gift_of_equity as the raw discount floored at zero, excluded_amount as the slice covered by the annual exclusion, reportable_gift as the remainder that may need a gift-tax return, exceeds_exclusion as a boolean, and a formula string restating the identity. Pair the JSON with your own tax-year table for which exclusion applies, because this endpoint subtracts the number you send; it does not look up an IRS publication, an appraisal, or a filing status.
Where a gift of equity calculator earns its keep
Family-sale desks and real-estate attorneys use a gift of equity calculator to turn a contracted price and an appraisal into one reportable number before anyone drafts a gift letter or a Form 709 outline. Title and escrow teams drop the same three fields into a closing worksheet so the discount is visible next to the payoff and the down-payment credit, instead of living only in a sidebar email. Gift of equity prices one home sale against one annual exclusion. Failed validation does not consume balance. Lenders that allow a gift of equity as a source of funds re-run the identity when the appraisal comes in, then pin reportable_gift beside gift_of_equity so underwriting can see both the credit toward the purchase and the tax remainder. This is a different search and a different job from combined loan-to-value, from debt-to-income, from a capital-gains estimate, and from a generic gift-tax lifetime-exemption tracker: those tools price liens against value, monthly obligations against income, basis against proceeds, or cumulative gifts against a remaining exemption. Keep fair_market_value non-negative, send a non-negative sale price and exclusion, pin the rounded money in tests, and you get a reproducible reportable gift for closing memos, LMS plugins, and edge workers without standing up a tax-prep engine of your own.
Integration use cases
Lender gift-of-equity credit
Re-run the same three fields when the appraisal lands, and pin reportable_gift beside gift_of_equity so underwriting can see both the purchase credit and the tax remainder.
Technical questions
How is a gift of equity calculated on a home sale?
Send finite non-negative sale_price, fair_market_value, and annual_exclusion. The API returns gift_of_equity as max(0, fair_market_value − sale_price) and reportable_gift as max(0, gift_of_equity − annual_exclusion).
What happens if fair market value is negative?
The task fails with invalid_input. A negative appraisal cannot define a gift of equity, so the request is not billed.
What is the reportable gift after the annual exclusion?
reportable_gift is the raw gift of equity minus the annual exclusion you supply, floored at zero. If the discount is smaller than the exclusion, reportable_gift is zero while gift_of_equity still shows the discount.
What if the sale price is at or above fair market value?
There is no discount, so gift_of_equity and reportable_gift are both zero. That is a successful result, not an error.
What does the gift of equity calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.