Understanding your daily calorie needs is fundamental to achieving your weight management goals, whether you aim to lose, maintain, or gain weight. This calculator uses the Mifflin-St Jeor equation to estimate your Basal Metabolic Rate (BMR) and then adjusts it based on your activity level to determine your Total Daily Energy Expenditure (TDEE). Finally, it provides a recommended daily calorie intake based on your specific goal.
What is BMR?
Your Basal Metabolic Rate (BMR) is the number of calories your body burns at rest to maintain basic life-sustaining functions, such as breathing, circulation, cell production, and nutrient processing. It's the minimum amount of energy your body needs to function if you were to do nothing but rest for 24 hours.
What is TDEE?
Your Total Daily Energy Expenditure (TDEE) is the total number of calories your body burns in a 24-hour period, taking into account your BMR and your physical activity level. It includes the energy expended through exercise, daily movements, and the thermic effect of food (calories burned during digestion).
How to Use the Calculator:
Enter your Age: Your metabolic rate naturally slows down as you age.
Select your Gender: Men generally have a higher BMR than women due to differences in body composition.
Enter your Weight: Provide your current weight in kilograms.
Enter your Height: Provide your current height in centimeters.
Choose your Activity Level: This is crucial for accurately estimating your TDEE.
Very Active: Hard exercise/sports 6-7 days a week.
Extremely Active: Very hard exercise, physical job, or training twice a day.
Select your Goal: Choose whether you want to maintain, lose, or gain weight, and at what pace.
Remember, these calculations provide an estimate. Individual metabolic rates can vary, and factors like body composition, genetics, and certain medical conditions can influence your actual calorie needs. It's always recommended to consult with a healthcare professional or a registered dietitian for personalized advice.
Sedentary (little to no exercise)
Lightly Active (light exercise/sports 1-3 days/week)
Moderately Active (moderate exercise/sports 3-5 days/week)
Very Active (hard exercise/sports 6-7 days a week)
Extremely Active (very hard exercise/physical job)
Maintain Weight
Mild Weight Loss (approx. 0.25 kg/week)
Moderate Weight Loss (approx. 0.5 kg/week)
Extreme Weight Loss (approx. 1 kg/week)
Mild Weight Gain (approx. 0.25 kg/week)
Moderate Weight Gain (approx. 0.5 kg/week)
Extreme Weight Gain (approx. 1 kg/week)
.diet-calculator-container {
font-family: Arial, sans-serif;
max-width: 700px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
background-color: #f9f9f9;
}
.diet-calculator-container h2, .diet-calculator-container h3 {
color: #333;
text-align: center;
margin-bottom: 15px;
}
.diet-calculator-container p, .diet-calculator-container ol, .diet-calculator-container ul {
line-height: 1.6;
color: #555;
margin-bottom: 10px;
}
.calculator-form label {
display: inline-block;
width: 150px;
margin-bottom: 8px;
font-weight: bold;
}
.calculator-form input[type="number"],
.calculator-form select {
width: calc(100% – 160px);
padding: 8px;
margin-bottom: 8px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
.calculator-form input[type="radio"] {
width: auto;
margin-right: 5px;
}
.calculator-form button {
background-color: #007bff;
color: white;
padding: 10px 15px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
display: block;
width: 100%;
margin-top: 20px;
}
.calculator-form button:hover {
background-color: #0056b3;
}
#result {
margin-top: 20px;
padding: 15px;
border: 1px solid #28a745;
background-color: #e2f9e8;
border-radius: 5px;
color: #155724;
}
function calculateDailyCalories() {
var age = parseFloat(document.getElementById("age").value);
var gender = document.querySelector('input[name="gender"]:checked').value;
var weight = parseFloat(document.getElementById("weight").value);
var height = parseFloat(document.getElementById("height").value);
var activityLevel = document.getElementById("activityLevel").value;
var goal = document.getElementById("goal").value;
if (isNaN(age) || isNaN(weight) || isNaN(height) || age <= 0 || weight <= 0 || height <= 0) {
document.getElementById("result").innerHTML = "Please enter valid positive numbers for age, weight, and height.";
return;
}
var bmr;
// Mifflin-St Jeor Equation
if (gender === "male") {
bmr = (10 * weight) + (6.25 * height) – (5 * age) + 5;
} else { // female
bmr = (10 * weight) + (6.25 * height) – (5 * age) – 161;
}
var activityFactor;
switch (activityLevel) {
case "sedentary":
activityFactor = 1.2;
break;
case "lightlyActive":
activityFactor = 1.375;
break;
case "moderatelyActive":
activityFactor = 1.55;
break;
case "veryActive":
activityFactor = 1.725;
break;
case "extremelyActive":
activityFactor = 1.9;
break;
default:
activityFactor = 1.2; // Default to sedentary if somehow not selected
}
var tdee = bmr * activityFactor;
var recommendedCalories = tdee;
switch (goal) {
case "maintain":
// No change
break;
case "mildLoss":
recommendedCalories -= 250; // Approx 0.25 kg/week loss
break;
case "moderateLoss":
recommendedCalories -= 500; // Approx 0.5 kg/week loss
break;
case "extremeLoss":
recommendedCalories -= 1000; // Approx 1 kg/week loss
break;
case "mildGain":
recommendedCalories += 250; // Approx 0.25 kg/week gain
break;
case "moderateGain":
recommendedCalories += 500; // Approx 0.5 kg/week gain
break;
case "extremeGain":
recommendedCalories += 1000; // Approx 1 kg/week gain
break;
}
// Ensure calories don't go too low for extreme loss, though this calculator doesn't enforce a hard minimum.
// A general recommendation is not to go below 1200 for women and 1500 for men without medical supervision.
// For simplicity, we'll just display the calculated value.
var resultHtml = "
Your Calorie Needs Estimate:
";
resultHtml += "Estimated Basal Metabolic Rate (BMR): " + Math.round(bmr) + " calories/day";
resultHtml += "Estimated Total Daily Energy Expenditure (TDEE): " + Math.round(tdee) + " calories/day";
resultHtml += "Recommended Daily Calorie Intake for your Goal: " + Math.round(recommendedCalories) + " calories/day";
resultHtml += "These are estimates. Individual needs may vary. Consult a professional for personalized advice.";
document.getElementById("result").innerHTML = resultHtml;
}
// Calculate on page load with default values
window.onload = calculateDailyCalories;