Discover your maximum home buying power based on income and debt.
Financial Details
Credit cards, car loans, student loans
Loan & Property Terms
30 Years
20 Years
15 Years
10 Years
You Can Afford A Home Price Of:
$0
Max Monthly Payment:$0
Principal & Interest:$0
Taxes & Insurance:$0
HOA Fees:$0
Note: This calculation uses the standard "28/36 rule" used by most lenders. It ensures your housing costs don't exceed 28% of gross income and total debts don't exceed 36%.
How Much House Can I Really Afford?
Determining your home buying power is the critical first step in the real estate journey. While it's tempting to look at homes based on what you think you can pay, lenders use specific mathematical ratios to determine your eligibility. This Mortgage Affordability Calculator replicates those underwriting standards to give you a realistic budget.
Understanding the 28/36 Rule
Most conventional mortgage lenders utilize the 28/36 rule to assess risk. This rule consists of two separate debt-to-income (DTI) limiters:
Front-End Ratio (28%): Your estimated monthly housing costs (Mortgage principal, interest, property taxes, insurance, and HOA) should not exceed 28% of your gross monthly income.
Back-End Ratio (36%): Your total monthly debt obligations (Housing costs + credit cards, student loans, car payments, alimony, etc.) should not exceed 36% of your gross monthly income.
Our calculator computes both scenarios and uses the lower number to ensure you don't overextend financially or face rejection during the mortgage application process.
Factors That Impact Your Affordability
Interest Rates
Even a 1% rise in interest rates can significantly reduce your buying power. Higher rates increase your monthly payment, meaning you can borrow less capital for the same monthly budget.
Property Taxes
Property taxes vary wildly by location. A home in a high-tax area will have a lower maximum purchase price because more of your monthly payment limit goes toward taxes rather than the loan principal.
Down Payment
A larger down payment increases affordability in two ways: it lowers the loan amount needed and reduces the monthly principal and interest payments, fitting better within the 28/36 ratios.
Existing Debt
High monthly debts (like car leases or student loans) inflate your back-end ratio. Paying off a monthly obligation before applying can sometimes increase your home budget by tens of thousands of dollars.
function calculateAffordability() {
// 1. Get Inputs
var income = parseFloat(document.getElementById('calc_income').value) || 0;
var debts = parseFloat(document.getElementById('calc_debts').value) || 0;
var downPayment = parseFloat(document.getElementById('calc_downpayment').value) || 0;
var interestRate = parseFloat(document.getElementById('calc_interest').value) || 0;
var years = parseFloat(document.getElementById('calc_term').value) || 30;
var taxRate = parseFloat(document.getElementById('calc_tax_rate').value) || 0;
var insurance = parseFloat(document.getElementById('calc_insurance').value) || 0;
var hoa = parseFloat(document.getElementById('calc_hoa').value) || 0;
// 2. Constants & Conversions
var monthlyIncome = income / 12;
var monthlyRate = (interestRate / 100) / 12;
var months = years * 12;
var monthlyTaxRate = (taxRate / 100) / 12;
var monthlyInsurance = insurance / 12;
// 3. Determine Max Allowable Monthly Payment (The lesser of Front-End or Back-End)
// Front-End: 28% of Gross Income
var limitFrontEnd = monthlyIncome * 0.28;
// Back-End: 36% of Gross Income minus existing debts
var limitBackEnd = (monthlyIncome * 0.36) – debts;
// The absolute max payment user can make for housing (P&I + Tax + Ins + HOA)
var maxTotalPayment = Math.min(limitFrontEnd, limitBackEnd);
// Safety check for negative budget
if (maxTotalPayment <= 0) {
document.getElementById('result_max_price').innerHTML = "$0";
document.getElementById('result_monthly_payment').innerHTML = "Income too low";
return;
}
// 4. Reverse Calculate Home Price
// Formula derivation:
// TotalPayment = (Loan * K) + (Price * MonthlyTaxRate) + MonthlyIns + HOA
// Loan = Price – DownPayment
// TotalPayment = ((Price – DownPayment) * K) + (Price * MonthlyTaxRate) + MonthlyIns + HOA
// TotalPayment – MonthlyIns – HOA + (DownPayment * K) = Price * (K + MonthlyTaxRate)
// Price = (TotalPayment – MonthlyIns – HOA + (DownPayment * K)) / (K + MonthlyTaxRate)
var price = 0;
var mortgageConstant = 0;
// Handle zero interest rate edge case
if (monthlyRate === 0) {
mortgageConstant = 1 / months;
} else {
mortgageConstant = (monthlyRate * Math.pow(1 + monthlyRate, months)) / (Math.pow(1 + monthlyRate, months) – 1);
}
// Calculate numerator and denominator for Price formula
var numerator = maxTotalPayment – monthlyInsurance – hoa + (downPayment * mortgageConstant);
var denominator = mortgageConstant + monthlyTaxRate;
price = numerator / denominator;
// 5. Final Calculations based on derived Price
if (price < 0) price = 0;
var loanAmount = price – downPayment;
if (loanAmount < 0) loanAmount = 0;
var principalInterest = loanAmount * mortgageConstant;
var taxAmount = price * monthlyTaxRate;
var calculatedTotalPayment = principalInterest + taxAmount + monthlyInsurance + hoa;
// 6. Display Results
// Format currency helper
var fmt = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0 });
document.getElementById('result_max_price').innerHTML = fmt.format(price);
document.getElementById('result_monthly_payment').innerHTML = fmt.format(calculatedTotalPayment) + "/mo";
document.getElementById('result_pi').innerHTML = fmt.format(principalInterest);
document.getElementById('result_ti').innerHTML = fmt.format(taxAmount + monthlyInsurance);
document.getElementById('result_hoa').innerHTML = fmt.format(hoa);
}
// Initialize on load
window.onload = function() {
calculateAffordability();
};