Use this calculator to estimate how much you can afford to borrow for a mortgage based on your income, debts, and desired monthly payment.
Understanding Mortgage Affordability
Determining how much you can afford for a mortgage is a crucial step in the home-buying process. It involves looking beyond just the purchase price and considering your overall financial picture.
Key Factors Explained:
Annual Gross Income: This is your total income before taxes and other deductions. Lenders use this as a primary indicator of your ability to repay a loan.
Monthly Debt Payments: This includes all your recurring monthly financial obligations, such as car loans, student loans, credit card minimum payments, and personal loans. These debts reduce the amount of income available for a mortgage payment.
Down Payment: The upfront cash you pay towards the home purchase. A larger down payment reduces the loan amount needed, making the mortgage more affordable and potentially securing better interest rates.
Estimated Annual Interest Rate: The yearly percentage charged by the lender on the loan principal. Even small differences in interest rates can significantly impact your monthly payments and the total interest paid over the life of the loan.
Loan Term (Years): The duration over which you agree to repay the mortgage. Common terms are 15, 20, or 30 years. Longer terms result in lower monthly payments but higher total interest paid.
Max % of Income for Mortgage Payment: Lenders often use debt-to-income (DTI) ratios to assess risk. A common guideline is that your total housing costs (principal, interest, taxes, insurance – often called PITI) should not exceed 28-36% of your gross monthly income. This calculator uses a customizable percentage to estimate your maximum affordable monthly payment.
How the Calculator Works:
This calculator first determines your maximum allowable monthly debt payment (including the potential mortgage) based on your gross income and the percentage you're willing to allocate. It then subtracts your existing monthly debt payments to find the maximum monthly mortgage payment you can afford. Using this maximum monthly payment, along with the loan term and interest rate, it calculates the maximum loan amount you can borrow. Finally, it adds your down payment to this maximum loan amount to estimate your total affordable home price.
Disclaimer: This calculator provides an estimate for informational purposes only. It does not constitute financial advice. Actual mortgage approvals depend on a lender's specific underwriting criteria, credit score, employment history, and other factors.
function calculateMortgageAffordability() {
var annualIncome = parseFloat(document.getElementById("annualIncome").value);
var existingDebts = parseFloat(document.getElementById("existingDebts").value);
var downPayment = parseFloat(document.getElementById("downPayment").value);
var interestRate = parseFloat(document.getElementById("interestRate").value);
var loanTerm = parseFloat(document.getElementById("loanTerm").value);
var maxPaymentPercentage = parseFloat(document.getElementById("maxPaymentPercentage").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
if (isNaN(annualIncome) || isNaN(existingDebts) || isNaN(downPayment) || isNaN(interestRate) || isNaN(loanTerm) || isNaN(maxPaymentPercentage)) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
if (annualIncome <= 0 || existingDebts < 0 || downPayment < 0 || interestRate < 0 || loanTerm <= 0 || maxPaymentPercentage 100) {
resultDiv.innerHTML = "Please enter valid positive values. Max payment percentage should be between 1 and 100.";
return;
}
var monthlyIncome = annualIncome / 12;
var maxTotalMonthlyDebt = monthlyIncome * (maxPaymentPercentage / 100);
var maxMortgagePayment = maxTotalMonthlyDebt – existingDebts;
if (maxMortgagePayment 0) {
maxLoanAmount = maxMortgagePayment * (Math.pow(1 + monthlyInterestRate, numberOfPayments) – 1) / (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments));
} else {
// Handle 0% interest rate scenario (though rare for mortgages)
maxLoanAmount = maxMortgagePayment * numberOfPayments;
}
var estimatedHomeAffordability = maxLoanAmount + downPayment;
resultDiv.innerHTML =
"
" +
"
Estimated Affordability
" +
"Maximum Affordable Monthly Mortgage Payment: $" + maxMortgagePayment.toFixed(2) + "" +
"Estimated Maximum Loan Amount: $" + maxLoanAmount.toFixed(2) + "" +
"Estimated Total Home Affordability (Loan + Down Payment): $" + estimatedHomeAffordability.toFixed(2) + "" +
"