NY State Food Stamps (SNAP) Eligibility Calculator
This tool provides an ESTIMATE for SNAP eligibility in New York.
Actual benefits depend on a comprehensive review by the Office of Temporary and Disability Assistance (OTDA).
Household Information
Yes
No
Yes
No
Eligibility Result
Please enter your household information to check eligibility.
Understanding SNAP Eligibility in New York State
The Supplemental Nutrition Assistance Program (SNAP), often referred to as Food Stamps, is a federal program administered by the New York State Office of Temporary and Disability Assistance (OTDA). Its goal is to help low-income individuals and families afford nutritious food. Eligibility and benefit amounts are determined by a complex set of rules, primarily based on household size, income, and certain allowable expenses.
How Eligibility is Calculated (Simplified)
To determine eligibility, SNAP calculates your household's Net Income. This is derived from your Gross Income after deducting various allowances and expenses.
Gross Monthly Income: This is the total income your household receives from all sources before any taxes or deductions.
Earned Income Deduction: If your household has earned income (wages from a job), 20% of this income is deducted.
Standard Deduction: A fixed amount is deducted, varying by household size.
Dependent Care Deduction: Costs for child care or care for other dependents necessary for work or training are deducted.
Medical Expense Deduction: For households with members aged 60 or older, or who are disabled, medical expenses exceeding $35 per month are deducted.
Excess Shelter Deduction: Shelter costs (rent/mortgage, utilities, insurance) that exceed 50% of the household's income (after the above deductions) can be deducted, up to a limit.
Your calculated Net Income is then compared against the Maximum Income Standards set by New York State for your household size.
Important Considerations:
This calculator is an estimate only. Official eligibility and benefit amounts are determined by OTDA based on a formal application and verification of documents.
Asset Limits: While this calculator does not include asset limits (savings, property), they may apply in some cases, particularly for non-elderly, non-disabled households without children.
Work Requirements: Most adults without disabilities or childcare responsibilities must meet certain work requirements.
Specific Rules: There are specific rules for certain populations, such as students, immigrants, and those disqualified for intentional program violations.
function calculateSNAPEligibility() {
var householdSize = parseInt(document.getElementById("householdSize").value);
var grossMonthlyIncome = parseFloat(document.getElementById("grossMonthlyIncome").value);
var medicalExpenses = parseFloat(document.getElementById("medicalExpenses").value);
var childCareExpenses = parseFloat(document.getElementById("childCareExpenses").value);
var dependentCareExpenses = parseFloat(document.getElementById("dependentCareExpenses").value);
var shelterCosts = parseFloat(document.getElementById("shelterCosts").value);
var elderlyOrDisabledStatus = document.getElementById("elderlyOrDisabledStatus").value;
var hasEarnedIncome = document.getElementById("hasEarnedIncome").value;
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
resultDiv.classList.remove("ineligible", "eligible");
// Basic validation for numeric inputs
if (isNaN(householdSize) || householdSize <= 0) {
resultDiv.innerHTML = "Please enter a valid household size (at least 1).";
return;
}
if (isNaN(grossMonthlyIncome) || grossMonthlyIncome < 0) {
resultDiv.innerHTML = "Please enter a valid gross monthly income (0 or more).";
return;
}
if (isNaN(medicalExpenses) || medicalExpenses < 0) {
resultDiv.innerHTML = "Please enter a valid monthly medical expense (0 or more).";
return;
}
if (isNaN(childCareExpenses) || childCareExpenses < 0) {
resultDiv.innerHTML = "Please enter a valid monthly child care expense (0 or more).";
return;
}
if (isNaN(dependentCareExpenses) || dependentCareExpenses < 0) {
resultDiv.innerHTML = "Please enter a valid monthly dependent care expense (0 or more).";
return;
}
if (isNaN(shelterCosts) || shelterCosts 35) {
medicalDeduction = medicalExpenses – 35;
}
}
var dependentCareCosts = childCareExpenses + dependentCareExpenses;
// Calculate income after deductions, before shelter
var incomeBeforeShelter = grossMonthlyIncome – earnedIncome – standardDeduction – medicalDeduction – dependentCareCosts;
if (incomeBeforeShelter shelterLimit) {
excessShelterCost = shelterCosts – shelterLimit;
}
// Calculate Net Income
var netIncome = incomeBeforeShelter – excessShelterCost;
if (netIncome < 0) netIncome = 0; // Cannot be negative
// — Maximum Income Standards (Approximate for demonstration) —
// These are illustrative and do not reflect current official NYS Maximum Income Tables.
// Actual tables are updated regularly and depend on factors like rent/mortgage status.
var maxIncomeStandards = {
1: 1751, 2: 2366, 3: 2983, 4: 3598,
5: 4211, 6: 4826, 7: 5441, 8: 6058
};
// Approximate for households larger than 8
var maxIncomeForLargerHouseholds = 6058 + (householdSize – 8) * 617;
var maxIncomeLimit = maxIncomeStandards[householdSize] || maxIncomeForLargerHouseholds;
// Simplified adjustment for elderly/disabled households (often higher limits or no limit on shelter deduction)
if (elderlyOrDisabledStatus === "yes") {
// In reality, rules differ significantly, potentially allowing uncapped shelter deductions
// and different gross income limits. We'll slightly increase the threshold for estimation.
maxIncomeLimit = maxIncomeLimit * 1.15; // Arbitrary increase for estimation purposes
}
// — Determine Eligibility —
var isEligible = false;
if (netIncome < maxIncomeLimit) {
isEligible = true;
}
// — Display Result —
if (isEligible) {
resultDiv.innerHTML = "Potentially Eligible for SNAP!";
resultDiv.classList.add("eligible");
// Note: Benefit amount calculation is extremely complex and not included here.
} else {
resultDiv.innerHTML = "Likely Not Eligible Based on Income.";
resultDiv.classList.add("ineligible");
}
}