Use this calculator to estimate the maximum mortgage amount you might qualify for based on your income and typical lending ratios.
Estimated Maximum Mortgage Amount:
$0.00
This is an estimate. Actual loan approval depends on lender policies, credit score, and other factors.
Understanding the Income to Mortgage Calculator
Lenders use various metrics to determine how much mortgage you can afford. The most common benchmarks involve your Debt-to-Income Ratio (DTI). This calculator estimates your maximum affordable mortgage by considering your income, existing debts, and typical lending guidelines.
How it Works: The Math Behind the Estimate
Lenders generally assess two main DTI ratios:
Front-End Ratio (Housing Ratio): This ratio compares your proposed monthly housing expenses (principal, interest, taxes, insurance – PITI) to your gross monthly income. Lenders often prefer this to be no more than 28% of your gross monthly income.
Back-End Ratio (Total Debt Ratio): This ratio compares all your monthly debt obligations (including the proposed PITI) to your gross monthly income. Lenders often prefer this to be no more than 36% of your gross monthly income, though this can extend up to 43% or even higher for certain loan programs and borrowers with strong credit.
This calculator focuses on the Back-End Ratio to estimate the maximum total mortgage payment you can afford. It then works backward to determine the loan principal you can support.
The calculation involves these steps:
Calculate your Gross Monthly Income: Divide your Annual Gross Income by 12.
Determine your Maximum Allowable Monthly Debt Payment: Multiply your Gross Monthly Income by the target Back-End DTI (we use 36% as a common benchmark).
Calculate your Maximum Affordable P&I Payment: Subtract your Total Monthly Debt Payments (excluding mortgage) from your Maximum Allowable Monthly Debt Payment. This is the most you can allocate to Principal and Interest (P&I) each month.
Estimate the Maximum Loan Amount: Using the Maximum Affordable P&I Payment, the provided Interest Rate, and Loan Term, we calculate the loan principal you can afford. This is done using the standard loan payment formula, solved for the loan principal.
The Maximum Mortgage Amount shown in the result is the Maximum Loan Amount minus your Down Payment.
Key Inputs Explained
Annual Gross Income: Your total income before taxes and deductions.
Total Monthly Debt Payments: Includes credit card minimums, car loans, student loans, personal loans, and any other recurring debt obligations, *excluding* the proposed mortgage payment.
Down Payment: The amount of cash you plan to pay upfront for the home purchase.
Estimated Mortgage Interest Rate: The annual interest rate you expect for your mortgage.
Loan Term (Years): The duration of the mortgage, typically 15 or 30 years.
Use Cases and Considerations
Pre-Qualification Aid: Helps you gauge a realistic price range for homes before speaking with a lender.
Financial Planning: Assists in budgeting for homeownership and understanding the impact of debt on borrowing capacity.
Lender Variability: Different lenders have different DTI thresholds and underwriting criteria. Some may allow higher DTIs based on credit score, assets, or specific loan programs (like FHA or VA loans).
Other Costs: Remember that homeownership involves more than just mortgage payments. Factor in property taxes, homeowner's insurance, potential Private Mortgage Insurance (PMI), maintenance, and utilities.
Credit Score Impact: A higher credit score generally leads to lower interest rates and potentially more favorable loan terms.
This calculator provides a helpful starting point, but always consult with a mortgage professional for personalized advice and accurate loan pre-approval.
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 loanTermYears = parseInt(document.getElementById("loanTermYears").value);
var resultValueElement = document.getElementById("result-value");
var disclaimerElement = document.getElementById("disclaimer");
// Clear previous results and styles
resultValueElement.textContent = "$0.00";
disclaimerElement.style.display = "block"; // Show disclaimer by default
// Input validation
if (isNaN(annualIncome) || annualIncome <= 0 ||
isNaN(monthlyDebt) || monthlyDebt < 0 ||
isNaN(downPayment) || downPayment < 0 ||
isNaN(interestRate) || interestRate < 0 ||
isNaN(loanTermYears) || loanTermYears <= 0) {
resultValueElement.textContent = "Invalid Input";
resultValueElement.style.color = "#dc3545"; // Red for error
disclaimerElement.style.display = "none"; // Hide disclaimer on error
return;
}
// — Calculation Logic —
// 1. Calculate Gross Monthly Income
var grossMonthlyIncome = annualIncome / 12;
// 2. Determine Maximum Allowable Monthly Debt Payment (using a common 36% back-end DTI)
// Lenders vary, 36% is a common benchmark. Some go higher.
var maxAllowableMonthlyDebt = grossMonthlyIncome * 0.36;
// 3. Calculate Maximum Affordable P&I Payment
var maxAffordablePAndI = maxAllowableMonthlyDebt – monthlyDebt;
// Ensure the affordable P&I payment is not negative
if (maxAffordablePAndI 0) {
maxLoanAmount = maxAffordablePAndI * (1 – Math.pow(1 + monthlyInterestRate, -numberOfPayments)) / monthlyInterestRate;
} else {
// If interest rate is 0, the loan amount is simply the total payments possible
maxLoanAmount = maxAffordablePAndI * numberOfPayments;
}
// 5. Calculate the Maximum Mortgage Amount (Loan Amount minus Down Payment)
// The result should be the *total* home price you can afford, which is the loan amount + down payment.
// However, the prompt asks for "maximum mortgage amount" which typically refers to the loan principal.
// Let's clarify: The calculator estimates the maximum LOAN you can get. The total home price = loan + down payment.
// The prompt title is "Income to Mortgage Calculator", implies the loan amount.
// Let's present the maximum *loan principal* you can afford.
var estimatedMaxLoanPrincipal = maxLoanAmount;
// Format the result
resultValueElement.textContent = "$" + estimatedMaxLoanPrincipal.toFixed(2);
resultValueElement.style.color = "#28a745"; // Success green
disclaimerElement.textContent = "This is an estimate. Actual loan approval depends on lender policies, credit score, and other factors."; // Reset disclaimer text
}