Buying a home is a significant financial decision, and understanding how much you can afford for a mortgage is a crucial first step.
Our Mortgage Affordability Calculator helps you estimate the maximum loan amount you might qualify for based on your income,
debts, and a few other key financial factors. This tool is designed to give you a realistic starting point for your home search,
enabling you to explore properties within your budget and have more confident conversations with lenders.
Key Factors for Mortgage Affordability:
Gross Monthly 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: Include all your existing recurring monthly debts, such as credit card minimum payments, student loan payments, auto loan payments, and any other loan obligations.
Down Payment: The amount of money you plan to put down upfront. A larger down payment reduces the loan amount needed and can improve your chances of approval.
Interest Rate: The annual interest rate you expect to pay on the mortgage. This significantly impacts your monthly payment and the total cost of the loan.
Loan Term: The length of the mortgage, typically 15 or 30 years. Shorter terms mean higher monthly payments but less interest paid overall.
Lenders generally use debt-to-income (DTI) ratios to assess affordability. The two main DTI ratios are:
Front-end DTI (Housing Ratio): Compares your potential total housing costs (principal, interest, taxes, insurance – PITI) to your gross monthly income. A common guideline is for this to be no more than 28%.
Back-end DTI (Total Debt Ratio): Compares your total monthly debt payments (including PITI) to your gross monthly income. A common guideline is for this to be no more than 36% to 43%, though this can vary by lender and loan type.
This calculator provides an estimate. For precise figures and pre-approval, it's essential to speak with a mortgage lender.
Mortgage Affordability Calculator
15 Years
30 Years
function calculateMortgageAffordability() {
var grossMonthlyIncome = parseFloat(document.getElementById("grossMonthlyIncome").value);
var existingMonthlyDebt = parseFloat(document.getElementById("existingMonthlyDebt").value);
var downPayment = parseFloat(document.getElementById("downPayment").value);
var annualInterestRate = parseFloat(document.getElementById("interestRate").value);
var loanTermYears = parseInt(document.getElementById("loanTerm").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
if (isNaN(grossMonthlyIncome) || isNaN(existingMonthlyDebt) || isNaN(downPayment) || isNaN(annualInterestRate) || isNaN(loanTermYears)) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
// Standard DTI ratios
var maxHousingRatio = 0.28;
var maxTotalDebtRatio = 0.36; // Using a conservative 36% as a common guideline
// Calculate maximum allowed total monthly debt payment based on income and DTI
var maxTotalDebtPayment = grossMonthlyIncome * maxTotalDebtRatio;
// Calculate the maximum allowed monthly housing payment (PITI)
var maxHousingPayment = grossMonthlyIncome * maxHousingRatio;
// Calculate the maximum monthly payment we can afford for principal and interest (P&I)
// For simplicity in this calculator, we'll assume taxes and insurance (TI) are a portion of housing payment,
// or we can estimate them. A common estimate for TI is 1.2% of home value annually.
// However, a simpler approach for affordability is to work backwards from the P&I payment.
// Let's assume for this calculator that the *maximum monthly payment the user can afford is based on the DTI limits*.
// We'll determine the maximum P&I payment that fits within these limits.
// The maximum P&I payment we can afford is the difference between the maximum total debt payment allowed
// and the existing monthly debt payments.
var maxPIPayment = maxTotalDebtPayment – existingMonthlyDebt;
// Ensure maxPIPayment is not negative
if (maxPIPayment 0 && loanTermMonths > 0) {
// Formula for present value of an ordinary annuity (loan amount)
// PV = P * [1 – (1 + r)^-n] / r
// Where PV = Present Value (Loan Amount), P = Payment (maxPIPayment), r = monthly interest rate, n = loan term in months
var pvFactor = (1 – Math.pow(1 + monthlyInterestRate, -loanTermMonths)) / monthlyInterestRate;
maxLoanAmount = maxPIPayment * pvFactor;
} else if (monthlyInterestRate === 0 && loanTermMonths > 0) {
// If interest rate is 0, loan amount is simply payment * term
maxLoanAmount = maxPIPayment * loanTermMonths;
}
// Total affordable home price is loan amount + down payment
var affordableHomePrice = maxLoanAmount + downPayment;
resultDiv.innerHTML = `