Estimate your monthly Supplemental Nutrition Assistance Program (Food Stamps) benefit amount based on federal 2024 guidelines.
1
2
3
4
5
6
7
8
No
Yes
Estimated Monthly Benefit
Understanding SNAP Eligibility & Calculations
The Supplemental Nutrition Assistance Program (SNAP), formerly known as food stamps, helps low-income individuals and families buy the food they need for good health. Eligibility is determined by complex formulas involving household size, gross income, and specific deductions.
Income Limits (48 States & DC)
Generally, households must meet two income tests to qualify for SNAP:
Gross Monthly Income: Must be at or below 130% of the Federal Poverty Level. For a household of 3, this is approximately $2,694 (2024 guidelines).
Net Monthly Income: Must be at or below 100% of the Federal Poverty Level after deductions.
How the Benefit is Calculated
The actual benefit amount is calculated by taking the "Maximum Benefit" for your household size and subtracting 30% of your "Net Income." This is because SNAP expects households to spend about 30% of their own net resources on food.
Key Deductions Included in This Tool:
Standard Deduction: A fixed amount subtracted from income based on household size.
Earned Income Deduction: 20% of earned wages are excluded to encourage work.
Excess Shelter Deduction: Costs for housing and utilities that exceed 50% of the household's income after other deductions (capped at $672 for households without elderly/disabled members).
Example Calculation
If a single person (HH size 1) has a net income of $500, their benefit is calculated as follows:
Max Benefit for 1 person: $291
30% of Net Income (0.30 * $500): $150
Estimated Benefit ($291 – $150): $141 per month
Note: This tool provides an estimate. Your local state agency determines final eligibility and benefit amounts.
function calculateSNAP() {
var householdSize = parseInt(document.getElementById('householdSize').value);
var isElderly = document.getElementById('isElderly').value === 'yes';
var grossIncome = parseFloat(document.getElementById('grossIncome').value) || 0;
var earnedIncome = parseFloat(document.getElementById('earnedIncome').value) || 0;
var housingCost = parseFloat(document.getElementById('housingCost').value) || 0;
var utilityCost = parseFloat(document.getElementById('utilityCost').value) || 0;
// 2024 Federal Guidelines (48 States & DC)
var maxBenefits = [0, 291, 535, 766, 973, 1155, 1386, 1532, 1751]; // Index matches HH size
var standardDeductions = [0, 198, 198, 198, 208, 244, 279, 279, 279];
var grossLimits = [0, 1580, 2137, 2694, 3250, 3807, 4364, 4921, 5478];
var netLimits = [0, 1215, 1644, 2073, 2501, 2930, 3359, 3788, 4217];
var shelterCap = 672;
// 1. Gross Income Test
if (!isElderly && grossIncome > grossLimits[householdSize]) {
showSnapResult("Ineligible", "Your gross monthly income exceeds the federal limit for a household of " + householdSize + ".");
return;
}
// 2. Calculate Adjusted Income
// Deduct 20% of earned income
var earnedIncomeDeduction = earnedIncome * 0.20;
var adjustedIncome = grossIncome – earnedIncomeDeduction – standardDeductions[householdSize];
if (adjustedIncome < 0) adjustedIncome = 0;
// 3. Shelter Deduction
var totalShelterCost = housingCost + utilityCost;
var excessShelter = totalShelterCost – (adjustedIncome * 0.50);
if (excessShelter shelterCap) {
excessShelter = shelterCap;
}
// 4. Net Income
var netIncome = adjustedIncome – excessShelter;
if (netIncome netLimits[householdSize]) {
showSnapResult("Ineligible", "Your net monthly income ($" + netIncome.toFixed(2) + ") exceeds the federal limit.");
return;
}
// 6. Calculate Final Benefit
var maxBenefit = maxBenefits[householdSize];
if (householdSize > 8) {
maxBenefit = 1751 + ((householdSize – 8) * 219);
}
var thirtyPercentNet = netIncome * 0.30;
var estimatedBenefit = maxBenefit – thirtyPercentNet;
// Minimum benefit for 1-2 person households
if (estimatedBenefit < 23 && (householdSize === 1 || householdSize === 2)) {
estimatedBenefit = 23;
}
if (estimatedBenefit <= 0) {
showSnapResult("Ineligible", "Based on the 30% net income rule, your calculated benefit is $0.");
} else {
showSnapResult("$" + Math.round(estimatedBenefit), "Based on your inputs, your estimated monthly SNAP benefit is approximately $" + Math.round(estimatedBenefit) + ".");
}
}
function showSnapResult(amount, detail) {
var resultDiv = document.getElementById('snapResult');
var amountP = document.getElementById('benefitAmount');
var detailP = document.getElementById('resultDetails');
resultDiv.style.display = 'block';
amountP.innerText = amount;
detailP.innerText = detail;
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}