Estimate your monthly payments and total house cost.
30 Years Fixed
20 Years Fixed
15 Years Fixed
10 Years Fixed
Loan Amount:$0.00
Principal & Interest:$0.00
Monthly Tax & Insurance:$0.00
Total Monthly Payment:$0.00
How Mortgage Affordability is Calculated
Understanding how much house you can afford involves more than just looking at the sticker price. Lenders typically use the 28/36 rule. This means your mortgage payment shouldn't exceed 28% of your gross monthly income, and your total debt payments shouldn't exceed 36%.
Key Factors in Your Monthly Payment
Principal: The actual balance of the loan you are paying back.
Interest: The cost of borrowing the money, determined by your rate.
Taxes: Real estate taxes charged by your local government, usually held in escrow.
Insurance: Homeowners insurance to protect the property and the lender's investment.
Real-Life Example
If you purchase a home for $400,000 with a $80,000 (20%) down payment at a 6.5% interest rate for 30 years:
Loan Amount: $320,000
Monthly Principal & Interest: $2,022.62
Estimated Monthly Taxes/Insurance: $350.00
Total Monthly Payment: $2,372.62
Tips to Improve Affordability
To lower your monthly commitment, consider increasing your down payment to avoid Private Mortgage Insurance (PMI) or working on your credit score to secure a lower interest rate. Even a 0.5% difference in your interest rate can save you tens of thousands of dollars over the life of the loan.
function calculateMortgage() {
var homePrice = parseFloat(document.getElementById("homePrice").value);
var downPayment = parseFloat(document.getElementById("downPayment").value);
var annualRate = parseFloat(document.getElementById("interestRate").value);
var years = parseInt(document.getElementById("loanTerm").value);
var annualTax = parseFloat(document.getElementById("propertyTax").value) || 0;
var annualIns = parseFloat(document.getElementById("homeInsurance").value) || 0;
if (isNaN(homePrice) || isNaN(downPayment) || isNaN(annualRate) || homePrice <= 0) {
alert("Please enter valid positive numbers for price, down payment, and interest rate.");
return;
}
var loanAmount = homePrice – downPayment;
if (loanAmount <= 0) {
alert("Down payment cannot be greater than or equal to the home price.");
return;
}
var monthlyRate = (annualRate / 100) / 12;
var numberOfPayments = years * 12;
var monthlyPI = 0;
if (monthlyRate === 0) {
monthlyPI = loanAmount / numberOfPayments;
} else {
monthlyPI = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
}
var monthlyTaxIns = (annualTax + annualIns) / 12;
var totalMonthly = monthlyPI + monthlyTaxIns;
document.getElementById("resLoanAmount").innerText = "$" + loanAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resPI").innerText = "$" + monthlyPI.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resTaxIns").innerText = "$" + monthlyTaxIns.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resTotal").innerText = "$" + totalMonthly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("results").style.display = "block";
}