Whole milk vs Skim milk

The short answer

Same protein and calcium in both. Whole milk keeps the fat, and the calories that come with it; skim removes it. Whole for richness and staying-power, skim when you want the protein and calcium with fewer calories. One choice: keep the fat or not.

Whole milk and Skim milk, per 100 g and per portion. A gap means USDA has no value for it — not zero.

Whole milk · per 100 gSkim milk · per 100 g
Calories6134
Protein3.2 g3.4 g
Fat3.3 g0.1 g
Carbs4.8 g5 g
Fiber0 g0 g
Sugars5.1 g5.1 g
Sodium43 mg42 mg
Vitamins & minerals — where both carry data
Calcium113 mg122 mg
Folate5 µg5 µg
Iron0 mg0 mg
Magnesium10 mg11 mg
Niacin0.1 mg0.1 mg
Phosphorus84 mg101 mg
Potassium132 mg156 mg
Riboflavin0.2 mg0.2 mg
Thiamin0 mg0 mg
Vitamin A46 µg61 µg
Vitamin B120.5 µg0.5 µg
Vitamin B60 mg0 mg
Vitamin C0 mg0 mg
Vitamin D1.3 µg1.2 µg
Vitamin E0.1 mg0 mg
Vitamin K0.3 µg0 µg
Zinc0.4 mg0.4 mg
At equal calories (per 100 kcal)
ProteinWhole milk: 5.2 g, Skim milk: 9.9 g · FiberWhole milk: 0 g, Skim milk: 0 g · SodiumWhole milk: 70.5 mg, Skim milk: 123.5 mg

Generic USDA foods (not brands), so both carry micronutrients. Numbers are per 100 g unless the portion toggle is on. USDA FoodData Central, as of 2026-08-12.

Common questions
Is Whole milk or Skim milk better?

Neither is “better” on its own — it depends what you want from it. The table shows where each is higher; the short answer says when each one fits. Compare on the same basis (per 100 g) and pick for your dish and your goal.

How were these numbers worked out?

Straight from USDA FoodData Central for the generic form of each food, per 100 g. We show the portion view too, but portion sizes differ between foods, so per 100 g is the fair comparison.

Why does one column say “no data”?

Because USDA has no value for that nutrient in that food — so we leave it blank rather than print a 0 that would read as “none”. A real zero from USDA still shows as 0.

More in Dairy & eggs