Calculate Nutrition

Daily Nutrition & Macro Calculator

Male Female
Sedentary (Office job, little exercise) Lightly Active (1-3 days/week) Moderately Active (3-5 days/week) Very Active (6-7 days/week) Extra Active (Physical job + heavy training)
Maintain Weight Weight Loss (-500 cal) Muscle Gain (+500 cal)

Your Daily Targets

0 kcal/day
Protein
0g
1.8g per kg
Fats
0g
25% of energy
Carbs
0g
Remaining energy

Understanding Nutrition and Caloric Needs

Nutrition is the foundation of physical health, performance, and body composition. To calculate nutrition effectively, one must understand how energy balance works. This calculator uses the Mifflin-St Jeor Equation, widely regarded as the most accurate standard for determining Basal Metabolic Rate (BMR).

The Components of Energy Expenditure

Your total daily calorie burn consists of several factors:

  • Basal Metabolic Rate (BMR): The energy your body burns at rest to maintain basic functions like breathing and heartbeat.
  • Physical Activity Level (PAL): A multiplier applied to your BMR based on how much you move throughout the day.
  • Thermic Effect of Food (TEF): The energy required to digest and process the food you eat.

Example Calculation

Consider a 30-year-old male weighing 80kg who is 180cm tall and works out moderately. His BMR would be roughly 1,790 calories. Using a moderate activity multiplier (1.55), his maintenance calories (TDEE) would be approximately 2,775 calories. To lose fat, he might target 2,275 calories (a 500-calorie deficit).

The Importance of Macros

While total calories dictate weight change, macronutrients (Macros) dictate how you feel and how your body looks:

  • Protein (4 kcal/g): Essential for muscle repair and satiety. We recommend roughly 1.8g to 2.2g per kg of body weight for active individuals.
  • Fats (9 kcal/g): Vital for hormone production and brain health. Typically set at 20-30% of total intake.
  • Carbohydrates (4 kcal/g): The body's primary fuel source for high-intensity exercise and brain function.

How to Use These Results

This calculator provides a scientific starting point. However, nutrition is highly individual. It is recommended to track your intake and body weight for 2-3 weeks. If you are not reaching your goal (e.g., losing weight too slowly), adjust your daily intake by 100-200 calories and observe the changes.

function calculateMacros() { var gender = document.getElementById("nutriGender").value; var age = parseFloat(document.getElementById("nutriAge").value); var weight = parseFloat(document.getElementById("nutriWeight").value); var height = parseFloat(document.getElementById("nutriHeight").value); var activity = parseFloat(document.getElementById("nutriActivity").value); var goal = document.getElementById("nutriGoal").value; if (isNaN(age) || isNaN(weight) || isNaN(height)) { alert("Please enter valid numbers for age, weight, and height."); return; } // BMR Calculation (Mifflin-St Jeor) var bmr = 0; if (gender === "male") { bmr = (10 * weight) + (6.25 * height) – (5 * age) + 5; } else { bmr = (10 * weight) + (6.25 * height) – (5 * age) – 161; } // TDEE Calculation var tdee = bmr * activity; // Goal adjustment var targetCalories = tdee; if (goal === "lose") { targetCalories = tdee – 500; } else if (goal === "gain") { targetCalories = tdee + 500; } // Macro Logic // Protein: 1.8g per kg of weight var proteinGrams = weight * 1.8; var proteinCalories = proteinGrams * 4; // Fats: 25% of total target calories var fatCalories = targetCalories * 0.25; var fatGrams = fatCalories / 9; // Carbs: Remaining calories var carbCalories = targetCalories – (proteinCalories + fatCalories); var carbGrams = carbCalories / 4; // Safety check for low carb scenarios if (carbGrams < 0) carbGrams = 0; // Display results document.getElementById("resCalories").innerText = Math.round(targetCalories).toLocaleString(); document.getElementById("resProtein").innerText = Math.round(proteinGrams) + "g"; document.getElementById("resFats").innerText = Math.round(fatGrams) + "g"; document.getElementById("resCarbs").innerText = Math.round(carbGrams) + "g"; document.getElementById("nutriResult").style.display = "block"; // Smooth scroll to result document.getElementById("nutriResult").scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment