Determine your eligibility for mortgages and loans by calculating your DTI percentage.
1. Monthly Income
Pre-tax income from salary, bonuses, etc.
2. Monthly Debt Payments
Total Monthly Income
$0
Total Monthly Debt
$0
Your DTI Ratio
0%
Understanding Your Debt-to-Income (DTI) Ratio
Your Debt-to-Income (DTI) ratio is a personal finance measure that compares an individual's monthly debt payment to their monthly gross income. Lenders use this ratio to assess your ability to manage monthly payments and repay debts.
Why is DTI Important?
When applying for a mortgage, personal loan, or credit card, lenders want to know that you aren't overextended. A low DTI ratio demonstrates a good balance between debt and income. Conversely, a high DTI ratio can signal that an individual has too much debt for the amount of income earned each month.
What is a Good DTI Ratio?
35% or less: Generally viewed as favorable. Borrowers with a DTI in this range are seen as manageable risks and usually have more options for credit with lower interest rates.
36% to 49%: This range suggests you have a manageable level of debt, but you might want to consider lowering it before taking on significant new debt. Lenders may ask for additional eligibility criteria.
50% or more: This is considered a high risk. With more than half your income going towards debt payments, you have limited money for saving or unexpected expenses. Lenders will likely decline mortgage applications in this range.
How to Lower Your DTI
If your DTI is higher than you would like, there are two primary ways to lower it: increase your income or reduce your monthly debt. Strategies include paying off loans with the highest monthly payments first (Snowball Method), refinancing high-interest loans to lower the monthly payment, or avoiding taking on new credit card debt.
Front-End vs. Back-End Ratio
Front-End Ratio: This only calculates housing-related expenses (rent/mortgage, insurance, property taxes) against your income. Lenders typically prefer this to be under 28%.
Back-End Ratio: This is what our calculator above shows. It includes housing expenses plus all other recurring debt (credit cards, student loans, car payments). Most conventional loans require this to be under 43%.
function calculateDTI() {
// 1. Get Input Values
var income = parseFloat(document.getElementById("grossIncome").value);
var rent = parseFloat(document.getElementById("rentMortgage").value);
var car = parseFloat(document.getElementById("carLoans").value);
var student = parseFloat(document.getElementById("studentLoans").value);
var cc = parseFloat(document.getElementById("creditCards").value);
var other = parseFloat(document.getElementById("otherDebts").value);
// 2. Validate Inputs (Treat NaN as 0 for debts, validate income)
if (isNaN(income) || income <= 0) {
alert("Please enter a valid Gross Monthly Income greater than 0.");
return;
}
if (isNaN(rent)) rent = 0;
if (isNaN(car)) car = 0;
if (isNaN(student)) student = 0;
if (isNaN(cc)) cc = 0;
if (isNaN(other)) other = 0;
// 3. Calculate Totals
var totalDebt = rent + car + student + cc + other;
var dtiRatio = (totalDebt / income) * 100;
// 4. Update UI Elements
document.getElementById("resIncome").innerHTML = "$" + income.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resDebt").innerHTML = "$" + totalDebt.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resDTI").innerHTML = dtiRatio.toFixed(2) + "%";
// 5. Determine Verdict/Status
var verdictBox = document.getElementById("verdictBox");
var verdictText = "";
// Remove existing classes
verdictBox.classList.remove("verdict-good", "verdict-warn", "verdict-bad");
if (dtiRatio 35 && dtiRatio 43 && dtiRatio <= 49) {
verdictText = "Caution: Your DTI is getting high. You may have difficulty qualifying for certain loans without compensating factors.";
verdictBox.classList.add("verdict-warn");
} else {
verdictText = "High Risk: Over 50% of your income goes to debt. Consider paying down balances before applying for new credit.";
verdictBox.classList.add("verdict-bad");
}
verdictBox.innerHTML = verdictText;
// 6. Show Results
document.getElementById("result").style.display = "block";
// Scroll to result
document.getElementById("result").scrollIntoView({behavior: 'smooth'});
}