Understanding how much you can afford for a mortgage is a crucial first step in the home-buying process. This calculator helps you estimate your maximum affordable mortgage payment based on your income, debts, and down payment. Remember, this is an estimation, and lenders will consider many other factors.
function calculateAffordability() {
var monthlyIncome = parseFloat(document.getElementById("monthlyIncome").value);
var monthlyDebt = parseFloat(document.getElementById("monthlyDebt").value);
var downPayment = parseFloat(document.getElementById("downPayment").value);
var loanTermYears = parseInt(document.getElementById("loanTermYears").value);
var interestRate = parseFloat(document.getElementById("interestRate").value);
var propertyTaxesAnnual = parseFloat(document.getElementById("propertyTaxesAnnual").value);
var homeownersInsuranceAnnual = parseFloat(document.getElementById("homeownersInsuranceAnnual").value);
var pmiAnnual = parseFloat(document.getElementById("pmiAnnual").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
if (isNaN(monthlyIncome) || isNaN(monthlyDebt) || isNaN(downPayment) || isNaN(loanTermYears) || isNaN(interestRate) || isNaN(propertyTaxesAnnual) || isNaN(homeownersInsuranceAnnual) || isNaN(pmiAnnual)) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
// Lender Debt-to-Income (DTI) Ratios (common guidelines)
var maxFrontEndDTI = 0.28; // Typically 28% for PITI
var maxBackEndDTI = 0.36; // Typically 36% for PITI + other debts
var maxHousingPayment = monthlyIncome * maxFrontEndDTI;
var maxTotalDebtPayment = monthlyIncome * maxBackEndDTI;
var maxOtherDebtsAllowed = maxTotalDebtPayment – monthlyDebt;
if (maxOtherDebtsAllowed < 0) {
resultDiv.innerHTML = "Based on your existing debts and income, you may not qualify for a mortgage with these DTI ratios. Please consult a lender.";
return;
}
var monthlyPropertyTaxes = propertyTaxesAnnual / 12;
var monthlyHomeownersInsurance = homeownersInsuranceAnnual / 12;
var monthlyPmi = pmiAnnual / 12;
var maxPitiPayment = maxHousingPayment – monthlyPropertyTaxes – monthlyHomeownersInsurance – monthlyPmi;
if (maxPitiPayment <= 0) {
resultDiv.innerHTML = "Your estimated property taxes, insurance, and PMI alone exceed your maximum affordable housing payment based on a 28% front-end DTI. Consider a less expensive property or increasing your income.";
return;
}
// Mortgage Payment Calculation (P&I portion)
var monthlyInterestRate = (interestRate / 100) / 12;
var loanTermMonths = loanTermYears * 12;
// Formula for Monthly Mortgage Payment (P&I)
// M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1]
// Where:
// M = Monthly Payment
// P = Principal Loan Amount
// i = Monthly Interest Rate
// n = Number of Months
// We need to solve for P (Principal Loan Amount) given M (maxPitiPayment – P&I)
// Rearranged formula to find P:
// P = M [ (1 + i)^n – 1] / i(1 + i)^n
var principalLoanAmount = maxPitiPayment * (Math.pow(1 + monthlyInterestRate, loanTermMonths) – 1) / (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, loanTermMonths));
var maxAffordableHomePrice = principalLoanAmount + downPayment;
resultDiv.innerHTML =
"