# Every cup, tablespoon and teaspoon portion in USDA FoodData Central

USDA's household-measure table is the number under most cup-to-gram converters on the web,
usually without saying so. This is all of it that is a cup, a tablespoon or a teaspoon:
4,549 portions for 3,571 foods across the two releases, each carrying USDA's own
amount, modifier and gram weight, and one derived column (grams per one unit).

## What the numbers came out at

| | |
|---|---|
| portions | 4,549 |
| from SR Legacy (April 2018 data, the final release) | 3,786 |
| from Foundation Foods (2025-04-24 release) | 763 |
| cups | 3,446 |
| tablespoons | 804 |
| teaspoons | 299 |
| Foundation Foods market acquisitions (one purchased sample each) | 697 |
| granulated sugar, one cup, across 14 purchased bags | 175 to 200 g |

## Read this before you use a figure

- **These are compiled household measures, not weighings made for the file.** USDA's own SR
  documentation, Weights and Measures: "The weights are derived from published sources,
  industry files, studies conducted by USDA (Adams, 1975; Fulton et al., 1977), and the
  weights and measures used in the FNDDS (2006). Though special efforts have been made to
  provide representative values, weights and measures obtained from different sources vary
  considerably for some foods."
- **No row states a cup volume, and none states a filling method** beyond what its
  `modifier` says ("cup packed", "cup sifted", "cup unsifted, dipped"). Sites that describe
  USDA's 125 g cup of all-purpose flour as "spooned" or as a "laboratory density" are adding
  something the file does not contain.
- **Foundation Foods market acquisitions are the interesting rows.** Each is one purchased
  sample of a food, with the date and state it was bought, and the Foundation Foods
  documentation says these weights "are determined from samples acquired as part of NFNAP".
  It is the only place in either release where the same measure of the same food varies.
- **SR Legacy is frozen.** USDA: "SR Legacy is the final release of the Standard Reference
  data type. These data will not be updated."
- **A unit was read out of two encodings.** SR Legacy writes it into a free-text modifier,
  and a modifier counts only when it BEGINS with the unit word ("serving 1 cup" is a serving,
  not a cup). Foundation Foods uses measure-unit ids 1000, 1001 and 1002. A second reader,
  written separately, re-derives every row in `research/cup-weights/verify.mjs`.

## Files

- `portions.jsonl`: one JSON object per line, one per portion.
- `schema.json`: JSON Schema draft 2020-12 for a row, with each field marked as USDA's
  (redistributed, public domain) or ours (built).
- `sources.json`: both releases with their URL, byte size, sha256 and the licence basis.
- `validate.mjs`: a dependency-free validator that re-checks every row against the schema
  and the digests and row count in `manifest.json`.
