Why this page exists
Milk is the one food on a tracker that almost nobody measures before it goes in. Coffee gets a splash, cereal gets a pour, a shake gets topped off to the line on the shaker. Chicken breast gets weighed because the reader is trying to hit a protein number. Milk gets poured because that is what milk is for, and the calories that ride along with it never make it into the log.
The USDA carries four records for this page, one per fat level, and the gap between them is real. A cup of whole milk runs 149 calories. The same cup of skim runs 84. Protein barely moves across that range, 8.1 g on the richest record and 8.4 g on the leanest. The fat level changes the energy cost of the pour and changes almost nothing else, which is exactly the variable a reader guessing at "milk" in a tracker has no way to specify.
What is in a serving
Every figure below is scaled from the USDA record named at the bottom of this panel.
Serving basisgrams
100 gof Whole (3.25%)
- Calories
- 60 cal
- Protein
- 3.3 g
- Carbs
- 4.6 g
- Fat
- 3.2 g
| Nutrient | Per serving100 g | Per 100 greference |
|---|---|---|
| Calories | 60 cal | 60 cal |
| Protein | 3.3 g | 3.3 g |
| Carbs | 4.6 g | 4.6 g |
| Fat | 3.2 g | 3.2 g |
| Fiber | not reportedUnavailable. This record does not report fiber. | not reportedUnavailable. This record does not report fiber. |
| Sugar | 4.8 g | 4.8 g |
| Sodium | 38 mg | 38 mg |
Fiber is not reported on Whole (3.25%).
A nutrient the record does not measure shows as — and never as 0. A zero here is a measured zero.
FDC 746782USDA Foundation FoodsMilk, whole, 3.25% milkfat, with added vitamin DPublished December 16, 2019
The records behind this page
One food family, 4 source records. The figures are per 100 g, which is the basis the USDA publishes and the only fair way to compare records whose servings differ.
| Record | Caloriescal | Proteing | Carbsg | Fatg | Fiberg | Sugarg | Sodiummg |
|---|---|---|---|---|---|---|---|
| Milk, Whole, 3.25% Milkfat, With Added Vitamin DFDC 746782FoundationShown by default | 60 | 3.3 | 4.6 | 3.2 | not reportedUnavailable. This record does not report fiber. | 4.8 | 38 |
| Milk, Reduced Fat, Fluid, 2% Milkfat, With Added Vitamin A and Vitamin DFDC 746778Foundation | 50 | 3.4 | 4.9 | 1.9 | not reportedUnavailable. This record does not report fiber. | 4.9 | 39 |
| Milk, Lowfat, Fluid, 1% Milkfat, With Added Vitamin A and Vitamin DFDC 746772Foundation | 43 | 3.4 | 5.2 | 1 | not reportedUnavailable. This record does not report fiber. | 5 | 39 |
| Milk, Nonfat, Fluid, With Added Vitamin A and Vitamin D (fat Free or Skim)FDC 746776Foundation | 34 | 3.4 | 4.9 | 0.1 | not reportedUnavailable. This record does not report fiber. | 5.1 | 41 |
Logging milk without guessing
Pick the record that matches the carton in your hand. Per 100 g, whole milk runs 60 calories and 3.2 g of fat. The 2% record runs 50 calories and 1.9 g of fat. The 1% record runs 43 calories and 1 g of fat. The nonfat record runs 34 calories and 0.1 g of fat. Protein moves the opposite direction and by a much smaller amount, from 3.3 g per 100 g on whole milk up to 3.4 g on nonfat. A generic "milk" entry in a tracker is usually pinned to one of these four, and if it is not the one in your fridge, a full cup logged against it is wrong by up to 65 calories.
Coffee and cereal are where the pour goes unlogged, and they are also where it is smallest per instance and largest in aggregate. A splash in a coffee and a pour over cereal are not full cups, so neither one alone moves a day's numbers much. The failure mode is that both happen daily, several times a day for the coffee, and neither gets a gram weight attached to it. Weigh one typical pour once on a kitchen scale, write down the gram figure, and log that fixed amount every time instead of estimating fresh each time.
A shake changes the record math more than the powder does. Mixing a scoop of protein powder with a cup of whole milk instead of water adds 149 calories and 8.1 g of protein from the milk alone, on top of whatever the powder contributes. Readers who track the powder religiously and treat the liquid as free are undercounting by a full serving's worth of dairy. Log the milk as its own line, at the record that matches the carton.
Sodium moves in the opposite direction from fat, and it is a small number regardless. The nonfat record carries 41 mg of sodium per 100 g against 38 mg for whole milk. Neither figure is large enough to change a sodium budget on its own, but a reader adding up several cups a day across coffee, cereal, and a shake should know the nonfat pour carries the most sodium of the four records despite carrying the fewest calories.
Where milk fits, and where it does not
The fat-level ladder changes calories far more than it changes protein. Someone cutting on a fixed calorie budget who currently drinks whole milk in coffee three times a day can drop to the nonfat record and give up roughly 65 calories per cup for a 0.3 g difference in protein. That is close to a free swap. Someone trying to gain weight should run the ladder the other direction and stop reaching for the low-fat carton out of habit when the actual goal is more calories with less volume.
Recovery and pre-sleep contexts keep citing milk because it carries both major dairy proteins in one pour. Milk contains both whey and casein, the fast-digesting and slow-digesting fractions that show up separately in protein shake and protein oatmeal guidance. This page's records report total protein only, so the whey and casein split itself is described at casein, whey protein, and pre-sleep protein rather than here. What this page can tell you is that a 246 g cup carries 8.1 to 8.4 g of that total protein depending on which fat level you poured.
Milk on its own does not clear a per-meal protein target. At roughly 8 g per cup across all four records, milk covers a fraction of what a per-meal protein target asks for. Greek yogurt delivers more than double the protein in a comparable serving because straining concentrates it. Use milk to build a shake or a bowl, and expect a meal logged as milk alone to land well under the 25 to 30 g per-meal range most per-meal protein guidance asks for.
The record you log should match the reason you are drinking it. A cutting reader reaching for whole milk out of habit is paying calories for nothing the leaner records do not also deliver. A reader trying to gain who keeps buying skim is leaving calories on the table for the same reason. Check which record matches your goal before you check which one matches the carton in the fridge, and switch the carton when they disagree.
Where it fits against a goal
Cutting on a fixed calorie budget
246 g of Milk, Nonfat, Fluid, With Added Vitamin A and Vitamin D (fat Free or Skim)FDC 746776
- Calories
- 84 cal
- Protein
- 8.4 g
One cup of the nonfat record runs 84 calories and 8.4 g of protein. The same cup of whole milk runs 149 calories for 8.1 g of protein, which is 65 calories spent on a fat level that does not change what the pour does for you nutritionally. Switch the carton before you switch anything else in the diet.
Eating enough to gain
249 g of Milk, Whole, 3.25% Milkfat, With Added Vitamin DFDC 746782
- Calories
- 149 cal
- Fat
- 8 g
Whole milk carries 8 g of fat per cup against 0.2 g for the nonfat record in the same volume. If the problem is hitting a calorie target rather than avoiding one, whole milk in coffee and cereal adds up without adding chewing.
Post-training recovery
245 g of Milk, Reduced Fat, Fluid, 2% Milkfat, With Added Vitamin A and Vitamin DFDC 746778
- Calories
- 123 cal
- Protein
- 8.2 g
A cup of the 2% record delivers 8.2 g of protein for 123 calories, a middle point between the leaner and richer records on this page. Milk alone will not fill a post-training protein target. Treat it as the base a shake or a bowl gets built on.
Pre-sleep protein
246 g of Milk, Lowfat, Fluid, 1% Milkfat, With Added Vitamin A and Vitamin DFDC 746772
- Protein
- 8.3 g
- Calories
- 106 cal
8.3 g of protein in a 246 g cup of the 1% record, at 106 calories. This page reports total protein only and cannot split it into whey and casein fractions, so the slow-digesting case for a bedtime glass is made in full at [casein](/glossary/casein) and [pre-sleep protein](/glossary/pre-sleep-protein).
Methodology
Where the numbers come from
Every figure on this page is scaled from a per-100 g value in a USDA record by one shared function, so the numbers here and the numbers on a meal page that uses this ingredient cannot disagree. Values are rounded once, at the point of display.
- FDC 746782Milk, whole, 3.25% milkfat, with added vitamin DUSDA Foundation Foods
- FDC 746778Milk, reduced fat, fluid, 2% milkfat, with added vitamin A and vitamin DUSDA Foundation Foods
- FDC 746772Milk, lowfat, fluid, 1% milkfat, with added vitamin A and vitamin DUSDA Foundation Foods
- FDC 746776Milk, nonfat, fluid, with added vitamin A and vitamin D (fat free or skim)USDA Foundation Foods
Unavailable values
A nutrient a record does not measure is shown as unavailable and never as zero. Across the 405 records in this dataset, 165 report no fiber and 228 report no sugar, so the distinction is not a rare edge case. A zero on this page means the analysis measured zero.
Source coverage
Every claim on this page resolves to one of the records listed here. This family has no open source gaps.
Datasets
- USDA FoodData Central Foundation FoodsExport 2026-04-30 · 363 of 395 entries normalized
- USDA FoodData Central SR LegacyExport 2018-04 · 42 of 7793 entries normalized
