Estimate how much house you can afford based on your income, debts, and down payment.
30 Years
20 Years
15 Years
10 Years
Your Estimated Results
Maximum Purchase Price:
Estimated Loan Amount:
Estimated Monthly Payment (PITI):
Debt-to-Income Ratio (DTI):
How Home Affordability is Calculated
Lenders determine how much you can borrow by looking at your Debt-to-Income (DTI) ratio. This is the percentage of your gross monthly income that goes toward paying debts. Most conventional lenders prefer a DTI ratio of 36% or lower, though some programs allow up to 43% or even 50% in specific cases.
The 28/36 Rule
Financial experts often use the 28/36 rule to gauge affordability:
28%: Your mortgage payment (Principal, Interest, Taxes, and Insurance) should not exceed 28% of your monthly gross income.
36%: Your total debt payments (mortgage plus car loans, student loans, and credit cards) should not exceed 36% of your monthly gross income.
Key Factors Influencing Your Buying Power
Several variables change the final price tag you can handle:
Interest Rates: Even a 1% increase in interest rates can reduce your purchasing power by tens of thousands of dollars.
Down Payment: A larger down payment reduces your monthly loan amount and may eliminate the need for Private Mortgage Insurance (PMI).
Property Taxes and Insurance: These vary significantly by location. A home in a high-tax district will reduce the amount you can spend on the actual mortgage principal.
Loan Term: A 15-year mortgage has higher monthly payments than a 30-year mortgage, which reduces the total price you can afford but saves you thousands in interest over time.
Example Calculation
If you earn $100,000 annually, your gross monthly income is $8,333. Using the 36% DTI rule, your total debt shouldn't exceed $3,000 per month. If you have a $500 car payment, you have roughly $2,500 available for your home payment (PITI). At a 6.5% interest rate with a 20% down payment, this could translate to a home price of approximately $425,000 depending on local tax rates.
function calculateHomeAffordability() {
var annualIncome = parseFloat(document.getElementById("annualIncome").value);
var monthlyDebts = parseFloat(document.getElementById("monthlyDebts").value);
var downPayment = parseFloat(document.getElementById("downPayment").value);
var interestRate = parseFloat(document.getElementById("interestRate").value) / 100 / 12;
var loanYears = parseFloat(document.getElementById("loanTerm").value);
var taxRate = (parseFloat(document.getElementById("propertyTax").value) / 100) / 12;
var insuranceRate = 0.0035 / 12; // Average annual home insurance estimate (0.35%)
if (isNaN(annualIncome) || isNaN(monthlyDebts) || isNaN(downPayment) || isNaN(interestRate)) {
alert("Please enter valid numerical values.");
return;
}
var monthlyGrossIncome = annualIncome / 12;
var totalMonths = loanYears * 12;
// Using a 36% DTI limit as the benchmark for "Affordable"
var maxMonthlyBudget = monthlyGrossIncome * 0.36;
var availableForPITI = maxMonthlyBudget – monthlyDebts;
if (availableForPITI <= 0) {
alert("Your monthly debts exceed the recommended debt-to-income ratio for a new mortgage.");
return;
}
// Solving for Loan Amount (L) where PITI = P&I + Taxes + Insurance
// Monthly P&I = L * [i(1+i)^n] / [(1+i)^n – 1]
// Taxes/Insurance approx = (L + DownPayment) * (taxRate + insuranceRate)
var amortFactor = (interestRate * Math.pow(1 + interestRate, totalMonths)) / (Math.pow(1 + interestRate, totalMonths) – 1);
// Algebraic simplification to isolate Loan Amount (L)
// availableForPITI = (L * amortFactor) + ((L + downPayment) * taxRate) + ((L + downPayment) * insuranceRate)
// availableForPITI = L * (amortFactor + taxRate + insuranceRate) + (downPayment * (taxRate + insuranceRate))
var monthlyTaxInsOnDownPayment = downPayment * (taxRate + insuranceRate);
var denominator = amortFactor + taxRate + insuranceRate;
var loanAmount = (availableForPITI – monthlyTaxInsOnDownPayment) / denominator;
if (loanAmount <= 0) {
alert("Based on your income and debts, the estimated property taxes and insurance exceed your affordable budget.");
return;
}
var maxHomePrice = loanAmount + downPayment;
var actualDTI = (availableForPITI + monthlyDebts) / monthlyGrossIncome * 100;
// Update UI
document.getElementById("maxPrice").innerText = "$" + maxHomePrice.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0});
document.getElementById("maxLoan").innerText = "$" + loanAmount.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0});
document.getElementById("monthlyPayment").innerText = "$" + availableForPITI.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("dtiRatio").innerText = actualDTI.toFixed(1) + "%";
document.getElementById("affordabilityResults").style.display = "block";
}