DEV Community

Sami Renkyorganci
Sami Renkyorganci

Posted on • Originally published at ffmicheck.com

TDEE calculator math: why every online calculator gives you a different number

Punch the same weight, height, age, and sex into three different TDEE calculators online. You will get three different numbers, sometimes 300 kcal/day apart. That is enough error to turn a lean bulk into a fast one, or a cut into a plateau.

The reason is not that any of the calculators are broken. It is that they use different formulas, developed decades apart, calibrated against different populations. If you want your macros to actually work, you need to know which formula you are being handed and whether it is the right one for your body.

The three formulas that power 99% of TDEE calculators

1. Harris-Benedict (1919, revised 1984)

The original resting metabolic rate equation. Still used by many "budget" calculator sites because it is simple and the coefficients are memorable.

def bmr_harris_benedict_men(kg, cm, age):
    return 88.362 + (13.397 * kg) + (4.799 * cm) - (5.677 * age)

def bmr_harris_benedict_women(kg, cm, age):
    return 447.593 + (9.247 * kg) + (3.098 * cm) - (4.330 * age)
Enter fullscreen mode Exit fullscreen mode

Accuracy today: Roughly ±10% error in modern populations. The 1919 sample was based on early 20th-century subjects with different average body composition and activity patterns. The 1984 revision helped but did not close the gap.

2. Mifflin-St Jeor (1990)

The modern standard. Developed on 498 subjects across a wider age and body composition range. Cited by the American Dietetic Association as the most accurate predictive equation for healthy non-obese and obese populations.

def bmr_mifflin_st_jeor_men(kg, cm, age):
    return (10 * kg) + (6.25 * cm) - (5 * age) + 5

def bmr_mifflin_st_jeor_women(kg, cm, age):
    return (10 * kg) + (6.25 * cm) - (5 * age) - 161
Enter fullscreen mode Exit fullscreen mode

Accuracy: ±5% error in validated populations. This is the equation you should default to unless you have a specific reason to override it.

3. Katch-McArdle (1996)

The lean-mass-based formula. Instead of using total bodyweight, it uses lean body mass (LBM) as the primary input. This makes it more accurate for lean, muscular subjects that the other formulas systematically underestimate.

def bmr_katch_mcardle(lbm_kg):
    return 370 + (21.6 * lbm_kg)

# Where lbm_kg = weight * (1 - body_fat_percent / 100)
Enter fullscreen mode Exit fullscreen mode

Accuracy: ±3-5% error when body fat percentage is accurately measured. The catch is right there in the input — if your body fat measurement is off by 3%, your Katch-McArdle output is off proportionally.

Side-by-side: same subject, three formulas

Let's compare. Subject: 80 kg male, 178 cm, 28 years old, 15% body fat.

Formula BMR (kcal/day) TDEE at 1.55 multiplier
Harris-Benedict (1919) 1,796 2,784
Harris-Benedict (1984) 1,824 2,827
Mifflin-St Jeor (1990) 1,758 2,725
Katch-McArdle (LBM = 68 kg) 1,839 2,850

The spread: 125 kcal/day between the lowest (Mifflin) and highest (Katch-McArdle) TDEE estimates. For an intermediate lifter running a 200-300 kcal surplus, that is the difference between recomp and lean bulk.

The activity multiplier problem

The BMR formula is only half the equation. To get TDEE, every calculator multiplies BMR by an activity factor:

TDEE = BMR × activity_multiplier
Enter fullscreen mode Exit fullscreen mode

Standard multipliers:

  • 1.2 — sedentary (desk job, no exercise)
  • 1.375 — light (1-3 workouts/week)
  • 1.55 — moderate (3-5 workouts/week)
  • 1.725 — heavy (6-7 workouts/week)
  • 1.9 — athlete (2x daily training)

Here is the ugly truth: most people overestimate their activity level by exactly one bracket. Someone with a desk job who lifts 4x/week is "light" (1.375), not "moderate" (1.55). Someone who trains 5x/week and walks 8k steps daily is "moderate," not "heavy."

Overestimating activity by one bracket adds ~250 kcal/day to your TDEE estimate. That is the entire lean bulk surplus, invisible.

Which formula should you actually use?

Default: Mifflin-St Jeor. Best validated on modern populations. Works for 90% of users. Adopt this as your baseline.

Use Katch-McArdle if:

  • You have a recent, accurate body fat measurement (DEXA, BOD POD, or well-calibrated smart scale)
  • You are lean (under 15% body fat men / 22% women)
  • Muscular (normalized FFMI above 22)

The Mifflin-St Jeor formula systematically underestimates BMR for muscular subjects because it treats bodyweight as a monolith. A 90 kg lifter at 10% body fat has more BMR-active tissue than a 90 kg person at 25% body fat — Katch-McArdle captures this, Mifflin-St Jeor does not.

Skip Harris-Benedict entirely. Modern research consistently shows it overestimates BMR in current populations. Legacy only.

The 2-week verification protocol

Formulas are educated guesses. Your actual TDEE is verified only by eating a specific calorie level and watching what your bodyweight does.

Week 1-2: Eat calculated TDEE. Weigh yourself daily, morning fasted.
Week 2 end: Average bodyweight per week.

If avg_weight_change < 0.3 kg/week → TDEE guess correct.
If avg_weight_change > +0.3 kg/week → subtract 150-200 kcal from TDEE, retest.
If avg_weight_change < -0.3 kg/week → add 150-200 kcal to TDEE, retest.
Enter fullscreen mode Exit fullscreen mode

Two weeks of calibration beats any calculator on the internet. The formulas get you within ±200 kcal of correct — the calibration test gets you within ±50 kcal.

Why calculators disagree with each other

Now you can trace the disagreement:

Calculator brand Likely BMR formula Likely activity math
Cronometer, Precision Nutrition Katch-McArdle (needs body fat input) 1.2-1.9 standard
MyFitnessPal (default) Mifflin-St Jeor 1.2-1.725
Older bodybuilding sites Harris-Benedict Various
Fitness industry pros Mifflin-St Jeor or Katch-McArdle Custom adjusted

Two calculators using the same formula but different activity multipliers can still give 15-20% different TDEE numbers for the same input. Two calculators using different formulas and different multipliers can differ by 25-30%.

The single input that changes everything

If you had to pick one input to be accurate about, it would be activity level, not body fat. Body fat error affects Katch-McArdle only. Activity level error affects every formula equally.

Solution: measure your steps for a week (phone or watch), record your exact training sessions, and cross-check against these anchors:

  • Under 5k steps/day + no gym: 1.2 (sedentary)
  • 5-8k steps/day + 3 gym sessions: 1.375 (light)
  • 8-10k steps/day + 4-5 gym sessions: 1.55 (moderate)
  • 10k+ steps + 6 gym sessions + physical job: 1.725 (heavy)

Most desk workers with a solid lifting routine sit at 1.375-1.45. Not 1.55. This one adjustment resolves half the "why does my TDEE not match reality" cases.

Bottom line

Every TDEE calculator you use online is one of these three formulas with some activity multiplier bolted on. Mifflin-St Jeor is the modern default. Katch-McArdle is more accurate if you have a reliable body fat number and are lean/muscular. Harris-Benedict is legacy — do not trust it for anything important.

But the formula matters less than you think. The activity multiplier matters more. And what matters most is the 2-week verification test — actually eat at your calculated TDEE, watch what your bodyweight does, and adjust from there. Every calculator on the internet is a starting hypothesis, not an answer.


Want to try a Mifflin-St Jeor-based TDEE calculator with honest activity guidance? I built ffmicheck.com — free, no signup, mobile-first. Also has FFMI, body fat, macros, and 1RM tools if you want them.

Related read: The two 1RM formulas that give different answers (and which one to trust) — same "why do calculators disagree" question, applied to strength math.

Top comments (0)