Artificial Wasteland artwaste.land

Every cup, tablespoon and teaspoon portion in USDA FoodData Central

7 of 7 conditions 4,549 rows · 2.1 MB · 5 files

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).

The files

FileRowsBytessha256
portions.jsonl 4,549 2,109,612 1ba01519c82f9bff166a9f84709c844cd85ec207fb4bd3837e2ceb84d189713f
README.md n/a 2,922 85e33183063e52c6dd4b312b228c81506d41b49d840e95f371e6a9419992a4ce
schema.json n/a 5,201 b89d89d739297d2ab6537c648fa400541778ef638a29734091d4786e832706c1
sources.json n/a 3,923 5880da410e89c6abc852a67d53a1192843fa2921d0cd438f0321ff6d027c5069
validate.mjs n/a 15,198 67aceadfaea1f0b4611fa24f550c1b648437f25fbf20f19bf864292700aa69a2

Take the folder and check it yourself: node validate.mjs in the downloaded directory re-runs every row against the schema and every file against the digest above, with no dependencies and no network. The dataset's own full account is README.md.

A row, field by field

Origin is the column that decides whether we may give a field away at all. built is ours; redistributed is a source's own content, and it may only ship where that source's licence permits it.

FieldTypeOriginWhat it is
release string built Which release the row is from: sr_legacy (April 2018 data, final) or foundation (2025-04-24 release).
fdc_id integer redistributed USDA's FoodData Central id for the food. Foundation Foods rows from the same release carry their own ids; the two releases are cited separately in sources.json.
data_type string redistributed sr_legacy_food; or foundation_food (the summary record) or market_acquisition (one purchased sample of that food).
ndb_number string or null redistributed The legacy Nutrient Database number, where the release carries one.
description string redistributed The food, as USDA describes it.
category string or null redistributed USDA's food category.
unit string built cup, tbsp or tsp, read out of SR Legacy's free-text modifier (which must BEGIN with the unit word) or Foundation Foods' measure_unit id.
amount number redistributed How many of the unit the gram weight is for, as USDA lists it.
modifier string or null redistributed USDA's own modifier text: "cup", "cup, chopped", "cup packed", "cup (8 fl oz)". Where it says packed, sifted or dipped, that is the only method information in the release.
portion_description string or null redistributed USDA's portion description, where the row has one.
gram_weight number redistributed The gram weight USDA lists for that amount of that unit.
grams_per_unit number built gram_weight divided by amount, rounded to three decimals: the figure per one cup, tablespoon or teaspoon. The one derived column.
data_points integer or null redistributed USDA's count of data points behind the weight, where the release records one. Blank for most SR Legacy rows.
min_year_acquired integer or null redistributed USDA's earliest acquisition year, where recorded.
footnote string or null redistributed USDA's footnote, where there is one.
acquisition_date string or null redistributed For a Foundation Foods market acquisition, the date the sample was bought.
store_state string or null redistributed For a market acquisition, the US state it was bought in.
url string built The FoodData Central page for the food, where the portion can be read.

Where it came from, and how we know we may pass it on

USDA FoodData Central, SR Legacy (Standard Reference Legacy Release), CSV download, April 2018 data, file dated 2023-10-25

U.S. Department of Agriculture, Agricultural Research Service · https://fdc.nal.usda.gov/fdc-datasets/FoodData_Central_sr_legacy_food_csv_2018-04.zip

Licence
Work of the United States Government, not subject to copyright (17 U.S.C. §105)
How we know
publisher statement
Accessed
2026-09-13

The Data.gov catalogue record for FoodData Central (https://catalog.data.gov/dataset/fooddata-central, read 2026-09-13) states its licence as https://www.usa.gov/publicdomain/label/1.0/, the US Government public-domain label, and its access level as public. FoodData Central's own pages carry no licence statement, which is recorded here as silence rather than upgraded into a grant; the statute and the catalogue record are the basis.

USDA FoodData Central, Foundation Foods, CSV download, release of 2025-04-24

U.S. Department of Agriculture, Agricultural Research Service · https://fdc.nal.usda.gov/fdc-datasets/FoodData_Central_foundation_food_csv_2025-04-24.zip

Licence
Work of the United States Government, not subject to copyright (17 U.S.C. §105)
How we know
publisher statement
Accessed
2026-09-13

The Data.gov catalogue record for FoodData Central (https://catalog.data.gov/dataset/fooddata-central, read 2026-09-13) states its licence as https://www.usa.gov/publicdomain/label/1.0/, the US Government public-domain label, and its access level as public. FoodData Central's own pages carry no licence statement, which is recorded here as silence rather than upgraded into a grant; the statute and the catalogue record are the basis.

The extraction and the unit reading

Artificial Wasteland · https://artwaste.land/tools/cup-weights/

Licence
CC0 1.0 Universal (public domain dedication)
How we know
publisher statement
Accessed
2026-09-13

Ours, dedicated to the public domain. The generator is research/cup-weights/extract-usda.mjs, and research/cup-weights/verify.mjs re-derives every row from the raw files with a second reader.

The seven conditions, and what was measured

  1. Bytes 1 data file(s), 2,109,612 bytes, largest 2.0 MiB
  2. Shape 4,549 rows checked, 0 violation(s)
  3. Count 4,549 rows across 1 file(s), all counts agree
  4. Fixity 5 file(s) verified by sha256
  5. Provenance 3 source(s), each with a licence from the table
  6. Origin 18 field(s): 4 built here, 14 redistributed under a licence that permits it
  7. Rebuild research/data-room/emit/usda-cup-portions.mjs (byte-equality proved by: node research/data-room/publish.mjs --check)

← every dataset, and the three we could not publish