The Supplemental Nutrition Assistance Program (SNAP), commonly known as Food Stamps, helps low-income individuals and families purchase nutritious food. In Michigan, the program is administered by the Michigan Department of Health and Human Services (MDHHS).
Who is Eligible?
Eligibility for SNAP benefits in Michigan is primarily based on household size, income, and certain deductions. Generally, your household's gross monthly income (before deductions) must be at or below 130% of the Federal Poverty Level (FPL), and your net monthly income (after deductions) must be at or below 100% of the FPL. For households with an elderly (age 60+) or disabled member, the gross income test may be waived, but the net income test still applies.
Income Limits: These vary by household size and are updated annually.
Household Size: The number of people who live together and buy/prepare food together.
Residency: You must be a Michigan resident.
Citizenship/Immigration Status: Most eligible individuals must be U.S. citizens or qualified non-citizens.
Work Requirements: Most able-bodied adults without dependents (ABAWDs) must meet work requirements, though there are exemptions.
How Benefits Are Calculated
The calculation of SNAP benefits is a multi-step process that considers your household's income and various allowable deductions. The goal is to determine your "net income," which is then used to calculate your benefit amount. Key deductions include:
Earned Income Deduction: 20% of your earned income (wages, salary) is disregarded.
Standard Deduction: A fixed amount based on household size.
Dependent Care Deduction: Costs for childcare or adult care necessary for work, training, or education.
Medical Expense Deduction: For elderly or disabled household members, medical expenses exceeding $35 per month can be deducted.
Child Support Deduction: Legally obligated child support payments made to a non-household member.
Shelter Deduction: The amount of shelter costs (rent/mortgage + utilities) that exceeds 50% of your household's income after other deductions. This deduction is capped for most households but uncapped for elderly or disabled households.
After all deductions, your net income is used in a formula: Maximum Allotment for your household size – (Net Income * 0.30). The result is your estimated monthly benefit.
Important Considerations
This calculator provides an estimate based on common criteria. Actual eligibility and benefit amounts are determined by the Michigan Department of Health and Human Services (MDHHS) after a full application and interview process. Factors not included in this simplified calculator, such as certain assets or specific household circumstances, could affect your eligibility.
To apply for SNAP benefits or get a precise determination, please visit the Michigan MDHHS website or contact your local MDHHS office.
.calculator-container {
font-family: 'Arial', sans-serif;
background-color: #f9f9f9;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
max-width: 700px;
margin: 20px auto;
border: 1px solid #ddd;
}
.calculator-container h2 {
color: #2c3e50;
text-align: center;
margin-bottom: 25px;
font-size: 24px;
}
.calculator-content {
display: flex;
flex-direction: column;
gap: 15px;
}
.input-group {
display: flex;
flex-direction: column;
}
.input-group label {
margin-bottom: 5px;
font-weight: bold;
color: #34495e;
font-size: 15px;
}
.input-group input[type="number"],
.input-group input[type="text"] {
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
width: 100%;
box-sizing: border-box;
}
.input-group input[type="number"]:focus,
.input-group input[type="text"]:focus {
border-color: #007bff;
outline: none;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.25);
}
.checkbox-group {
flex-direction: row;
align-items: center;
}
.checkbox-group input[type="checkbox"] {
margin-right: 10px;
transform: scale(1.2);
}
.checkbox-group label {
margin-bottom: 0;
font-weight: normal;
}
button {
background-color: #28a745;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 18px;
margin-top: 20px;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #218838;
}
.result-area {
background-color: #e9f7ef;
border: 1px solid #d4edda;
padding: 15px;
border-radius: 4px;
margin-top: 20px;
font-size: 18px;
color: #155724;
font-weight: bold;
text-align: center;
}
.result-area p {
margin: 5px 0;
}
.article-content {
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #eee;
color: #333;
line-height: 1.6;
}
.article-content h3 {
color: #2c3e50;
margin-bottom: 15px;
font-size: 20px;
}
.article-content h4 {
color: #34495e;
margin-top: 20px;
margin-bottom: 10px;
font-size: 18px;
}
.article-content p {
margin-bottom: 10px;
}
.article-content ul {
list-style-type: disc;
margin-left: 20px;
margin-bottom: 10px;
}
.article-content li {
margin-bottom: 5px;
}
.article-content a {
color: #007bff;
text-decoration: none;
}
.article-content a:hover {
text-decoration: underline;
}
function calculateFoodStamps() {
var householdSize = parseInt(document.getElementById("householdSize").value);
var grossMonthlyIncome = parseFloat(document.getElementById("grossMonthlyIncome").value);
var earnedIncome = parseFloat(document.getElementById("earnedIncome").value);
var isElderlyDisabled = document.getElementById("isElderlyDisabled").checked;
var monthlyMedicalExpenses = parseFloat(document.getElementById("monthlyMedicalExpenses").value);
var monthlyDependentCare = parseFloat(document.getElementById("monthlyDependentCare").value);
var monthlyShelterCosts = parseFloat(document.getElementById("monthlyShelterCosts").value);
var monthlyChildSupportPaid = parseFloat(document.getElementById("monthlyChildSupportPaid").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
// Input validation
if (isNaN(householdSize) || householdSize < 1 ||
isNaN(grossMonthlyIncome) || grossMonthlyIncome < 0 ||
isNaN(earnedIncome) || earnedIncome < 0 ||
isNaN(monthlyMedicalExpenses) || monthlyMedicalExpenses < 0 ||
isNaN(monthlyDependentCare) || monthlyDependentCare < 0 ||
isNaN(monthlyShelterCosts) || monthlyShelterCosts < 0 ||
isNaN(monthlyChildSupportPaid) || monthlyChildSupportPaid grossMonthlyIncome) {
resultDiv.innerHTML = "Earned income cannot be greater than total gross monthly income.";
return;
}
// Data tables (Federal FY 2024 approximate values, Michigan follows federal)
var grossIncomeLimits = [0, 1580, 2137, 2694, 3250, 3807, 4364, 4921, 5478]; // Index 0 unused, 1-8 people
var netIncomeLimits = [0, 1215, 1644, 2072, 2500, 2929, 3357, 3785, 4214]; // Index 0 unused, 1-8 people
var maxAllotments = [0, 291, 535, 766, 973, 1155, 1386, 1532, 1751]; // Index 0 unused, 1-8 people
var standardDeductions = [0, 193, 193, 193, 193, 221, 252, 252, 252]; // Index 0 unused, 1-8 people
var shelterCap = 672; // Unless elderly/disabled
// Extend tables for household sizes > 8
if (householdSize > 8) {
var additionalPeople = householdSize – 8;
grossIncomeLimits[householdSize] = grossIncomeLimits[8] + (additionalPeople * 557);
netIncomeLimits[householdSize] = netIncomeLimits[8] + (additionalPeople * 429);
maxAllotments[householdSize] = maxAllotments[8] + (additionalPeople * 219);
standardDeductions[householdSize] = 252; // Standard deduction for 6+ people
}
var currentGrossIncomeLimit = grossIncomeLimits[householdSize];
var currentNetIncomeLimit = netIncomeLimits[householdSize];
var currentMaxAllotment = maxAllotments[householdSize];
var currentStandardDeduction = standardDeductions[householdSize];
var eligible = true;
var reasonIneligible = "";
// Step 1: Gross Income Test (waived for elderly/disabled)
if (!isElderlyDisabled && grossMonthlyIncome > currentGrossIncomeLimit) {
eligible = false;
reasonIneligible = "Your household's gross monthly income exceeds the limit for your household size ($" + currentGrossIncomeLimit.toFixed(2) + ").";
}
// Step 2: Calculate Adjusted Gross Income (AGI) for Net Income Calculation
var adjustedGrossIncome = grossMonthlyIncome;
// Earned Income Deduction (20%)
adjustedGrossIncome -= (earnedIncome * 0.20);
// Standard Deduction
adjustedGrossIncome -= currentStandardDeduction;
// Dependent Care Deduction
adjustedGrossIncome -= monthlyDependentCare;
// Child Support Paid Deduction
adjustedGrossIncome -= monthlyChildSupportPaid;
// Medical Expense Deduction (for elderly/disabled only, amount over $35)
if (isElderlyDisabled && monthlyMedicalExpenses > 35) {
adjustedGrossIncome -= (monthlyMedicalExpenses – 35);
}
// Step 3: Calculate Shelter Deduction
var excessShelter = monthlyShelterCosts – (adjustedGrossIncome * 0.50);
var shelterDeduction = 0;
if (excessShelter > 0) {
if (isElderlyDisabled) {
shelterDeduction = excessShelter; // No cap for elderly/disabled
} else {
shelterDeduction = Math.min(excessShelter, shelterCap);
}
}
// Step 4: Calculate Net Income
var netIncome = adjustedGrossIncome – shelterDeduction;
// Step 5: Net Income Test (applies to all households)
if (netIncome > currentNetIncomeLimit) {
eligible = false;
if (reasonIneligible === "") { // Only set if not already ineligible by gross income
reasonIneligible = "Your household's net monthly income exceeds the limit for your household size ($" + currentNetIncomeLimit.toFixed(2) + ").";
}
}
// Step 6: Calculate Benefit Amount
var estimatedBenefit = 0;
if (eligible) {
estimatedBenefit = currentMaxAllotment – (netIncome * 0.30);
// Minimum benefit for 1-2 person households
if (householdSize 0 && estimatedBenefit < 23) {
estimatedBenefit = 23;
}
if (estimatedBenefit 0) {
resultDiv.innerHTML = "Estimated Monthly Food Stamp Benefit: $" + estimatedBenefit.toFixed(2) + "";
resultDiv.innerHTML += "This is an estimate. Actual benefits are determined by MDHHS.";
} else {
resultDiv.innerHTML = "Based on the information provided, your household may not be eligible for Food Stamps.";
if (reasonIneligible !== "") {
resultDiv.innerHTML += "Reason: " + reasonIneligible + "";
}
resultDiv.innerHTML += "This is an estimate. You may still be eligible or qualify for a different amount. Please apply through MDHHS for a definitive determination.";
}
}