Estimate your buying power based on income, debt, and current rates.
15 Years
20 Years
30 Years
Conservative (28/36 Rule)
Aggressive (43% Max)
Maximum Home Price
$0
Max Monthly Payment:$0
Loan Amount:$0
Est. Property Tax (mo):$0
Est. Insurance (mo):$0
Understanding Home Affordability
Determining how much house you can afford is the critical first step in the home buying process. It prevents you from falling in love with a property that is outside your financial reach and ensures you maintain a comfortable lifestyle after moving in. This calculator uses standard Debt-to-Income (DTI) ratios used by lenders to estimate your maximum budget.
Expert Tip: Just because a lender approves you for a certain amount doesn't mean you should spend it all. Consider your personal savings goals and lifestyle costs that lenders don't see.
The 28/36 Rule Explained
Most financial advisors and mortgage lenders use the 28/36 rule to determine affordability:
Front-End Ratio (28%): Your monthly housing costs (mortgage principal, interest, property taxes, and insurance) should not exceed 28% of your gross monthly income.
Back-End Ratio (36%): Your total monthly debt payments (including the new mortgage plus credit cards, student loans, car payments, etc.) should not exceed 36% of your gross monthly income.
Our calculator checks both of these limits and uses the lower number to ensure you stay within safe borrowing limits. If you choose the "Aggressive" option, the calculator allows for a higher total debt ratio (up to 43%), which is the absolute maximum for most Qualified Mortgages.
Factors That Impact Your Buying Power
Several variables can significantly change your price range:
Interest Rates: Even a 1% increase in interest rates can reduce your buying power by tens of thousands of dollars.
Down Payment: A larger down payment not only lowers your loan amount but also reduces the monthly principal and interest payment, allowing you to afford a more expensive home.
Property Taxes: High-tax areas reduce the amount of monthly cash available for the mortgage principal, lowering your maximum purchase price.
Existing Debt: Reducing your credit card or car loan balances frees up monthly cash flow, directly increasing your mortgage qualification amount.
How to Use This Calculator
To get the most accurate result, enter your Gross Annual Income (before taxes). Sum up all your minimum monthly debt payments found on your credit report. Be realistic about your potential interest rate by checking current market averages. Finally, input your available cash for a down payment to see the total home price you can target.
function calculateAffordability() {
// 1. Get Inputs
var annualIncome = parseFloat(document.getElementById('annualIncome').value);
var monthlyDebt = parseFloat(document.getElementById('monthlyDebt').value);
var downPayment = parseFloat(document.getElementById('downPayment').value);
var interestRate = parseFloat(document.getElementById('interestRate').value);
var loanTermYears = parseInt(document.getElementById('loanTerm').value);
var propertyTaxRate = parseFloat(document.getElementById('propertyTaxRate').value);
var homeInsuranceYearly = parseFloat(document.getElementById('homeInsurance').value);
var dtiMode = document.getElementById('dtiRatio').value;
// 2. Validation
if (isNaN(annualIncome) || annualIncome <= 0) {
alert("Please enter a valid annual income.");
return;
}
if (isNaN(interestRate) || isNaN(downPayment) || isNaN(loanTermYears)) {
alert("Please fill in all required fields correctly.");
return;
}
// Handle default 0 for debt
if (isNaN(monthlyDebt)) monthlyDebt = 0;
if (isNaN(propertyTaxRate)) propertyTaxRate = 0;
if (isNaN(homeInsuranceYearly)) homeInsuranceYearly = 0;
// 3. Calculation Logic
var monthlyIncome = annualIncome / 12;
var monthlyInsurance = homeInsuranceYearly / 12;
// Define Ratios
var frontEndRatio = 0.28;
var backEndRatio = 0.36;
if (dtiMode === 'aggressive') {
frontEndRatio = 0.36; // Looser housing cap
backEndRatio = 0.43; // FHA/QM max limits
}
// Calculate Max Allowable Housing Payment based on Income
var maxHousingPaymentFront = monthlyIncome * frontEndRatio;
var maxTotalDebtPayment = monthlyIncome * backEndRatio;
var maxHousingPaymentBack = maxTotalDebtPayment – monthlyDebt;
// The actual limit is the lower of the two
var maxMonthlyPayment = Math.min(maxHousingPaymentFront, maxHousingPaymentBack);
// If debts are too high, max payment might be negative
if (maxMonthlyPayment 0) {
loanAmount = availableForPrincipalAndTax / (mortgageFactor + taxFactor);
} else {
loanAmount = 0;
}
var homePrice = loanAmount + downPayment;
var estimatedMonthlyTax = (homePrice * (propertyTaxRate / 100)) / 12;
// 4. Formatting Output
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
maximumFractionDigits: 0
});
document.getElementById('resultContainer').style.display = "block";
document.getElementById('maxHomePrice').innerHTML = formatter.format(homePrice);
document.getElementById('maxMonthlyPayment').innerHTML = formatter.format(maxMonthlyPayment);
document.getElementById('loanAmountResult').innerHTML = formatter.format(loanAmount);
document.getElementById('monthlyTaxResult').innerHTML = formatter.format(estimatedMonthlyTax);
document.getElementById('monthlyInsResult').innerHTML = formatter.format(monthlyInsurance);
}