Discover how much house you can realistically afford based on your finances.
30 Years Fixed
20 Years Fixed
15 Years Fixed
10 Years Fixed
Your Estimated Budget
$0
How Is Home Affordability Calculated?
Calculating how much house you can afford involves more than just looking at your savings. Lenders primarily use the Debt-to-Income (DTI) ratio to determine your borrowing capacity. Typically, lenders prefer that your total monthly debt payments (including your new mortgage) do not exceed 36% to 43% of your gross monthly income.
The 28/36 Rule
A standard benchmark in the mortgage industry is the 28/36 rule:
28%: Your monthly mortgage payment (Principal, Interest, Taxes, and Insurance) should not exceed 28% of your gross monthly income.
36%: Your total debt payments (including the mortgage) should not exceed 36% of your gross monthly income.
Factors That Impact Your Budget
1. Interest Rates: Even a 1% change in interest rates can shift your purchasing power by tens of thousands of dollars. Lower rates allow you to borrow more for the same monthly payment.
2. Down Payment: The more you put down upfront, the lower your loan amount and monthly interest costs. Putting 20% down also helps you avoid Private Mortgage Insurance (PMI).
3. Property Taxes & Insurance: These are often "hidden" costs. Our calculator estimates these as part of your monthly obligation, as they are usually paid via an escrow account with your mortgage.
Example Calculation
If you earn $100,000 annually ($8,333/month) and have $500 in existing monthly debts:
At a 36% DTI, your max total monthly debt is $3,000.
Subtracting $500 in existing debts leaves $2,500 for your mortgage payment.
With a 6.5% interest rate on a 30-year term, this could support a home price of approximately $400,000 (depending on down payment and taxes).
function calculateHomeAffordability() {
var annualIncome = parseFloat(document.getElementById('aff_annualIncome').value);
var monthlyDebts = parseFloat(document.getElementById('aff_monthlyDebts').value);
var downPayment = parseFloat(document.getElementById('aff_downPayment').value);
var annualRate = parseFloat(document.getElementById('aff_interestRate').value);
var loanYears = parseFloat(document.getElementById('aff_loanTerm').value);
var taxRate = parseFloat(document.getElementById('aff_propertyTax').value) / 100;
if (isNaN(annualIncome) || isNaN(monthlyDebts) || isNaN(downPayment) || isNaN(annualRate)) {
alert("Please enter valid numbers in all fields.");
return;
}
// Constants for estimation
var dtiLimit = 0.36; // Using conservative 36% DTI
var annualInsuranceRate = 0.005; // 0.5% of home value for insurance estimate
var grossMonthlyIncome = annualIncome / 12;
var maxMonthlyTotalDebt = grossMonthlyIncome * dtiLimit;
var availableForMortgage = maxMonthlyTotalDebt – monthlyDebts;
if (availableForMortgage <= 0) {
document.getElementById('aff_resultContainer').style.display = "block";
document.getElementById('aff_housePrice').innerText = "Debt Too High";
document.getElementById('aff_breakdownText').innerHTML = "Your current monthly debts exceed the recommended 36% DTI ratio. Consider reducing debt to increase affordability.";
return;
}
// Formula to back-calculate Loan Amount (L) from Monthly Payment (P)
// P = L * [i(1+i)^n] / [(1+i)^n – 1] + Monthly Taxes + Monthly Insurance
// We estimate Taxes + Insurance as (taxRate + insuranceRate) * HomePrice / 12
// HomePrice = Loan + DownPayment
// This requires solving for Loan:
var i = (annualRate / 100) / 12;
var n = loanYears * 12;
var factor = (i * Math.pow(1 + i, n)) / (Math.pow(1 + i, n) – 1);
// Total Monthly Payment P = [Loan * factor] + [(Loan + DownPayment) * (taxRate + 0.005) / 12]
// P = Loan * (factor + (taxRate + 0.005)/12) + (DownPayment * (taxRate + 0.005)/12)
// Loan = (P – (DownPayment * (taxRate + 0.005)/12)) / (factor + (taxRate + 0.005)/12)
var annualTaxAndIns = (taxRate + annualInsuranceRate) / 12;
var loanAmount = (availableForMortgage – (downPayment * annualTaxAndIns)) / (factor + annualTaxAndIns);
if (loanAmount < 0) loanAmount = 0;
var totalHomePrice = loanAmount + downPayment;
var monthlyPI = loanAmount * factor;
var monthlyTaxIns = totalHomePrice * annualTaxAndIns;
// Format results
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
maximumFractionDigits: 0
});
document.getElementById('aff_resultContainer').style.display = "block";
document.getElementById('aff_housePrice').innerText = formatter.format(totalHomePrice);
document.getElementById('aff_breakdownText').innerHTML =
"Monthly Payment Breakdown:" +
"Principal & Interest: " + formatter.format(monthlyPI) + "" +
"Taxes & Insurance: " + formatter.format(monthlyTaxIns) + "" +
"Total Monthly Payment: " + formatter.format(monthlyPI + monthlyTaxIns) + "" +
"Note: This estimate uses a " + (dtiLimit * 100) + "% Debt-to-Income ratio and includes estimated taxes and insurance.";
}