Mortgage Affordability Calculator
Use this calculator to estimate how much house you can afford based on your income, debts, and desired mortgage terms.
Understanding Mortgage Affordability
Determining how much house you can afford is a crucial step in the home-buying process. It's not just about qualifying for a loan; it's about choosing a home that fits comfortably within your budget for the long term. Several factors influence your mortgage affordability, and this calculator is designed to give you a clearer picture.
Key Factors in Mortgage Affordability:
- Annual Household Income: This is the primary driver of your borrowing power. Lenders look at your total income to assess your ability to repay the loan.
- Total Monthly Debt Payments: This includes existing obligations like credit card payments, student loans, auto loans, and any other recurring debts. Lenders use these to calculate your debt-to-income (DTI) ratio.
- Down Payment: The larger your down payment, the less you need to borrow, which reduces your monthly payments and potentially the interest paid over the life of the loan. It can also help you avoid Private Mortgage Insurance (PMI).
- Interest Rate: Even small differences in interest rates can significantly impact your monthly payments and the total cost of the mortgage.
- Loan Term: A shorter loan term (e.g., 15 years) results in higher monthly payments but less interest paid overall. A longer term (e.g., 30 years) means lower monthly payments but more interest paid over time.
- Property Taxes: These are an annual expense that varies by location and property value. They are typically included in your monthly mortgage payment (escrow).
- Homeowner's Insurance: This is also usually paid monthly as part of your escrow. It protects against damage to your home.
- Private Mortgage Insurance (PMI): If your down payment is less than 20% of the home's purchase price, lenders typically require PMI to protect themselves against your default. This is an additional monthly cost.
How the Calculator Works:
Our Mortgage Affordability Calculator takes your inputs and estimates your maximum affordable home price. It considers the common lending guideline that your total housing payment (Principal, Interest, Taxes, Insurance, and PMI – often called PITI) should not exceed a certain percentage of your gross monthly income, typically around 28-36% (though this can vary). It also factors in your existing debt to ensure your total debt-to-income ratio remains manageable, usually capped around 36-43%.
The calculation involves:
- Estimating your maximum allowable monthly housing payment based on income and existing debts.
- Calculating the estimated monthly principal and interest (P&I) payment for various loan amounts based on the interest rate and loan term.
- Factoring in the monthly costs of property taxes, homeowner's insurance, and PMI.
- Determining the maximum loan amount you can afford by working backward from your maximum allowable PITI payment.
- Adding your down payment to the maximum loan amount to arrive at an estimated maximum affordable home price.
Disclaimer: This calculator provides an estimate and is for informational purposes only. It does not constitute financial advice. Your actual loan approval amount may differ based on the lender's specific underwriting criteria, your credit score, and other financial factors.
Example Scenario:
Let's say you have an Annual Household Income of $100,000. You have Total Monthly Debt Payments of $600 (e.g., car loan and credit card). You plan to make a Down Payment of $30,000. You're looking at a mortgage with an Annual Interest Rate of 7% over a 30-Year Loan Term. The estimated Annual Property Taxes are $3,000, Annual Homeowner's Insurance is $1,500, and estimated PMI is $900 annually.
Based on these figures, the calculator will estimate how much house you could potentially afford.
function calculateMortgageAffordability() { 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 = parseFloat(document.getElementById("loanTerm").value); var propertyTaxes = parseFloat(document.getElementById("propertyTaxes").value); var homeInsurance = parseFloat(document.getElementById("homeInsurance").value); var pmi = parseFloat(document.getElementById("pmi").value); var resultDiv = document.getElementById("result"); resultDiv.innerHTML = ""; // Clear previous results if (isNaN(annualIncome) || isNaN(monthlyDebt) || isNaN(downPayment) || isNaN(interestRate) || isNaN(loanTerm) || isNaN(propertyTaxes) || isNaN(homeInsurance) || isNaN(pmi)) { resultDiv.innerHTML = "Please enter valid numbers for all fields."; return; } var monthlyIncome = annualIncome / 12; var maxTotalDebtRatio = 0.43; // Max DTI ratio var maxHousingRatio = 0.36; // Max housing ratio (PITI) var maxAllowableTotalPayment = monthlyIncome * maxTotalDebtRatio; var maxAllowableHousingPayment = monthlyIncome * maxHousingRatio; var maxExistingMonthlyDebt = monthlyDebt; var maxAllowableMortgagePayment = maxAllowableTotalPayment – maxExistingMonthlyDebt; // Ensure housing payment doesn't exceed total payment allowance if (maxAllowableMortgagePayment > maxAllowableHousingPayment) { maxAllowableMortgagePayment = maxAllowableHousingPayment; } if (maxAllowableMortgagePayment < 0) { resultDiv.innerHTML = "Based on your income and existing debt, affordability may be limited. Please consult a lender."; return; } var monthlyPropertyTaxes = propertyTaxes / 12; var monthlyHomeInsurance = homeInsurance / 12; var monthlyPMI = pmi / 12; var maxAllowablePITI = maxAllowableMortgagePayment; var maxAllowablePrincipalInterest = maxAllowablePITI – monthlyPropertyTaxes – monthlyHomeInsurance – monthlyPMI; if (maxAllowablePrincipalInterest 0) { // Formula for Present Value of an Annuity: PV = P * [1 – (1 + r)^-n] / r // Rearranged to solve for P (Principal): P = PV * r / [1 – (1 + r)^-n] // Here, P is maxAllowablePrincipalInterest, PV is maxLoanAmount maxLoanAmount = maxAllowablePrincipalInterest * (1 – Math.pow(1 + ratePerPeriod, -numberOfPeriods)) / ratePerPeriod; maxLoanAmount = maxLoanAmount / (1 – Math.pow(1 + ratePerPeriod, -numberOfPeriods)) * ratePerPeriod; } else { // Handle 0% interest rate case maxLoanAmount = maxAllowablePrincipalInterest * numberOfPeriods; } var maxAffordableHomePrice = maxLoanAmount + downPayment; resultDiv.innerHTML = "Estimated Maximum Affordable Home Price: $" + maxAffordableHomePrice.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,') + "" + "(This estimate assumes PITI is approx. " + (maxAllowablePITI / monthlyIncome * 100).toFixed(1) + "% of your gross monthly income and total DTI is approx. " + (maxAllowableTotalPayment / monthlyIncome * 100).toFixed(1) + "%.)" + "Note: This is a simplified estimate. Lender approval depends on credit score, loan type, and specific underwriting guidelines."; }