Use this calculator to estimate how much house you can afford. This is a crucial first step in the home-buying process, helping you understand your budget and narrow down your search.
Understanding Mortgage Affordability
Determining how much house you can afford is a critical step before you start house hunting. This calculator provides an estimate based on common lending guidelines and your financial inputs. It considers your income, existing debts, down payment, and the proposed mortgage terms.
Key Factors Explained:
Annual Household Income: This is your gross annual income before taxes. Lenders use this as a primary indicator of your ability to repay a loan.
Total Monthly Debt Payments: This includes all your recurring monthly debt obligations such as credit card payments, student loans, car loans, and personal loans. It does NOT include your current rent or potential mortgage payment. A lower debt-to-income ratio generally makes you a more attractive borrower.
Down Payment Amount: The upfront cash you pay towards the purchase price of the home. A larger down payment reduces the loan amount needed and can lead to better loan terms and lower monthly payments.
Estimated Annual Interest Rate (%): The annual interest rate you expect to pay on your mortgage. Higher interest rates will increase your monthly payments and reduce the total amount you can borrow.
Loan Term (Years): The length of time over which you will repay the mortgage. Common terms are 15 or 30 years. Longer terms usually result in lower monthly payments but higher total interest paid over the life of the loan.
How it Works:
This calculator uses a common guideline where lenders may approve a mortgage where the total housing payment (Principal, Interest, Taxes, and Insurance – PITI) does not exceed 28% of your gross monthly income, and your total debt (including PITI) does not exceed 36% of your gross monthly income. The calculator estimates the maximum loan amount you can qualify for based on these ratios, your down payment, and the specified interest rate and loan term. The result shows the maximum home price you might afford.
Disclaimer:
This calculator provides an estimate for informational purposes only and does not constitute a loan approval or financial advice. Your actual borrowing capacity may differ based on lender-specific underwriting criteria, credit score, loan programs, and other factors. Consult with a mortgage professional for personalized advice.
function calculateAffordability() {
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 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;
}
if (annualIncome <= 0 || monthlyDebt < 0 || downPayment < 0 || interestRate <= 0 || loanTerm <= 0) {
resultDiv.innerHTML = "Please enter valid positive values for income, interest rate, and loan term. Monthly debt and down payment can be zero but not negative.";
return;
}
var grossMonthlyIncome = annualIncome / 12;
// Max PITI (Principal, Interest, Taxes, Insurance) based on 28% rule
var maxPiti = grossMonthlyIncome * 0.28;
// Max Total Debt (including PITI) based on 36% rule
var maxTotalDebt = grossMonthlyIncome * 0.36;
// Max allowed mortgage payment (PITI) considering existing debts
var maxMortgagePayment = maxTotalDebt – monthlyDebt;
// Use the lower of the two constraints for the actual maximum mortgage payment
var actualMaxMortgagePayment = Math.min(maxPiti, maxMortgagePayment);
if (actualMaxMortgagePayment 0) {
maxLoanAmount = actualMaxMortgagePayment * (Math.pow(1 + monthlyInterestRate, numberOfPayments) – 1) / (monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments));
} else {
// Handle case of 0% interest rate (though unlikely for mortgages)
maxLoanAmount = actualMaxMortgagePayment * numberOfPayments;
}
// In this simplified model, we are assuming PITI includes P & I only for loan amount calculation.
// Taxes and insurance (TI) are usually estimated separately. For simplicity here, we'll assume
// the 'actualMaxMortgagePayment' calculated above *could* cover P&I, and then add down payment.
// A more complex calculator would break down PITI.
var maxAffordableHomePrice = maxLoanAmount + downPayment;
// Format the output
var formattedMaxLoanAmount = maxLoanAmount.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
var formattedMaxAffordableHomePrice = maxAffordableHomePrice.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
var formattedGrossMonthlyIncome = grossMonthlyIncome.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
var formattedMonthlyDebt = monthlyDebt.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
var formattedActualMaxMortgagePayment = actualMaxMortgagePayment.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
resultDiv.innerHTML =
"