Your Debt-to-Income (DTI) ratio is a critical financial metric used by lenders to assess your ability to manage monthly payments and repay debts. It represents the percentage of your gross monthly income that goes toward paying your monthly debt obligations.
The formula is simple: (Total Monthly Debt Payments / Gross Monthly Income) x 100.
Why is DTI Important?
Whether you are applying for a mortgage, an auto loan, or a personal loan, your DTI helps lenders measure borrowing risk. A lower DTI indicates that you have a good balance between debt and income.
Mortgage Approval: Most conventional loans require a DTI of 43% or lower, though some FHA programs allow up to 50% with compensating factors.
Interest Rates: A lower DTI often qualifies you for better interest rates, saving you thousands over the life of a loan.
Financial Health: Keeping your DTI low ensures you have enough disposable income for savings and emergencies.
Interpreting Your Results
35% or Less: Excellent. You have manageable debt relative to your income and likely qualify for the best lending terms.
36% to 43%: Good/Acceptable. You are generally seen as creditworthy, though some lenders may inspect your finances more closely.
44% to 49%: High Risk. You may struggle to find approval for conventional loans and should focus on paying down debt.
50% or Higher: Critical. More than half your income goes to debt. It is highly recommended to seek debt relief or aggressive repayment strategies before taking on new loans.
What is Included in "Monthly Debt"?
When using the calculator above, ensure you include recurring monthly obligations such as:
Rent or mortgage payments (including taxes and insurance).
Minimum credit card payments (not the full balance).
Auto loan or lease payments.
Student loan payments.
Alimony or child support payments.
Note: Living expenses like groceries, utilities, and gas are generally NOT included in the DTI calculation.
function calculateDTI() {
// 1. Get Input Values
var incomeInput = document.getElementById("dti_gross_income");
var rentInput = document.getElementById("dti_rent_mortgage");
var autoInput = document.getElementById("dti_auto_loans");
var studentInput = document.getElementById("dti_student_loans");
var cardsInput = document.getElementById("dti_credit_cards");
var otherInput = document.getElementById("dti_other_debt");
// 2. Parse Values (Handle empty strings as 0)
var income = parseFloat(incomeInput.value) || 0;
var rent = parseFloat(rentInput.value) || 0;
var auto = parseFloat(autoInput.value) || 0;
var student = parseFloat(studentInput.value) || 0;
var cards = parseFloat(cardsInput.value) || 0;
var other = parseFloat(otherInput.value) || 0;
// 3. Validation
if (income <= 0) {
alert("Please enter a valid Gross Monthly Income greater than 0.");
return;
}
// 4. Calculate Total Debt
var totalDebt = rent + auto + student + cards + other;
// 5. Calculate Ratio
var dtiRatio = (totalDebt / income) * 100;
// 6. Determine Status
var statusText = "";
var statusClass = "";
var explanation = "";
if (dtiRatio <= 35) {
statusText = "Excellent Health";
statusClass = "status-good";
explanation = "Your debt load is very manageable. Lenders view you as a low-risk borrower.";
} else if (dtiRatio <= 43) {
statusText = "Good / Manageable";
statusClass = "status-warn"; // Using yellow/orange
explanation = "You are within the standard guidelines for most mortgages (Qualified Mortgage rule limit is typically 43%).";
} else if (dtiRatio < 50) {
statusText = "High Risk";
statusClass = "status-warn";
explanation = "You may face difficulties getting approved for standard loans. Consider reducing debt before applying.";
} else {
statusText = "Critical Level";
statusClass = "status-bad";
explanation = "Your debt payments consume more than half your income. This is considered financially dangerous.";
}
// 7. Display Results
var resultContainer = document.getElementById("dti_result_container");
var totalDebtDisplay = document.getElementById("dti_total_debt");
var ratioDisplay = document.getElementById("dti_final_percent");
var statusDisplay = document.getElementById("dti_status_msg");
var explanationDisplay = document.getElementById("dti_explanation");
// Show container
resultContainer.style.display = "block";
// Update Text
totalDebtDisplay.innerText = "$" + totalDebt.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
ratioDisplay.innerText = dtiRatio.toFixed(2) + "%";
// Update Status Badge
statusDisplay.className = "dti-status " + statusClass;
statusDisplay.innerText = statusText;
explanationDisplay.innerText = explanation;
}