School meal tracker
Loading…
Filters
Breakfast and lunch against a day's need
How much of a day's fiber, protein, calcium and iron one K-5 breakfast and one lunch give, averaged over the selected districts (each counted once). A tray here is one carton of milk (every school breakfast and lunch must offer milk; the mean of the milks on the menu) plus the menu's other items, pooled, over the rest of the fewest calories a K-5 meal may average: 350 at breakfast, 550 at lunch. At more calories, a tray holds more of everything. The dashed line is a whole day's need, from the National Academies: the RDA (for fiber, the Adequate Intake). Ages 4–8: fiber 25 g, protein 19 g, calcium 1,000 mg, iron 10 mg. Ages 9–13: fiber 31 g (boys; girls 26 g), protein 34 g, calcium 1,300 mg, iron 8 mg. Breakfast and lunch are two of a day's meals, so a bar short of the line isn't a shortfall by itself; one past it is more than a whole day needs. A district with under half its items known for a nutrient is left out of that bar (n). Calcium and iron were first kept on 2026-10-23 and fill in as each menu's items are re-checked. These are menus offered, not what any child took or ate.
At a glance
How often menus met each line, as a share of the weeks with enough data to judge. "All selected districts" averages the districts, each counted once, so a district with more weeks of data doesn't count more. Further down: the same lines week by week, then day by day, and at the bottom, every item. Sugar: the weekly verdict from "Distance to the 2027 rule". Fiber: entrées, per 1,000 calories. Protein: share of calories, within the 10–30% range for ages 4–18. Sodium: today's K-5 limit, and the stricter one from July 2027. Estimates from published menus, not compliance findings.
Distance to the 2027 rule
Weekly mean share of calories from added sugar, across items offered. Dashed line: 10%. From 2027-07-01 US school meals must average under it, and it's also WHO's main limit for free sugars. Dotted line: 5%, WHO's further (conditional) limit and the UK's for ages 2 and up. Free sugars also count sugars in juice; we only see added sugar, so these comparisons are, if anything, lenient. Hollow points: under half the week's items had data, so no verdict.
Ultra-processed: AB 1264 "high amounts" share
Weekly share of items (milk left out) that are high in saturated fat, sodium or added sugar as California's AB 1264 defines it. Districts in other states are held to the same yardstick for comparison; the law doesn't apply to them.
Path to zero: the thick segment is the median weekly share over the last 8 weeks shown. The dashed line runs straight from there to 0% on 2032-07-01, when vendors may no longer offer "ultraprocessed foods of concern" to California schools, and stays at 0% through 2035-07-01, when school meals must exclude them. It assumes every item meeting this test will count; the state defines "of concern" by 2028-06-01.
Fiber per entrée, per 1,000 calories
Weekly mean of each entrée's fiber per 1,000 calories, so small and large entrées compare fairly. Dashed line: 14 g per 1,000 kcal, the density behind FDA's fiber Daily Value for everyone 4 and up (28 g on a 2,000-calorie day). Food at or above it carries its share: if every meal, dinner included, reached it, so would the day. Dotted line: 12.5, WHO's density (2023 guideline), which it scales to children's targets. Entrées without calories are left out.
Protein, % of calories
Weekly share of calories from protein for the menu as a whole: all the protein in the items offered, at 4 calories per gram, over all their calories, as if one tray held one of everything. Dashed lines: 10% and 30%, the National Academies' acceptable range for ages 4–18. It describes a whole day's eating, not one meal. Dotted lines: 13% and 20%, the range Japan sets for its school lunches. For scale: at 550 calories, the fewest a K-5 lunch may average, a lunch at 14% protein holds 19 g, the RDA for a whole day at ages 4–8 (34 g at 9–13). Items without protein or calories are left out.
Sodium per 1,000 calories
Weekly sodium per 1,000 calories of the menu as a whole: all the sodium in the items offered over all their calories, as if one tray held one of everything. A meal's own sodium per calorie is that same ratio over its items, so a per-meal limit compares once divided by the meal's calories. Dashed lines: the US weekly limit for a K-5 meal, now and from 2027-07-01, over the fewest calories a K-5 meal may average (550 at lunch, 350 at breakfast). A menu above a dashed line would put a meal over that limit at any calorie level the rule allows; a menu below it could still be over in a bigger meal. Dotted lines (lunch): Japan's per-lunch salt limits for ages 6–7, 8–9 and 10–11, as sodium (salt ÷ 2.54), over the calories its standard sets for each age (530, 650, 780). A side with more sodium than its whole meal may average (1,110 mg at lunch, 540 at breakfast) is a likely data-entry error and is left out. These are menus offered, not what any child took.
Lunch
Breakfast
Worst offenders
Items with the most added sugar in the filtered range. "Suspect" marks likely data-entry errors (over the meal's calorie maximum, or more sugar calories than calories); they're shown as published. "Estimated" marks a value the district didn't publish, or published wrong, replaced with a sourced one; the footer says which.
Likely unrecorded added sugar
Meets every line
Items in the filtered range that pass every line on this page, as published: under 5% of calories from added sugar and no more than 10 g; under 10% of calories from saturated fat; under 1 mg of sodium per calorie; and at least 14 g of fiber per 1,000 calories. Items missing any of these values, or marked suspect, are left out. These numbers can't tell a whole food from a processed one with the same nutrients, so meeting every line is a floor, not a definition of healthy. Protein isn't part of this test: its range is for a whole day's eating, not one food.
What the lines mean
- Added sugar is sugar added while a food is made, or sold as sugar, including honey and syrups (FDA, 21 CFR 101.9). The sugar already in whole fruit or plain milk isn't counted. From July 1, 2027, US school meals must average under 10% of calories from added sugar over the week. WHO's main limit for free sugars is also 10%, with 5% as a further, conditional goal; the UK uses 5% for everyone 2 and up. The 2025–2030 Dietary Guidelines say one meal should have no more than 10 g.
- Sodium: a K-5 school lunch may average at most 1,110 mg over the week (935 mg from July 2027), and a breakfast 540 mg (485 mg). Japan's school lunches for ages 6–11 stay under 1.5–2 g of salt, about 590–790 mg of sodium.
- Fiber: 14 g per 1,000 calories is the amount behind the fiber Daily Value on US food labels (28 g on a 2,000-calorie day); WHO's equivalent is 12.5 g. Counting per 1,000 calories lets a small breakfast and a big lunch compare fairly.
- Protein: the National Academies' acceptable range for children 4–18 is 10–30% of calories over a whole day. Its RDA, the daily amount it recommends, is 19 g at ages 4–8 and 34 g at 9–13. Japan plans its school lunches at 13–20% of calories from protein. The 2025–2030 Dietary Guidelines set a goal of 1.2–1.6 g per kilogram of body weight a day, with no separate figure for children.
- High in saturated fat, sodium or added sugar: California's test (AB 1264) is 10% or more of calories from saturated fat or from added sugar, or 1 mg or more of sodium per calorie. A food that meets it and has a listed additive is ultra-processed under the law, with exceptions such as drinking milk and USDA commodity foods. Schools begin phasing out the ones the state names "of concern" by July 1, 2029.
The high bar: what good school food can look like
The 2025–2030 US Dietary Guidelines put it simply: "eat real food." For children 5 to 10 they say to focus on whole, nutrient-dense foods (protein foods, dairy, vegetables, fruits, healthy fats and whole grains) and that "no amount of added sugars is recommended." They tell teenagers to avoid highly processed foods. The World Health Organization calls minimally processed and unprocessed foods, low in unhealthy fats, free sugars and sodium, "the foundation of any healthy diet," and suggests at least 350 g of fruit and vegetables a day for ages 6–9.
California has offered every student a free breakfast and lunch since 2022–23 (Ed. Code §49501.5), and eight other states now fund free meals for all students too; in Colorado, districts opt in. From December 31, 2027, California school meals may not contain six food dyes, such as Red 40. Foods from the USDA's commodity program are exempt.
- Brazil: at least 85% of federal school-food money must buy fresh or minimally processed food, and none of it may buy soda, candy or filled cookies (Resolução CD/FNDE nº 4/2026). At least 45% must buy straight from family farms (Lei 11.947/2009, art. 14).
- England: no sweets or chocolate; fried or breaded food at most twice a week; 3 different fruits and 3 different vegetables every week (school food standards).
- Finland: a free, balanced meal every school day for every pupil (Basic Education Act §31), since 1948 (Finnish National Agency for Education).
- Japan: by law, school lunch is part of food education (School Lunch Act), and national guidance asks schools to use local produce and traditional dishes (MEXT, 2021).
- New Mexico: the state tops meals up to the federal free-meal rate only for districts that meet its meal-quality rules, which can include cooking from scratch with New Mexico food (SB 4, 2023).
By day
Daily chartsDense: best on a bigger screen, or with your phone sideways.
The weekly charts above, one dot per school day's menu, for the same filters. Lines join the days of one week. The US sugar and sodium limits are weekly averages: one day above a line doesn't break the rule, but it pulls the week toward it. Japan's sodium limits are per lunch, so a day compares directly. Hollow dots: added sugar is known for under half of that day's items. Faint lines: the districts you haven't picked below.
Added sugar, % of calories
AB 1264 "high amounts" share
Fiber per entrée, per 1,000 calories
Protein, % of calories
Sodium per 1,000 calories: lunch
Sodium per 1,000 calories: breakfast
Added sugar per item
Each dot is one item offered on one day. Dashed line: 10 g, the most added sugar the Dietary Guidelines 2025–2030 suggest for a whole meal (guidance, not a school-meal rule). For scale, the AHA suggests 25 g or less per day for children 2–18.