Estimate how much house you can buy based on the 28/36 rule.
Maximum Home Price
$0
Max Monthly Mortgage Payment (P&I):$0
Taxes, Insurance & HOA:$0
Total Monthly Housing Cost:$0
Limiting Factor:–
How We Calculate Your Home Affordability
Understanding how much house you can afford is the first step in the home buying journey. This calculator uses the industry-standard 28/36 Rule used by most mortgage lenders to determine your eligibility.
What is the 28/36 Rule?
Lenders look at two key ratios to ensure you aren't overleveraging yourself:
The Front-End Ratio (28%): Housing costs (mortgage principal, interest, taxes, insurance, and HOA) should not exceed 28% of your gross monthly income.
The Back-End Ratio (36%): Your total monthly debt payments (housing costs plus car loans, student loans, credit cards, etc.) should not exceed 36% of your gross monthly income.
Key Factors Affecting Your Buying Power
Down Payment: A larger down payment reduces the loan amount needed, directly increasing the price of the home you can afford for the same monthly payment.
Interest Rates: Even a 1% difference in interest rates can significantly change your purchasing power. Lower rates mean more of your monthly payment goes toward the home's principal rather than interest.
Existing Debt: High monthly debts (like a large car payment) reduce your "Back-End" allowance, often capping your home budget lower than your income alone would suggest.
Tips for Increasing Affordability
If the results above are lower than you hoped, consider paying off high-interest consumer debt before applying for a mortgage. Reducing your monthly obligations frees up room in your 36% ratio, allowing lenders to approve you for a larger loan amount.
function calculateAffordability() {
// Get Input Values
var grossAnnual = document.getElementById('grossIncome').value;
var monthlyDebt = document.getElementById('monthlyDebt').value;
var downPayment = document.getElementById('downPayment').value;
var interestRate = document.getElementById('interestRate').value;
var termYears = document.getElementById('loanTerm').value;
var propTaxAnnual = document.getElementById('propertyTax').value;
var insuranceAnnual = document.getElementById('insurance').value;
var hoaFees = document.getElementById('hoaFees').value;
// Element for error and results
var errorDiv = document.getElementById('errorDisplay');
var resultsDiv = document.getElementById('resultsArea');
// Reset display
errorDiv.style.display = 'none';
resultsDiv.style.display = 'none';
// Validation
if (!grossAnnual || !interestRate || !termYears) {
errorDiv.innerText = "Please fill in all required fields (Income, Rate, Term).";
errorDiv.style.display = 'block';
return;
}
// Parse numbers
var income = parseFloat(grossAnnual);
var debt = monthlyDebt ? parseFloat(monthlyDebt) : 0;
var down = downPayment ? parseFloat(downPayment) : 0;
var ratePercent = parseFloat(interestRate);
var years = parseFloat(termYears);
var tax = propTaxAnnual ? parseFloat(propTaxAnnual) : 0;
var ins = insuranceAnnual ? parseFloat(insuranceAnnual) : 0;
var hoa = hoaFees ? parseFloat(hoaFees) : 0;
// Calculations
var monthlyIncome = income / 12;
var monthlyTax = tax / 12;
var monthlyIns = ins / 12;
var fixedHousingCosts = monthlyTax + monthlyIns + hoa;
// Calculate Max Allowable Housing Payment based on 28% Rule (Front End)
var maxFrontEnd = monthlyIncome * 0.28;
// Calculate Max Allowable Housing Payment based on 36% Rule (Back End)
// (Income * 0.36) – Existing Debts = Money left for housing
var maxBackEnd = (monthlyIncome * 0.36) – debt;
// The lender will take the LOWER of the two
var maxTotalHousingPayment = Math.min(maxFrontEnd, maxBackEnd);
// Determine limiting factor for display
var limitingFactorText = (maxFrontEnd < maxBackEnd) ? "Front-End Ratio (Income Limit)" : "Back-End Ratio (Debt Limit)";
if (maxBackEnd < 0) maxBackEnd = 0; // Edge case: Debt is too high
// Calculate Max Principal & Interest (P&I) Payment available
var maxPI = maxTotalHousingPayment – fixedHousingCosts;
if (maxPI <= 0) {
errorDiv.innerText = "Your current debts and estimated taxes/fees exceed the allowable ratios. You may need to reduce debt or find a property with lower taxes/HOA.";
errorDiv.style.display = 'block';
return;
}
// Calculate Max Loan Amount based on Max P&I
// Formula: Loan = Pmt * (1 – (1+r)^-n) / r
var r = ratePercent / 100 / 12;
var n = years * 12;
var maxLoanAmount = 0;
if (r === 0) {
maxLoanAmount = maxPI * n;
} else {
maxLoanAmount = maxPI * (1 – Math.pow(1 + r, -n)) / r;
}
// Total Home Price = Max Loan + Down Payment
var maxHomePrice = maxLoanAmount + down;
// Update UI
document.getElementById('maxPriceResult').innerText = '$' + Math.floor(maxHomePrice).toLocaleString();
document.getElementById('maxPIResult').innerText = '$' + maxPI.toFixed(2);
document.getElementById('totalEscrow').innerText = '$' + fixedHousingCosts.toFixed(2);
document.getElementById('totalHousingCost').innerText = '$' + maxTotalHousingPayment.toFixed(2);
document.getElementById('limitFactor').innerText = limitingFactorText;
resultsDiv.style.display = 'block';
}