Back to Journal
Calorie breakdown··12 min read

How many calories in milk? Whole, semi-skimmed, skimmed, and every plant milk

Milk calories per 100ml, per glass, per mug and per splash in tea. Whole, semi-skimmed, skimmed, and every plant milk compared, with the numbers people actually pour.

C
Calow Editorial
Reviewed and fact-checked against cited sources

Milk is the most under-logged food in most people's day, and not because anyone is being dishonest. It arrives in splashes, glugs and pours rather than portions. Nobody weighs the milk that goes in a mug of tea, and six mugs later it has quietly become a snack.

Here is what milk actually costs, per 100ml, per glass, per mug and per pint, across dairy and every plant milk on the shelf.

The quick answer

Whole milk is about 63 kcal per 100ml. Semi-skimmed is roughly 48 kcal and skimmed is about 35 kcal. In US terms, USDA reference data puts whole milk (3.25% fat) at 61 kcal per 100g, 2% at 50 kcal, 1% at 42 kcal and skim at 34 kcal.

The two systems look inconsistent until you notice they measure different things. UK labels use 100ml, US reference data uses 100g, and milk has a density of about 1.03. So 100ml of milk weighs 103g, which is why the same product reads a couple of kcal higher by volume.

MilkPer 100mlProtein per 100mlFat per 100ml
Whole (UK, 3.6% fat)633.4g3.6g
Whole (US, 3.25% fat)633.3g3.4g
Semi-skimmed (UK, 1.7% fat)483.6g1.8g
2% reduced fat (US)513.5g2.0g
1% low fat (US)433.5g1.0g
Skimmed (UK, 0.1% fat)353.5g0.3g
Skim (US, nonfat)353.5g0.2g
Lactose-free semi-skimmed483.6g1.8g
Goat milk (whole)703.6g4.1g
Buttermilk (cultured, low fat)413.4g0.9g
Evaporated milk (unsweetened)1356.8g7.6g
Condensed milk (sweetened)3217.9g8.7g
Single cream1932.6g19g
Double cream4491.7g48g
Half and half (US)1303.0g11.5g

By the pour, because nobody drinks 100ml

The per-100ml figure is a label unit. These are the pours that actually happen.

PourVolumeWholeSemi-skimmedSkimmed
Splash in tea30ml191411
Generous pour in coffee50ml322418
Small glass200ml1269670
Standard glass250ml15812088
US cup240ml15111584
Tall glass350ml221168123
Cereal bowl150ml957253
Big cereal bowl250ml15812088
Latte milk (medium)250ml15812088
Flat white milk130ml826246
Protein shake mixer300ml189144105
Porridge liquid (1 portion)250ml15812088
UK pint568ml358273199
US pint473ml298227166
1 litre1000ml630480350

Six mugs of tea with a 40ml pour of semi-skimmed is 115 kcal a day. Over a year that is roughly 42,000 kcal, and it never appears in a food diary because nobody thinks of tea as food.

The plant milk table

Plant milks vary far more than dairy, because the recipe is a formulation rather than an animal product. Two oat milks from the same shelf can differ by 20 kcal per 100ml.

Plant milkPer 100mlProtein per 100mlNotes
Almond (unsweetened)150.5gThe lightest common option
Almond (sweetened)400.5gSugar does all the extra work
Cashew (unsweetened)220.5g
Coconut drink (carton, unsweetened)200.2gNot tinned coconut milk
Coconut milk (tinned, full fat)1972.0gA cooking ingredient, not a drink
Rice milk500.3gNaturally sweet, low protein
Oat (standard)461.0gRoughly semi-skimmed territory
Oat (barista)591.1gAdded oil for foam
Soy (unsweetened)333.3gThe only close protein match to dairy
Soy (sweetened)543.1g
Pea protein milk393.4gHigh protein, still uncommon
Hemp (unsweetened)270.8g
Macadamia (unsweetened)250.4g
Hazelnut (unsweetened)290.4g

For what your protein target actually needs to be, how much protein you need per day covers the numbers by body weight and activity.

Milk in coffee: the real calorie source

Black coffee is 2 kcal. Everything above that is milk, syrup or foam. The drink names hide it.

DrinkMilk volumeWhole milkSemi-skimmedOat
Espresso0ml333
Macchiato20ml161312
Cortado60ml413231
Flat white (small)130ml856563
Cappuccino (medium)180ml1168986
Latte (medium)250ml160122118
Latte (large)350ml223170164
Iced latte (large)300ml192146141
Chai latte (medium, with syrup)250ml240202198
Hot chocolate (medium)300ml330290285

The pattern: milk drives almost all of it, and the cup size drives the milk. A large latte is not a stronger coffee than a small one. It is the same two shots with 200ml more milk. Switching from whole to semi-skimmed in a daily large latte saves about 53 kcal. Dropping from a large to a medium saves 63, and dropping to a small flat white saves 138.

(For the full menu including syrups, whipped cream and the seasonal drinks, how many calories in coffee drinks breaks down the chains.)

Whole vs skimmed: the difference is smaller than the argument

The whole-versus-skimmed debate consumes far more attention than the 28 kcal per 100ml it is actually about.

Daily milk habitWholeSkimmedDifference
4 mugs of tea (40ml each)1015645
1 glass with dinner (250ml)1588870
Cereal + 2 coffees (250ml total)1588870
Heavy user (1 pint a day)358199159

For most people the honest answer is 50 to 80 kcal a day. That is worth having, but it is not the thing that decides an outcome. Volume decides the outcome. If you drink a pint a day, the fat percentage matters. If you take a splash in tea, it does not.

Whole milk also does something skimmed does not: it slows gastric emptying slightly and tastes richer, which is why some people sweeten skimmed coffee and not whole. A teaspoon of sugar is 16 kcal, so two of them erase the saving.

28kcal per 100ml between whole and skimmed

Milk as a protein source

Milk is one of the cheapest protein sources per calorie in the dairy aisle, and it gets overlooked because people think of it as a drink rather than food.

FoodPer 100 kcalProtein per 100 kcal
Skimmed milk285ml10.0g
Semi-skimmed milk208ml7.5g
Whole milk159ml5.4g
Plain nonfat Greek yogurt169g17.0g
Skyr159g17.5g
Cottage cheese (low fat)137g15.0g
Cheddar cheese25g6.2g
Unsweetened almond milk667ml3.3g
Unsweetened soy milk303ml10.0g

Skimmed milk delivers 10g of protein per 100 kcal, which is respectable. Strained yogurts still win comfortably because straining removes the whey water and concentrates what is left.

(For the strained end of the aisle, Greek yogurt calories and skyr calories and protein cover the same math at higher density. For everything else on the shelf, how many calories in yogurt is the full aisle guide.)

What milk brings besides calories

Milk is one of the most nutrient-dense things in a fridge relative to price. A 250ml glass carries roughly 300mg of calcium, which is around 30% of an adult daily target per NIH Office of Dietary Supplements guidance, plus iodine, B12, riboflavin, phosphorus and potassium.

Fortified plant milks usually match calcium because it is added back. Unfortified ones, including many organic ranges, do not. Check the carton: the calcium line is the one that separates a fortified oat milk from an expensive glass of beige water. The NHS milk and dairy guidance covers the same point for UK products.

Vitamin B12 is the one worth checking on plant milks. It occurs naturally in dairy and only ever appears in plant milks as a fortification.

Milk mistakes to avoid

Logging "1 glass" without a volume

The word glass covers 200ml to 400ml. That is 126 to 252 kcal for whole milk from the same log entry. Fill your usual glass once, pour it into a measuring jug, and remember the number.

Forgetting tea and coffee milk entirely

The single biggest milk under-log. A splash feels like nothing because it is not a food event. Four to six mugs a day at 40ml a mug is 100 to 150 kcal that never touches a diary.

Treating barista oat milk as the same as regular oat milk

Barista versions add oil so the foam holds. That is typically 10 to 15 kcal more per 100ml, or 30 kcal on a medium latte. Café oat milk is nearly always the barista version.

Assuming plant milk is automatically lighter

Rice milk at 50 kcal per 100ml is heavier than semi-skimmed dairy. Sweetened almond milk at 40 kcal is close to it. Only the unsweetened nut milks are genuinely light, and they are also the ones with almost no protein.

Not draining the cereal bowl figure

Most people pour 150 to 250ml into cereal and leave 40 to 60ml behind. Logging the pour rather than what you drink overstates it, and logging nothing understates it worse. Pick the pour and be consistent.

Three milk habits worth costing out

The tea drinker (115 kcal a day)

  • 6 mugs of tea, 40ml semi-skimmed each (240ml total, 115 kcal)

Adds up to: 115 kcal a day, 8.6g protein. Nothing wrong with it. It just needs to be in the total.

The cereal and coffee morning (255 kcal)

  • 150ml semi-skimmed on cereal (72 kcal)
  • 1 medium latte, 250ml semi-skimmed (122 kcal)
  • 2 mugs of tea, 30ml each (29 kcal)

Adds up to: 223 kcal of milk before any food. On a 1,800 kcal target that is 12% of the day, poured rather than eaten.

The protein-forward swap (240 kcal)

  • 300ml semi-skimmed as a shake base (144 kcal, 11g protein)
  • 30g whey isolate (110 kcal, 25g protein)

Adds up to: ~254 kcal, 36g protein. Milk as a shake base rather than water adds 144 kcal and 11g of protein, which is a fair trade if you are chasing a protein target rather than a calorie floor.

The verdict

Milk is not a food that needs a strategy. It needs a measurement. The fat percentage argument is worth 50 to 80 kcal a day for a typical drinker, while the volume question is worth two or three times that.

Pour your normal glass into a jug once. Count your mugs honestly for a day. Those two numbers will tell you more than any whole-versus-skimmed debate.

✦ Inside the app

Snap the glass or the mug in Calow. It estimates the volume, works out the milk type from what you tell it once, and stops the tea rounds from disappearing out of your daily total.

Get the app →

Pairs well with: how many calories in coffee drinks, how many calories in yogurt, and protein breakfast swaps.

Questions

Common questions

How many calories are in 100ml of milk?
Whole milk is about 63 kcal per 100ml, semi-skimmed is roughly 48 kcal, and skimmed is about 35 kcal. US labelling uses fat percentages instead: whole (3.25%) is 61 kcal per 100g, 2% is 50 kcal, 1% is 42 kcal, and skim is 34 kcal. Milk is slightly denser than water, so 100ml weighs about 103g.
How many calories are in a glass of milk?
A 250ml glass of whole milk is about 158 kcal, semi-skimmed is 120 kcal, and skimmed is 88 kcal. A US cup is 240ml, which puts whole milk at 151 kcal and skim at 84 kcal. The glass size matters more than the fat percentage for most people, since glasses range from 200 to 400ml.
How many calories does milk add to tea or coffee?
A splash of 30ml semi-skimmed milk in tea is about 14 kcal. A 50ml pour in a mug of coffee is around 24 kcal. Whole milk pushes that to 19 and 32 kcal. Six mugs a day with a generous pour is 150 to 200 kcal, which is the part almost nobody logs.
Which milk has the fewest calories?
Unsweetened almond milk is the lightest at about 13 to 17 kcal per 100ml, followed by unsweetened cashew and coconut drinks at 15 to 25 kcal. Among dairy, skimmed milk is lowest at about 35 kcal per 100ml. The catch is protein: almond milk has under 1g per 100ml against 3.4g in skimmed, so it is not a like-for-like swap.
Is oat milk higher in calories than dairy milk?
Usually it sits between semi-skimmed and whole. Standard oat milk is about 45 to 50 kcal per 100ml, close to semi-skimmed at 48. Barista oat milk is higher, typically 55 to 65 kcal, because added oil helps it foam. Oat milk carries roughly 1g of protein per 100ml against 3.5g in dairy.
How many calories are in a pint of milk?
A UK pint is 568ml, so whole milk is about 358 kcal, semi-skimmed is 273 kcal, and skimmed is 199 kcal. A US pint is 473ml, which gives roughly 298 kcal for whole and 166 kcal for skim. If a pint of milk a day is part of your routine, that is a meal-sized number worth logging properly.
Is whole milk bad for weight loss?
No. The gap between whole and skimmed is about 28 kcal per 100ml, so a 250ml glass differs by around 70 kcal. If whole milk keeps you fuller or stops you sweetening your coffee, it can be the better choice. The decision that matters more is how much milk goes through your day in total.
✦ Try Calow
Eat well without the red numbers.
Snap a meal, log in two seconds. Adaptive targets. One sharp insight a week.
Download on theApp Store