A donut isn't morally inferior to broccoli. It just delivers four times the calories in a third of the volume with a quarter of the fullness. Once you see food through that lens — density and satiety — the "junk vs healthy" question becomes a math problem you can actually solve.

Why "healthy vs junk" labels fail

Coconut oil is sold as a health food and is 100% saturated fat. Granola is marketed as wholesome and routinely hits 500 kcal per cup. A grilled chicken Caesar wrap from a "healthy" café often beats a McDonald's quarter pounder on calories. The labels we use don't track the data.

Meanwhile, a frozen pizza isn't "junk" if it's the difference between cooking a hot meal at 9pm and ordering DoorDash for the third time this week. A protein bar isn't "real food" but it can be the cleanest 200 kcal of your day if the alternative is skipping protein entirely.

Foods aren't good or bad. Meals are well-built or poorly-built, and they're built from foods with specific properties. Once you know the properties, you can make the call.

The three metrics that actually matter

1. Calorie density (kcal per gram)

How many calories per unit weight. Foods at the top of this list pack a lot of energy into a small volume — they're easy to overeat because your stomach doesn't notice them filling up. Foods at the bottom are the opposite.

Foodkcal per 100gBucket
Oil (any)880Very high
Butter717Very high
Nuts560–650Very high
Chocolate550Very high
Potato chips540Very high
Pastries / cookies400–500High
Bread270Medium
Lean chicken breast165Medium
Cooked rice / pasta130Medium
Greek yogurt95Low
Fresh fruit50–80Low
Most vegetables20–40Very low

The 30× gap between vegetables and oil is the entire story of why a salad bowl can be 300 kcal or 900 kcal depending on dressing.

2. Nutrient density (nutrients per calorie)

How much protein, fibre, vitamins, and minerals you get per 100 kcal. High-nutrient-density foods give you a lot of micronutrients for the calorie cost.

Food (100 kcal)ProteinFibreNotable micros
Spinach (~333g cooked)13g10gIron, folate, vit K, magnesium
Egg (~1.5 large)9g0gCholine, vit D, B12, selenium
Salmon (~50g)10g0gOmega-3, vit D, B12
Greek yogurt (~100g)10g0gCalcium, B12, probiotic
Whole wheat bread (~38g)4g2gIron, B vitamins
Cola (~250ml)0g0gNone
Potato chips (~18g)1g1gSodium (high)
Candy (~25g)0g0gNone

"Empty calories" is the polite term for the bottom of this table — calories that come with nothing else. Not the end of the world, but if 30% of your daily calories come from foods like these, you're underfeeding the rest of your body even if your weight is fine.

3. Satiety (how full it keeps you)

This is the one most people miss. The Satiety Index, developed by Susanna Holt at the University of Sydney, ranked foods by how full they kept people 2 hours after eating them, controlling for calories. The rough ranking:

  • Most filling per calorie: boiled potatoes, fish, oatmeal, eggs, beans, fresh fruit, lean meat
  • Middle: whole-grain bread, pasta, rice, cheese
  • Least filling per calorie: croissants, cake, donuts, candy bars, ice cream

This is why you can eat 300 kcal of donut and want another donut, but eat 300 kcal of oatmeal and feel done. The calorie count is the same; the satiety isn't.

Nutritious vs junk: side-by-side

Same calorie ballpark, very different food. Look at the volume and the macros — that's where the gap shows up.

Calorie targetNutritious optionJunk option
~200 kcal snack 1 cup Greek yogurt + ½ cup berries (200 kcal, 18g protein) 1 small bag chips (200 kcal, 2g protein)
~500 kcal breakfast 3-egg omelette + 1 slice toast + 1 apple (490 kcal, 25g protein, 7g fibre) 2 glazed donuts (520 kcal, 5g protein, 1g fibre)
~600 kcal lunch Chicken bowl: 4 oz chicken, 1 cup rice, 1.5 cups veg, salsa, ¼ avocado (610 kcal, 40g protein) Fast-food cheeseburger combo, no drink (640 kcal, 22g protein)
~150 kcal drink Unsweetened iced coffee + splash of milk (15 kcal — saves you 135) Sweetened latte (150 kcal, 0g protein, 20g sugar)

Processed vs ultra-processed food

"Processed" isn't the dividing line. Almost everything you eat is processed — chopping a carrot is processing. The category worth flagging is ultra-processed food, defined by the NOVA classification system:

GroupExamplesTreat as
NOVA 1 — UnprocessedFruit, vegetables, meat, eggs, plain yogurtBuild meals around these
NOVA 2 — Culinary ingredientsOil, butter, salt, sugar, flourUse to cook NOVA 1 foods
NOVA 3 — ProcessedCanned beans, frozen veg, cheese, bread, smoked fishFine. Mostly time-savers.
NOVA 4 — Ultra-processedSoda, packaged snacks, instant noodles, breakfast cereal, frozen pizza, most "diet" foodsBudget consciously

The 2023 BMJ review of ultra-processed food found consistent associations with weight gain, type 2 diabetes, cardiovascular disease, and depression — even after controlling for calories. The mechanism isn't fully nailed down, but the leading candidates are low satiety (you eat more), refined-carb load (insulin spikes), and lack of fibre. Practically: aim to keep ultra-processed foods under ~20% of daily calories if you can.

10 easy swaps that move the needle

Ranked by impact-to-effort. None require giving up anything entirely.

SwapCalories savedEffort
Sweetened drinks → sparkling water or unsweetened tea~150–250/drinkEasy
Cream/sugar in coffee → splash of milk~80–150/coffeeEasy
Chips/crackers → popcorn (air-popped)~150/servingEasy
Granola → plain oats with fruit~200/bowlMedium
Salad dressing → halve it, use lemon~100/saladEasy
Restaurant rice bowl → ask for half rice + extra veg~150/mealEasy
Flavoured yogurt → plain Greek + fresh fruit~80/cupEasy
Crisps/snack bag → handful of nuts + apple~100/snackEasy
Ice cream → frozen banana blended~200/servingMedium
Late-night cereal → cottage cheese + berries~250/snackMedium

The 80/20 reality check

The 80/20 rule

You don't have to be perfect. You have to be consistent.

If 80% of your calories come from nutrient-dense, satiating foods (produce, lean protein, whole grains, dairy or alternatives), the other 20% can be whatever you actually want — pizza, ice cream, the donut from the meeting. The 20% does not undo the 80%, and trying to eliminate it entirely is the fastest way to give up on the 80%.

The math: On a 2,000 kcal day, 20% is 400 kcal. That's a slice of pizza, or a small ice cream, or two glasses of wine. Plenty of room.

How to track without moralising food

Calorie tracking can either teach you what's in your food or turn into a guilt machine. The difference is what you do with the numbers.

Tip #1

Track outcomes, not behaviour

Don't grade yourself on whether today's food was "clean." Look at the week's protein average, the week's fibre average, the weight trend. If those are moving in the right direction, individual meals don't matter.

Tip #2

Log the donut

The instinct to skip logging "bad" food is exactly backwards. Logging the donut tells you it cost 280 kcal and you have 1,700 kcal left for the day, which is plenty. Skipping it tells you nothing and makes the next decision worse.

Tip #3

Notice satiety, not just calories

After a meal, rate your fullness 2 hours later. The meals that keep you full for 3+ hours per 500 kcal are the ones to repeat. The ones that leave you hunting for snacks 90 minutes later are the ones to redesign — usually by adding 20g protein or 10g fibre, not by cutting calories.

Frequently asked questions

What is the difference between nutritious food and junk food?

Nutritious foods deliver a lot of nutrients (protein, fibre, vitamins, minerals) per calorie. Junk foods deliver a lot of calories per gram, mostly from refined sugar and fat, with very few accompanying nutrients. The honest distinction isn't "good vs bad" — it's nutrient density per calorie and how full the food keeps you afterwards.

Can you lose weight eating junk food?

Yes — weight loss is driven by a calorie deficit regardless of food choice. The "Twinkie diet" experiment (Mark Haub, Kansas State, 2010) demonstrated this: a professor lost 27 lbs eating mostly snack cakes under a calorie cap. The problem isn't that junk food makes weight loss impossible — it's that calorie-dense, low-satiety foods make it much harder to stay in a deficit because hunger fights back.

Is all processed food junk food?

No. Greek yogurt, canned beans, frozen vegetables, tofu, whole-grain bread, and protein powder are all processed and all nutritious. The term that matters is ultra-processed food (NOVA group 4) — items reformulated with added sugars, refined oils, emulsifiers, and flavour enhancers that you wouldn't recognise as kitchen ingredients.

What are the most calorie-dense junk foods?

By calorie density per gram: oil and butter (~720–880 kcal/100g), nuts and chocolate (~550–650 kcal/100g), chips and crackers (~500 kcal/100g), and pastries (~400–500 kcal/100g). Compare these to vegetables (~25 kcal/100g) and fresh fruit (~50–80 kcal/100g). The 5–20× density gap is the entire reason junk food adds up so fast.

What is the single best swap to eat more nutritiously?

Swap one sweetened drink (soda, sweetened latte, juice) for water, sparkling water, or unsweetened tea. That single swap typically removes 150–250 kcal per drink with no satiety penalty — sweetened drinks don't trigger fullness signals, so the calories don't translate to eating less later. For most people, it's the highest-leverage change available.

Coach Ivy

Track without the guilt spiral

Coach Ivy logs your meals from a photo — donuts and broccoli get the same neutral treatment. Just the numbers, plus a cute coach who keeps it kind. Free on iPhone.

Download Coach Ivy Free