Lets see how much it costs to sell a home.

<iframe title="Seller Net Proceeds Calculator" style="width:100%;max-width:1100px;height:860px;border:0;" sandbox="allow-scripts allow-forms allow-same-origin" srcdoc='

Seller Net Proceeds Calculator (Seattle area)

Sales Information

Sale Price ($)


Closing Date


Enter Your Remaining Mortgage Balance


Real Estate Fees

Listing Fee (%)


Buyer Broker Fee (%)


Commission is negotiable and set in the listing agreement.
Excise Tax (REET)

County (local REET add-on estimate)



Optional: Federal Capital Gains Estimate
WA State capital gains tax does not apply to real estate sales.

How much did you pay for the home when you bought it? (optional)


Filing status


Owner-occupied at least 2 of the last 5 years?


Simplified estimate uses a flat 15% rate and subtracts selling expenses by default. Confirm with a tax professional.
Estimated Net Proceeds
$0
Details
Listing commission: $0
Buyer broker commission: $0
WA State REET: $0
Local REET (est.): $0
Title insurance (est.): $0
Escrow fee (seller share, est.): $0
Recording/admin (est.): $0
Property tax proration (est.): $0

Mortgage Payoff: $0
Federal capital gains (est.): $0

Estimates only. Exact payoff, taxes, and fees are confirmed during escrow.
function money(n){ return Number(n || 0).toLocaleString(“en-US”,{style:”currency”,currency:”USD”}); } function clampNumber(x){ x = Number(x); return isFinite(x) ? x : 0; } function waStateREET(price){ price = clampNumber(price); var tax = 0; if(price <= 525000){ tax = price * 0.011; } else if(price <= 1525000){ tax = 525000 * 0.011 + (price – 525000) * 0.0128; } else if(price <= 3025000){ tax = 525000 * 0.011 + 1000000 * 0.0128 + (price – 1525000) * 0.0275; } else { tax = 525000 * 0.011 + 1000000 * 0.0128 + 1500000 * 0.0275 + (price – 3025000) * 0.03; } return tax; } function titleInsuranceEstimate(price){ price = clampNumber(price); var est = 1500 + Math.max(0, price – 800000) * 0.0005; est = Math.max(1200, est); est = Math.min(4500, est); return est; } function escrowSellerShareEstimate(price){ price = clampNumber(price); var totalEscrow = 900 + price * 0.0005; totalEscrow = Math.max(900, totalEscrow); totalEscrow = Math.min(2500, totalEscrow); return totalEscrow * 0.5; } function recordingAdminEstimate(){ return 350; } function estimatedPropertyTaxProration(price, closingDateStr){ var annualRate = 0.01; var annualTax = clampNumber(price) * annualRate; var d = new Date(closingDateStr); if(isNaN(d.getTime())) return 0; var year = d.getFullYear(); var start = new Date(year, 0, 1); var end = new Date(year + 1, 0, 1); var daysInYear = Math.round((end – start) / 86400000); var dayOfYear = Math.floor((d – start) / 86400000) + 1; if(dayOfYear daysInYear) dayOfYear = daysInYear; return annualTax * (dayOfYear / daysInYear); } function federalCapGainsEstimate(salePrice, purchasePrice, status, ownerOccYes, sellingExpenses, is1031){ salePrice = clampNumber(salePrice); purchasePrice = clampNumber(purchasePrice); sellingExpenses = clampNumber(sellingExpenses); if(!purchasePrice || status === “none”) return 0; var netForGain = Math.max(0, salePrice – sellingExpenses); var gain = Math.max(0, netForGain – purchasePrice); if(status === “investor”){ if(is1031) return 0; return gain * 0.15; } if(ownerOccYes){ if(status === “single”){ gain = Math.max(0, gain – 250000); } else if(status === “married”){ gain = Math.max(0, gain – 500000); } } return gain * 0.15; } function syncInvestorUI(){ var status = document.getElementById(“status”).value; var investorBox = document.getElementById(“investorBox”); investorBox.style.display = (status === “investor”) ? “block” : “none”; if(status !== “investor”){ document.getElementById(“is1031”).checked = false; } } function setResultsVisible(isVisible){ document.getElementById(“resultsWrap”).style.display = isVisible ? “block” : “none”; } function calculateNet(){ var price = clampNumber(document.getElementById(“salePrice”).value); var closingDate = document.getElementById(“closingDate”).value; var listPct = clampNumber(document.getElementById(“listPct”).value) / 100; var buyPct = clampNumber(document.getElementById(“buyPct”).value) / 100; var localREET = clampNumber(document.getElementById(“county”).value); var mortgagePayoff = clampNumber(document.getElementById(“mortgagePayoff”).value); var purchasePrice = clampNumber(document.getElementById(“purchasePrice”).value); var status = document.getElementById(“status”).value; var ownerOccYes = (document.getElementById(“ownerOcc”).value === “yes”); var is1031 = document.getElementById(“is1031”).checked; var listingFee = price * listPct; var buyerFee = price * buyPct; var stateREET = waStateREET(price); var localREETTax = price * localREET; var titleEst = titleInsuranceEstimate(price); var escrowSeller = escrowSellerShareEstimate(price); var recording = recordingAdminEstimate(); var propTaxProration = estimatedPropertyTaxProration(price, closingDate); // Keep this internally for net calculation (we just do not DISPLAY a summed line) var closingCosts = listingFee + buyerFee + stateREET + localREETTax + titleEst + escrowSeller + recording + propTaxProration; var sellingExpensesForGain = listingFee + buyerFee + stateREET + localREETTax + titleEst + escrowSeller + recording; var capGainsTax = federalCapGainsEstimate(price, purchasePrice, status, ownerOccYes, sellingExpensesForGain, is1031); var net = price – closingCosts – mortgagePayoff – capGainsTax; document.getElementById(“netProceeds”).innerText = money(net); document.getElementById(“listingFeeOut”).innerText = money(listingFee); document.getElementById(“buyerFeeOut”).innerText = money(buyerFee); document.getElementById(“stateREETOut”).innerText = money(stateREET); document.getElementById(“localREETOut”).innerText = money(localREETTax); document.getElementById(“titleOut”).innerText = money(titleEst); document.getElementById(“escrowOut”).innerText = money(escrowSeller); document.getElementById(“recordingOut”).innerText = money(recording); document.getElementById(“propTaxOut”).innerText = money(propTaxProration); document.getElementById(“mortgageOut”).innerText = money(mortgagePayoff); document.getElementById(“capGainsTax”).innerText = money(capGainsTax); } document.getElementById(“calcBtn”).addEventListener(“click”, function(){ syncInvestorUI(); calculateNet(); setResultsVisible(true); document.getElementById(“resultsWrap”).scrollIntoView({behavior:”smooth”,block:”start”}); }); [ “salePrice”,”closingDate”,”listPct”,”buyPct”,”county”,”mortgagePayoff”, “purchasePrice”,”status”,”ownerOcc”,”is1031″ ].forEach(function(id){ var el = document.getElementById(id); if(!el) return; el.addEventListener(“input”, function(){ syncInvestorUI(); if(document.getElementById(“resultsWrap”).style.display === “block”){ calculateNet(); } }); el.addEventListener(“change”, function(){ syncInvestorUI(); if(document.getElementById(“resultsWrap”).style.display === “block”){ calculateNet(); } }); }); syncInvestorUI(); setResultsVisible(false); ‘>