Skip to main content

PantryPath Research · School Hunger Atlas

School hunger in Wisconsin

41% certified free/reduced

Across 2,099 public schools serving 808,172 students, 40.9% of Wisconsin students are certified free or reduced-price. 508 schools (26% of NSLP participants) operate under the Community Eligibility Provision, and 0.0% of students are directly certified through SNAP, TANF, or Medicaid linkage.

808K

Students enrolled

2,099

Public schools (CCD)

508

CEP / Provision 2 schools

72

Counties in atlas

Wisconsin by county

← Back to national atlas

Toggle between the school-food-access composite, free/reduced eligibility, CEP share, direct-certification rate, and SAIPE school-age poverty. Hover a county to see schools, enrollment, and the underlying certification mix.

Loading county map…

Lower
Higher

Wisconsin at a glance

Free/reduced

40.9%

Share of enrollment

CEP share

26%

Of NSLP schools

Direct cert

0.0%

SNAP/TANF/Medicaid

NSLP schools

94%

Serve NSLP meals

5–17 in poverty

12.2%

Census SAIPE 2023

Access score

0.47

Composite 0–1

The access score is a 0–1 composite weighted 50% eligibility, 30% CEP share, 20% NSLP share — a visualization and ranking aid, not a direct measurement. See methodology.

County-level hotspots

Top five counties across 72 in Wisconsin.

Highest free/reduced share

Certified ≤185% FPL per enrollment

  1. 1 Menominee 89.3%
  2. 2 Milwaukee 63.5%
  3. 3 Rusk 62.4%
  4. 4 Langlade 59.0%
  5. 5 Waushara 58.6%

Highest CEP adoption

Of NSLP schools — min. 3 NSLP schools

  1. 1 Adams 100%
  2. 2 Forest 100%
  3. 3 Menominee 100%
  4. 4 Rusk 100%
  5. 5 Kenosha 82%

Largest enrollment

Total students in CCD universe

  1. 1 Milwaukee 122K
  2. 2 Dane 77K
  3. 3 Waukesha 60K
  4. 4 Brown 42K
  5. 5 Outagamie 31K

Every county in Wisconsin

All 72 counties with school counts, enrollment, certification mix, CEP adoption, and the SAIPE 5–17 poverty backdrop.

County Schools Enrollment Free/reduced CEP Direct cert 5–17 poverty Access
Adams 3 1,286 54.3% 100% 0.0% 19.6% 0.77
Ashland 11 2,375 57.6% 30% 0.0% 15.6% 0.56
Barron 32 7,220 46.3% 11% 0.0% 10.1% 0.44
Bayfield 12 1,604 50.2% 50% 0.0% 15.6% 0.60
Brown 81 41,824 40.3% 32% 0.0% 10.0% 0.49
Buffalo 10 1,832 39.9% 0% 0.0% 11.5% 0.40
Burnett 10 2,741 57.2% 22% 0.0% 21.5% 0.53
Calumet 22 6,644 25.2% 9% 0.0% 4.9% 0.35
Chippewa 25 8,386 41.4% 0% 0.0% 10.7% 0.40
Clark 21 4,594 55.7% 29% 0.0% 15.4% 0.56
Columbia 29 8,613 24.5% 0% 0.0% 8.2% 0.32
Crawford 13 1,868 50.5% 0% 0.0% 17.3% 0.44
Dane 155 76,946 29.7% 13% 0.0% 7.4% 0.36
Dodge 36 10,329 43.2% 6% 0.0% 9.0% 0.43
Door 16 3,236 38.8% 0% 0.0% 9.7% 0.37
Douglas 16 5,526 44.7% 0% 0.0% 10.4% 0.40
Dunn 17 5,913 41.1% 0% 0.0% 10.1% 0.39
Eau Claire 33 14,071 38.0% 3% 0.0% 9.1% 0.39
Florence 3 381 48.0% 0% 0.0% 18.2% 0.44
Fond du Lac 40 12,982 40.8% 8% 0.0% 9.1% 0.41
Forest 7 1,466 42.8% 100% 0.0% 19.5% 0.71
Grant 30 6,892 41.7% 0% 0.0% 13.8% 0.41
Green 20 5,374 34.9% 0% 0.0% 8.8% 0.37
Green Lake 10 2,650 45.4% 10% 0.0% 13.7% 0.46
Iowa 15 3,409 29.3% 0% 0.0% 9.1% 0.35
Iron 3 665 39.6% 33% 0.0% 16.5% 0.50
Jackson 8 2,896 50.7% 75% 0.0% 16.5% 0.68
Jefferson 30 9,364 35.5% 0% 0.0% 9.4% 0.36
Juneau 23 3,563 55.9% 9% 0.0% 14.8% 0.50
Kenosha 47 24,531 41.6% 82% 0.0% 15.1% 0.64
Kewaunee 10 3,535 30.4% 0% 0.0% 8.4% 0.35
La Crosse 37 15,113 37.2% 15% 0.0% 8.9% 0.41
Lafayette 17 2,658 41.4% 0% 0.0% 13.9% 0.41
Langlade 11 2,284 59.0% 73% 0.0% 17.2% 0.71
Lincoln 9 3,915 39.1% 0% 0.0% 11.7% 0.37
Manitowoc 29 10,284 43.0% 58% 0.0% 10.9% 0.57
Marathon 49 18,791 38.9% 15% 0.0% 12.1% 0.43
Marinette 22 5,664 47.9% 32% 0.0% 14.7% 0.54
Marquette 9 1,550 47.0% 38% 0.0% 14.9% 0.53
Menominee 4 991 89.3% 100% 0.0% 46.5% 0.95
Milwaukee 259 122,405 63.5% 71% 0.0% 22.9% 0.72
Monroe 20 6,883 41.8% 10% 0.0% 17.3% 0.44
Oconto 17 4,518 41.2% 0% 0.0% 10.5% 0.41
Oneida 14 4,020 47.4% 38% 0.0% 10.8% 0.54
Outagamie 68 31,286 34.3% 20% 0.0% 6.0% 0.42
Ozaukee 25 12,344 17.0% 0% 0.0% 3.6% 0.27
Pepin 4 1,234 38.0% 0% 0.0% 14.4% 0.39
Pierce 25 7,519 25.3% 0% 0.0% 6.6% 0.29
Polk 26 6,298 42.2% 12% 0.0% 11.1% 0.45
Portage 27 9,140 36.5% 0% 0.0% 9.6% 0.36
Price 8 1,481 31.4% 0% 0.0% 17.8% 0.36
Racine 45 24,766 48.3% 57% 0.0% 14.5% 0.60
Richland 7 1,470 56.7% 0% 0.0% 15.7% 0.46
Rock 58 25,273 49.2% 41% 0.0% 14.3% 0.55
Rusk 9 1,605 62.4% 100% 0.0% 19.1% 0.81
Sauk 30 10,084 43.1% 15% 0.0% 11.3% 0.44
Sawyer 10 2,137 54.5% 11% 0.0% 17.5% 0.49
Shawano 17 4,897 50.2% 12% 0.0% 14.3% 0.49
Sheboygan 49 17,536 39.3% 52% 0.0% 11.8% 0.54
St. Croix 29 14,391 22.5% 0% 0.0% 5.0% 0.29
Taylor 11 5,024 40.1% 0% 0.0% 13.8% 0.36
Trempealeau 21 5,837 49.8% 0% 0.0% 11.5% 0.45
Vernon 23 3,678 40.6% 14% 0.0% 17.6% 0.44
Vilas 13 2,601 53.4% 23% 0.0% 15.3% 0.54
Walworth 42 14,691 39.3% 0% 0.0% 10.1% 0.39
Washburn 15 2,170 51.6% 23% 0.0% 14.0% 0.50
Washington 32 18,125 23.6% 0% 0.0% 5.2% 0.31
Waukesha 107 60,226 17.9% 3% 0.0% 4.2% 0.27
Waupaca 25 7,421 43.3% 4% 0.0% 15.5% 0.43
Waushara 10 2,555 58.6% 0% 0.0% 13.9% 0.49
Winnebago 48 21,612 41.6% 60% 0.0% 10.0% 0.58
Wood 30 10,979 45.3% 21% 0.0% 11.2% 0.48

Wisconsin school meals guide

How free and reduced-price school lunch eligibility works, application steps, and what to do if your child's school is not in CEP.

School meals guide

Summer meals

When the school year ends, NSLP and CEP stop. The Summer Food Service Program and Summer EBT fill the gap for the 330,678 children who rely on school meals in Wisconsin.

Summer meals guide

Families with children

SNAP, WIC, Head Start, and the full federal-program stack for households with kids — the assistance ecosystem around the school cafeteria.

Families guide

Wisconsin child poverty

The sibling atlas — county-level child poverty across Wisconsin. Free/reduced eligibility and child poverty track each other closely but not perfectly.

Wisconsin child poverty atlas

Wisconsin pantries

Verified food pantries, food banks, and meal programs across Wisconsin — open weeknights, weekends, and through the summer gap.

Wisconsin pantry directory

Methodology

How we aggregated NCES Common Core of Data school-level records to counties, proxied CEP from lunch_program == 2, and layered SAIPE school-age poverty — plus the access-score formula.

Full methodology