ForHosting KIT · Health & fitness

Cunningham TDEE calculator

With 65 kg of lean mass and a moderate activity level, the Cunningham equation gives a resting burn of 1,930 kcal and a daily total of 2,991.5 kcal. Built for people who already know their body composition. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Lean mass
65
Activity
Moderate
You get
Lean mass kg
65 kcal/day
Activity factor
1.55
Bmr kcal day
1,930
Tdee kcal day
2,991.5

The Cunningham equation estimates basal metabolic rate from lean body mass alone, then multiplies that resting figure by an activity factor to produce total daily energy expenditure. Athletes, physique coaches, and body-composition apps often prefer Cunningham over weight-only formulas because fat-free mass drives most of resting expenditure and two people at the same scale weight can need very different calories. This capability accepts lean mass in kilograms and either a named activity level or a numeric activity factor, applies BMR equals five hundred plus twenty-two times lean mass, multiplies by the chosen factor, and returns both BMR and TDEE in kilocalories per day.

Why lean mass sets your resting burn

Lean tissue, meaning muscle, organs and bone, accounts for most of what your body spends at complete rest over 24 hours. That is why two people with the same scale weight can need very different calories. The Cunningham equation uses lean mass alone: it starts at 500 kcal and adds 22 kcal for every kilogram of lean mass. With 65 kg, the resting figure is 1,930 kcal a day. That number is then multiplied by an activity factor to cover daily movement and training, which gives your total daily energy expenditure.

Choosing the multiplier and avoiding mistakes

The named levels use the classic multipliers: 1.2 for sedentary, 1.375 for light, 1.55 for moderate, 1.725 for active and 1.9 for very active. If your coach or your plan uses a different multiplier, you can enter it directly, and it takes priority over a named level. The most common mistake is typing total body weight instead of lean mass, which inflates the result. Another is guessing lean mass: use a measured value, because the calculator cannot work out your body composition for you.

Reading your results and avoiding common mistakes

When a named level was used, activity is included so dashboards can show sedentary or moderate next to the multiplier. The formula field restates BMR equals five hundred plus twenty-two times lean mass and TDEE equals BMR times activity factor, and method is always cunningham so downstream code can branch without sniffing shapes. Remember that lean mass must come from a measurement you already trust—DEXA, hydrostatic weighing, a quality BIA device, or a skinfold-derived LBM protocol—because this calculator does not estimate composition from circumference, photos, or total weight.

Extremely large lean-mass values above the published isolate safety cap are rejected.

Physique coaching and LBM-based planning

Coaches enter measured lean mass and a training activity level to get Cunningham BMR and TDEE that track composition changes, not only scale weight.

What is the Cunningham TDEE formula?

Basal metabolic rate in kcal/day is 500 + 22 × lean body mass in kilograms. Total daily energy expenditure is that BMR multiplied by your activity factor (for example 1.55 for moderate). This calculator applies that formula exactly.

What happens if lean mass is zero or negative?

Lean mass must be a positive finite number in kilograms; non-positive values are rejected and not charged.

Is the Cunningham TDEE calculator free?

The browser tool runs free on your device.

How is this different from Katch-McArdle or Mifflin?

Katch-McArdle uses 370 + 21.6 × LBM. Mifflin-St Jeor uses total weight, height, age, and sex and ignores lean mass.

Where should my lean body mass number come from?

From a measurement you already trust, such as DEXA, hydrostatic weighing, a quality bioimpedance device or a skinfold protocol. The calculator does not estimate body composition from your total weight, your waist or photos.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/health/tdee-cunningham

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/health/tdee-cunningham \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lean_mass":65,"activity":"moderate"}'
{
  "lean_mass": 65,
  "activity": "moderate"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.tdee_cunningham",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

The path is pure arithmetic with no network and no random seed, so coaching apps, homework checkers, and prepaid API clients get identical JSON every time. Non-positive lean mass and invalid activity inputs fail with invalid_input and are not billed.

What Cunningham measures and which inputs you need

Basal metabolic rate is the energy your body would spend at complete rest over twenty-four hours. Total daily energy expenditure adds the cost of daily movement and training through a multiplier called the activity factor. Cunningham starts from lean body mass—also called fat-free mass—rather than from total weight, age, height, or sex, so the resting baseline tracks metabolically active tissue. Send lean_mass as a positive finite number in kilograms; aliases lean_mass_kg, lbm, fat_free_mass, ffm, and lean_body_mass are accepted. Provide activity as one of sedentary, light, moderate, active, or very_active, which map to the classic multipliers one point two, one point three seven five, one point five five, one point seven two five, and one point nine. Alternatively send activity_factor as a positive finite number when your protocol uses a custom multiplier; when both are present the numeric factor wins. The engine computes bmr_kcal_day as five hundred plus twenty-two times lean mass, then tdee_kcal_day as BMR times the resolved factor. Missing fields, non-finite numbers, non-positive lean mass, and unrecognised activity labels fail validation with invalid_input. Identical inputs always yield identical JSON because the algorithm never touches the network, a model, a clock, or a random generator.

Reading the response fields and common pitfalls

On success the response echoes lean_mass_kg and activity_factor, reports bmr_kcal_day and tdee_kcal_day in kilocalories per day, and sets unit to kcal/day so UIs can label the numbers without hard-coding strings. Use bmr_kcal_day when a clinician or coach wants the resting baseline alone; use tdee_kcal_day as the maintenance calorie target before applying a surplus or deficit in your own product. Do not confuse this endpoint with Mifflin-St Jeor or Katch-McArdle: the constants five hundred and twenty-two are specific to Cunningham on fat-free mass.

API usage, pricing, coaching workflows, and practical limits

Call the free in-browser Cunningham TDEE calculator for quick checks, lecture demos, and client education without installing a nutrition spreadsheet. Prefer kilogram lean-mass inputs that match the published constants; if your UI collects pounds, convert before calling. Keep expectations clinical: this is an educational and planning estimate, not a diagnostic medical device, and users with atypical body composition or medical conditions should follow professional advice rather than any single formula alone. Send a JSON body with required lean_mass and either activity or activity_factor (or their aliases). Use the prepaid API when a fitness SaaS, telehealth intake form, sports-science lab notebook, or calorie-planning pipeline needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Pair this endpoint with a body-composition workflow on the client side that already stores lean mass, then store BMR and TDEE in your own database for longitudinal charts as composition and activity change. Authors shipping SDKs can map tdee_kcal_day directly into dashboards and export CSV columns labeled lean mass, basal calories, and maintenance calories—the same numbers coaches write by hand when they apply Cunningham on paper.

Fitness and nutrition apps

Apps that already store fat-free mass call a stable prepaid endpoint for Cunningham TDEE instead of reimplementing the formula in every client language.

Sports science and classroom demos

Labs and courses compare Cunningham against Mifflin or Katch-McArdle and pin expected JSON in automated tests with deterministic outputs.

Which activity levels are supported?

Named levels are sedentary (1.2), light (1.375), moderate (1.55), active (1.725), and very_active (1.9). You can also send a custom positive activity_factor number.

Read the full KIT documentation →