πŸ› οΈToolsShed

TDEE Calculator

Calculate your Total Daily Energy Expenditure and daily calorie needs.

TDEE Calculator estimates your Total Daily Energy Expenditure β€” the total number of calories your body burns in a day accounting for your Basal Metabolic Rate (BMR) and your physical activity level. TDEE is the foundation of any calorie-based diet or fitness plan: eating below TDEE creates a deficit for weight loss, eating above it causes weight gain.

Enter your age, height, weight, biological sex, and select your activity level from sedentary to very active. The tool uses the Mifflin-St Jeor equation (the most validated formula for most adults) to calculate BMR and multiplies it by an activity factor to produce your TDEE.

Your TDEE is an estimate, not a guarantee β€” individual metabolism varies. Use it as a starting point, track your actual weight change over 2–3 weeks, and adjust your calorie intake accordingly. A common approach is to subtract 500 calories from TDEE for a safe weight loss of approximately 0.5 kg (1 lb) per week.

Frequently Asked Questions

Code Implementation

def mifflin_bmr(weight_kg, height_cm, age, sex):
    """
    Mifflin-St Jeor BMR formula (1990).

    Parameters:
        weight_kg  - body weight in kilograms
        height_cm  - height in centimetres
        age        - age in years
        sex        - 'male' or 'female'

    Returns BMR in kcal/day.
    """
    bmr = 10 * weight_kg + 6.25 * height_cm - 5 * age
    bmr += 5 if sex.lower() == 'male' else -161
    return bmr

def tdee(weight_kg, height_cm, age, sex, activity_level='sedentary'):
    """
    Calculate Total Daily Energy Expenditure (TDEE).

    Activity multipliers (Mifflin-St Jeor):
        sedentary        1.2   (desk job, little/no exercise)
        light            1.375 (1-3 days/week exercise)
        moderate         1.55  (3-5 days/week exercise)
        active           1.725 (6-7 days/week hard exercise)
        very_active      1.9   (physical job + hard exercise)
    """
    multipliers = {
        'sedentary':   1.2,
        'light':       1.375,
        'moderate':    1.55,
        'active':      1.725,
        'very_active': 1.9,
    }
    bmr = mifflin_bmr(weight_kg, height_cm, age, sex)
    factor = multipliers.get(activity_level, 1.2)
    return bmr * factor

# Example: 30-year-old male, 80 kg, 180 cm, moderately active
bmr  = mifflin_bmr(80, 180, 30, 'male')
tdee_val = tdee(80, 180, 30, 'male', 'moderate')
print(f"BMR:  {bmr:.0f} kcal/day")
print(f"TDEE: {tdee_val:.0f} kcal/day")
print(f"Weight loss target (-500 kcal): {tdee_val - 500:.0f} kcal/day")
print(f"Muscle gain target (+250 kcal): {tdee_val + 250:.0f} kcal/day")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.