Understanding how much mortgage you can afford is a crucial step in the home-buying process. This calculator helps you estimate your maximum mortgage loan amount based on your income, debts, and desired monthly payment.
When determining mortgage affordability, lenders typically consider several factors:
Gross Monthly Income: This is your income before taxes and other deductions. Lenders often use this as the primary indicator of your ability to repay a loan.
Existing Monthly Debt Payments: This includes payments for credit cards, auto loans, student loans, personal loans, and any other recurring debt obligations.
Down Payment: The amount of money you pay upfront towards the purchase price of the home. A larger down payment reduces the loan amount you need.
Interest Rate: The annual interest rate on the mortgage loan. Higher interest rates mean higher monthly payments.
Loan Term: The length of the mortgage, typically 15 or 30 years. Longer terms result in lower monthly payments but more interest paid over time.
Lenders often use debt-to-income ratios (DTI) to assess risk. A common guideline is that your total monthly housing expenses (including principal, interest, taxes, and insurance) should not exceed 28% of your gross monthly income, and your total monthly debt obligations (including housing) should not exceed 36% of your gross monthly income. This calculator simplifies these calculations to give you a general idea of affordability.
function calculateMortgageAffordability() {
var grossMonthlyIncome = parseFloat(document.getElementById("grossMonthlyIncome").value);
var existingMonthlyDebt = parseFloat(document.getElementById("existingMonthlyDebt").value);
var downPayment = parseFloat(document.getElementById("downPayment").value);
var interestRate = parseFloat(document.getElementById("interestRate").value);
var loanTerm = parseFloat(document.getElementById("loanTerm").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
if (isNaN(grossMonthlyIncome) || grossMonthlyIncome <= 0 ||
isNaN(existingMonthlyDebt) || existingMonthlyDebt < 0 ||
isNaN(downPayment) || downPayment < 0 ||
isNaN(interestRate) || interestRate <= 0 ||
isNaN(loanTerm) || loanTerm <= 0) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
// Lender DTI guidelines (common benchmarks)
var maxHousingExpenseRatio = 0.28; // 28% of gross income for housing
var maxTotalDebtRatio = 0.36; // 36% of gross income for total debt
var maxTotalMonthlyPayment = grossMonthlyIncome * maxTotalDebtRatio;
var maxHousingPayment = grossMonthlyIncome * maxHousingExpenseRatio;
var maxAllowedDebtFromOtherDebts = maxTotalMonthlyPayment – existingMonthlyDebt;
// Ensure housing payment doesn't exceed total debt limits
var affordableMonthlyHousingPayment = Math.min(maxHousingPayment, maxAllowedDebtFromOtherDebts);
if (affordableMonthlyHousingPayment 0) {
maxLoanAmount = affordableMonthlyHousingPayment * (1 – Math.pow(1 + monthlyInterestRate, -numberOfPayments)) / monthlyInterestRate;
} else {
// Handle 0% interest rate case (though unlikely for mortgages)
maxLoanAmount = affordableMonthlyHousingPayment * numberOfPayments;
}
// Deduct down payment to get maximum home price
var maxHomePrice = maxLoanAmount + downPayment;
// Display results
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 0,
maximumFractionDigits: 0,
});
resultDiv.innerHTML =
"Estimated maximum affordable monthly housing payment: " + formatter.format(affordableMonthlyHousingPayment) + "" +
"Estimated maximum mortgage loan amount: " + formatter.format(maxLoanAmount) + "" +
"Estimated maximum affordable home price (including down payment): " + formatter.format(maxHomePrice) + "" +
"Note: These are estimates based on common DTI ratios (28% housing / 36% total debt). Actual lender qualification may vary.";
}