Mortgage Affordability Calculator
Use this calculator to estimate how much mortgage you can afford based on your income, debts, and desired down payment.
Understanding Mortgage Affordability
Determining how much mortgage you can afford is a crucial step in the home-buying process. It helps you set realistic expectations and focus your property search on homes within your financial reach. Several key factors influence your borrowing capacity:
- Annual Household Income: Lenders will look at your total income from all sources to gauge your ability to repay the loan.
- Existing Monthly Debt Payments: This includes car loans, student loans, credit card minimum payments, and any other recurring debt. High debt-to-income ratios can significantly impact your affordability.
- Down Payment: A larger down payment reduces the loan amount you need to borrow, making the mortgage more manageable and potentially securing a better interest rate.
- Interest Rate: Even small changes in the interest rate can lead to substantial differences in your monthly payments and the total interest paid over the life of the loan.
- Loan Term: A longer loan term (e.g., 30 years) typically results in lower monthly payments compared to a shorter term (e.g., 15 years), but you'll pay more interest overall.
Common Lender Guidelines
Lenders often use debt-to-income (DTI) ratios to assess affordability. A common guideline is that your total housing costs (principal, interest, taxes, and insurance – PITI) should not exceed 28% of your gross monthly income, and your total debt (including housing) should not exceed 36% of your gross monthly income. While this calculator provides an estimate, your actual pre-approval amount may vary based on the lender's specific criteria, credit score, and market conditions.
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) / 100; var loanTerm = parseFloat(document.getElementById("loanTerm").value); var resultDiv = document.getElementById("result"); resultDiv.innerHTML = ""; // Clear previous results if (isNaN(annualIncome) || isNaN(monthlyDebt) || isNaN(downPayment) || isNaN(interestRate) || isNaN(loanTerm)) { resultDiv.innerHTML = "Please enter valid numbers for all fields."; return; } var monthlyIncome = annualIncome / 12; // Using a common DTI guideline of 36% for total debt var maxTotalMonthlyDebt = monthlyIncome * 0.36; var maxMortgagePayment = maxTotalMonthlyDebt – monthlyDebt; if (maxMortgagePayment 0 && numberOfPayments > 0) { principalAmount = maxMortgagePayment * (Math.pow(1 + monthlyInterestRate, numberOfPayments) – 1) / (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments)); } else if (maxMortgagePayment > 0) { // Handle 0% interest rate, though rare for mortgages principalAmount = maxMortgagePayment * numberOfPayments; } var affordableHomePrice = principalAmount + downPayment; // Adding estimations for taxes and insurance (PITI) as a buffer, assuming 1.2% of home value annually for taxes and insurance combined. // This is a rough estimate and actual costs vary widely. var estimatedAnnualTaxesAndInsurance = affordableHomePrice * 0.012; var estimatedMonthlyTaxesAndInsurance = estimatedAnnualTaxesAndInsurance / 12; var maxPITI = monthlyIncome * 0.28; // Using the 28% guideline for housing costs var adjustedMaxMortgagePaymentForPITI = maxPITI – estimatedMonthlyTaxesAndInsurance; var adjustedPrincipalAmount = 0; if (monthlyInterestRate > 0 && numberOfPayments > 0) { adjustedPrincipalAmount = adjustedMaxMortgagePaymentForPITI * (Math.pow(1 + monthlyInterestRate, numberOfPayments) – 1) / (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments)); } else if (adjustedMaxMortgagePaymentForPITI > 0) { adjustedPrincipalAmount = adjustedMaxMortgagePaymentForPITI * numberOfPayments; } var adjustedAffordableHomePrice = adjustedPrincipalAmount + downPayment; var formattedPrincipal = principalAmount.toLocaleString(undefined, { style: 'currency', currency: 'USD' }); var formattedAffordableHomePrice = affordableHomePrice.toLocaleString(undefined, { style: 'currency', currency: 'USD' }); var formattedMaxMortgagePayment = maxMortgagePayment.toLocaleString(undefined, { style: 'currency', currency: 'USD' }); var formattedAdjustedPrincipal = adjustedPrincipalAmount.toLocaleString(undefined, { style: 'currency', currency: 'USD' }); var formattedAdjustedAffordableHomePrice = adjustedAffordableHomePrice.toLocaleString(undefined, { style: 'currency', currency: 'USD' }); var formattedMaxPITI = maxPITI.toLocaleString(undefined, { style: 'currency', currency: 'USD' }); resultDiv.innerHTML = ` Estimated Maximum Monthly Mortgage Payment (Principal & Interest): ${formattedMaxMortgagePayment} Estimated Maximum Loan Amount: ${formattedPrincipal} Estimated Maximum Affordable Home Price (including down payment): ${formattedAffordableHomePrice}Considering PITI (Principal, Interest, Taxes, Insurance) with a 28% Gross Monthly Income limit for housing: Maximum Allowable PITI Payment: ${formattedMaxPITI} Estimated Maximum Loan Amount (P&I only, after estimated taxes/insurance): ${formattedAdjustedPrincipal} Estimated Maximum Affordable Home Price (considering PITI): ${formattedAdjustedAffordableHomePrice} Note: This is an estimate. Actual loan amounts depend on lender approval, credit score, and market conditions. Taxes and insurance are rough estimates. `; }