Estimate your home buying power based on income and debt.
30 Years
20 Years
15 Years
10 Years
You can afford a home up to:
$0
Monthly Principal & Interest:$0
Monthly Gross Income:$0
Debt-to-Income Ratio:36%
How Much House Can I Afford?
Determining your home buying budget is the most critical step in the mortgage process. Lenders typically use the "28/36 Rule" to determine how much they are willing to lend. This rule suggests that your mortgage payment shouldn't exceed 28% of your gross monthly income, and your total debt payments shouldn't exceed 36%.
Key Factors in Home Affordability
Gross Annual Income: Your total earnings before taxes. Lenders look at the stability and history of this income.
Debt-to-Income (DTI) Ratio: The percentage of your monthly gross income that goes toward paying debts. A lower DTI ratio makes you a more attractive borrower.
Down Payment: The cash you pay upfront. A higher down payment reduces your loan amount and can eliminate the need for Private Mortgage Insurance (PMI).
Interest Rates: Even a 1% difference in interest rates can change your buying power by tens of thousands of dollars.
Example Affordability Calculation
If you earn $100,000 per year, your gross monthly income is approximately $8,333. Using the 36% rule, your total monthly debt (including the new mortgage) should not exceed $3,000. If you already have a $400 car payment, your maximum available mortgage payment (Principal, Interest, Taxes, and Insurance) would be roughly $2,600.
Note: This calculator provides an estimate for Principal and Interest. It does not include property taxes, homeowners insurance, or HOA fees, which vary significantly by location.
function calculateAffordability() {
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 loanTerm = parseInt(document.getElementById('loanTerm').value);
if (isNaN(annualIncome) || isNaN(monthlyDebt) || isNaN(downPayment) || isNaN(interestRate)) {
alert("Please enter valid numbers in all fields.");
return;
}
// Calculation Constants
var dtiLimit = 0.36; // 36% DTI rule
var monthlyIncome = annualIncome / 12;
// Calculate Maximum Allowed Monthly Mortgage Payment (P&I)
// Rule: (Income * 0.36) – Existing Debts
var maxMonthlyPayment = (monthlyIncome * dtiLimit) – monthlyDebt;
if (maxMonthlyPayment <= 0) {
document.getElementById('maxHomePrice').innerText = "Insufficient Income";
document.getElementById('monthlyPI').innerText = "$0";
return;
}
// Mortgage Formula: Loan Amount = P * [ (1 – (1 + r)^-n) / r ]
var periodicRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
var maxLoanAmount;
if (periodicRate === 0) {
maxLoanAmount = maxMonthlyPayment * numberOfPayments;
} else {
maxLoanAmount = maxMonthlyPayment * (1 – Math.pow(1 + periodicRate, -numberOfPayments)) / periodicRate;
}
var totalHomePrice = maxLoanAmount + downPayment;
// Formatting Results
document.getElementById('maxHomePrice').innerText = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
maximumFractionDigits: 0
}).format(totalHomePrice);
document.getElementById('monthlyPI').innerText = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(maxMonthlyPayment);
document.getElementById('monthlyIncomeDisplay').innerText = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(monthlyIncome);
document.getElementById('dtiDisplay').innerText = (dtiLimit * 100) + "%";
}
// Run calculation once on load
window.onload = function() {
calculateAffordability();
};