How to Calculate My Tdee to Lose Weight

How to Calculate My TDEE to Lose Weight | Professional Calculator & Guide :root { –primary-color: #004a99; –secondary-color: #003366; –success-color: #28a745; –bg-color: #f8f9fa; –text-color: #333; –border-color: #ddd; –white: #ffffff; –shadow: 0 4px 6px rgba(0,0,0,0.1); } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: var(–text-color); background-color: var(–bg-color); } .container { max-width: 960px; margin: 0 auto; padding: 20px; } /* Header */ header { text-align: center; margin-bottom: 40px; padding: 40px 0; background: var(–white); border-bottom: 1px solid var(–border-color); } h1 { color: var(–primary-color); font-size: 2.5rem; margin-bottom: 10px; } .subtitle { color: #666; font-size: 1.1rem; } /* Calculator Section */ .calc-wrapper { background: var(–white); border-radius: 8px; box-shadow: var(–shadow); padding: 30px; margin-bottom: 50px; border-top: 5px solid var(–primary-color); } .input-section { margin-bottom: 30px; } .input-group { margin-bottom: 20px; } .input-group label { display: block; font-weight: 600; margin-bottom: 8px; color: var(–secondary-color); } .input-group input, .input-group select { width: 100%; padding: 12px; border: 1px solid var(–border-color); border-radius: 4px; font-size: 16px; transition: border-color 0.3s; } .input-group input:focus, .input-group select:focus { border-color: var(–primary-color); outline: none; } .helper-text { font-size: 0.85rem; color: #666; margin-top: 5px; } .error-msg { color: #dc3545; font-size: 0.85rem; margin-top: 5px; display: none; } .radio-group { display: flex; gap: 20px; } .radio-group label { font-weight: normal; cursor: pointer; display: flex; align-items: center; gap: 5px; } .btn-group { display: flex; gap: 15px; margin-top: 20px; } button { padding: 12px 24px; border: none; border-radius: 4px; cursor: pointer; font-weight: 600; font-size: 16px; transition: background 0.3s; } .btn-reset { background-color: #6c757d; color: white; } .btn-copy { background-color: var(–primary-color); color: white; } .btn-reset:hover { background-color: #5a6268; } .btn-copy:hover { background-color: var(–secondary-color); } /* Results Section */ .results-section { background-color: #f1f8ff; padding: 25px; border-radius: 6px; border: 1px solid #cce5ff; margin-top: 30px; } .main-result { text-align: center; margin-bottom: 25px; } .main-result h3 { color: var(–secondary-color); margin-bottom: 10px; } .highlight-value { font-size: 3rem; font-weight: 700; color: var(–success-color); display: block; } .sub-value { font-size: 1.2rem; color: #555; } .metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 25px; } .metric-card { background: white; padding: 15px; border-radius: 4px; border: 1px solid var(–border-color); text-align: center; } .metric-label { font-size: 0.9rem; color: #666; margin-bottom: 5px; } .metric-value { font-size: 1.4rem; font-weight: 600; color: var(–primary-color); } /* Table & Chart */ .visuals-container { margin-top: 30px; } table { width: 100%; border-collapse: collapse; margin-bottom: 30px; background: white; } th, td { padding: 12px; text-align: left; border-bottom: 1px solid var(–border-color); } th { background-color: var(–primary-color); color: white; } tr:hover { background-color: #f8f9fa; } .chart-container { position: relative; height: 350px; width: 100%; background: white; border: 1px solid var(–border-color); border-radius: 4px; padding: 10px; margin-top: 20px; } canvas { width: 100%; height: 100%; } /* Article Content */ .content-section { background: var(–white); padding: 40px; margin-bottom: 30px; border-radius: 8px; box-shadow: var(–shadow); } .content-section h2 { color: var(–primary-color); margin-top: 30px; margin-bottom: 15px; font-size: 1.8rem; border-bottom: 2px solid #eee; padding-bottom: 10px; } .content-section h3 { color: var(–secondary-color); margin-top: 25px; margin-bottom: 10px; font-size: 1.4rem; } .content-section p { margin-bottom: 15px; color: #444; } .content-section ul, .content-section ol { margin-bottom: 20px; padding-left: 25px; } .content-section li { margin-bottom: 8px; } .data-table { width: 100%; margin: 20px 0; border: 1px solid var(–border-color); } .data-table th { background: #e9ecef; color: var(–text-color); font-weight: 600; } .faq-item { margin-bottom: 20px; border-bottom: 1px solid #eee; padding-bottom: 20px; } .faq-question { font-weight: 700; color: var(–primary-color); margin-bottom: 8px; display: block; } .internal-links { background: #f8f9fa; padding: 20px; border-radius: 4px; border-left: 4px solid var(–primary-color); } .internal-links a { color: var(–primary-color); text-decoration: none; font-weight: 600; } .internal-links a:hover { text-decoration: underline; } footer { text-align: center; padding: 40px 0; color: #666; font-size: 0.9rem; border-top: 1px solid var(–border-color); margin-top: 50px; } @media (max-width: 600px) { .metrics-grid { grid-template-columns: 1fr; } h1 { font-size: 2rem; } .highlight-value { font-size: 2.5rem; } }

How to Calculate My TDEE to Lose Weight

Accurate Total Daily Energy Expenditure Calculator & Weight Loss Planner

Please enter a valid age (15-100).
Please enter a valid weight.
Please enter a valid height.
Sedentary (Office job, little exercise) Lightly Active (Exercise 1-3 days/week) Moderately Active (Exercise 3-5 days/week) Very Active (Exercise 6-7 days/week) Extra Active (Physical job + exercise)
Be honest! Overestimating activity is a common mistake.
Mild Weight Loss (-0.25 kg/0.5 lb per week) Sustainable Weight Loss (-0.5 kg/1 lb per week) Aggressive Weight Loss (-0.75 kg/1.5 lb per week) Very Aggressive (-1 kg/2 lb per week)
A 500 calorie deficit is generally recommended for sustainable results.

Daily Calories to Lose Weight

2,000 kcal To reach your goal weight
Maintenance TDEE
2,500 kcal
Basal Metabolic Rate (BMR)
1,800 kcal
Projected Weekly Loss
0.5 kg

Formula used: Mifflin-St Jeor Equation × Activity Factor – Calorie Deficit

TDEE by Activity Level

Activity Level TDEE (Maintenance) Weight Loss Target

Table shows maintenance calories vs. your selected deficit target for different activity levels.

12-Week Weight Loss Projection

Projection assumes consistent calorie deficit and activity levels.

What is "How to Calculate My TDEE to Lose Weight"?

When asking "how to calculate my TDEE to lose weight," you are essentially looking for the mathematical foundation of energy balance. TDEE stands for Total Daily Energy Expenditure. It represents the total number of calories your body burns in a 24-hour period, accounting for all biological functions and physical movements.

Understanding TDEE is critical because it establishes your "maintenance calories"—the exact amount you need to eat to stay the same weight. To lose weight, you must consume fewer calories than your TDEE. This calculator simplifies the complex biology into actionable numbers, helping anyone from office workers to athletes determine their precise nutritional needs.

Common misconceptions include confusing TDEE with BMR (Basal Metabolic Rate). While BMR is just what you burn at rest, TDEE includes your job, your workout, and even the energy used to digest food.

TDEE Formula and Mathematical Explanation

To answer "how to calculate my TDEE to lose weight" accurately, we use the Mifflin-St Jeor Equation, which is widely considered the most accurate formula for the general population. The calculation happens in two steps:

Step 1: Calculate BMR

First, we determine your Basal Metabolic Rate (BMR):

  • Men: (10 × weight in kg) + (6.25 × height in cm) – (5 × age in years) + 5
  • Women: (10 × weight in kg) + (6.25 × height in cm) – (5 × age in years) – 161

Step 2: Apply Activity Multiplier

We then multiply the BMR by an activity factor to get TDEE:

Variable Meaning Multiplier
Sedentary Desk job, little to no exercise BMR × 1.2
Lightly Active Light exercise 1-3 days/week BMR × 1.375
Moderately Active Moderate exercise 3-5 days/week BMR × 1.55
Very Active Hard exercise 6-7 days/week BMR × 1.725

Practical Examples (Real-World Use Cases)

Example 1: The Office Worker

Scenario: Sarah is a 35-year-old female, 165cm tall, weighing 75kg. She works a desk job and walks her dog occasionally (Sedentary).

  • BMR Calculation: (10 × 75) + (6.25 × 165) – (5 × 35) – 161 = 1,445 kcal
  • TDEE Calculation: 1,445 × 1.2 = 1,734 kcal
  • Weight Loss Goal: To lose roughly 0.5kg (1lb) per week, she needs a 500 kcal deficit.
  • Target Intake: 1,734 – 500 = 1,234 kcal/day.

Example 2: The Active Commuter

Scenario: Mike is a 28-year-old male, 180cm tall, weighing 90kg. He cycles to work and lifts weights 4 times a week (Moderately Active).

  • BMR Calculation: (10 × 90) + (6.25 × 180) – (5 × 28) + 5 = 1,890 kcal
  • TDEE Calculation: 1,890 × 1.55 = 2,929 kcal
  • Weight Loss Goal: For a sustainable cut, he chooses a 500 kcal deficit.
  • Target Intake: 2,929 – 500 = 2,429 kcal/day.

How to Use This TDEE Calculator

  1. Select Your Units: Choose between Metric (kg/cm) or Imperial (lbs/ft) based on your preference.
  2. Enter Biometrics: Input your gender, age, current weight, and height accurately.
  3. Choose Activity Level: Be honest here. If you sit most of the day, choose "Sedentary" even if you exercise occasionally. Overestimating activity is the #1 reason for stalled weight loss.
  4. Select Deficit: Choose how fast you want to lose weight. A 500 calorie deficit is the gold standard for sustainable fat loss.
  5. Analyze Results: The calculator will display your maintenance TDEE and your target daily calories. Use the chart to visualize your potential progress over 12 weeks.

Key Factors That Affect TDEE Results

When learning how to calculate my TDEE to lose weight, consider these variables that the formula might not fully capture:

  • Muscle Mass: Muscle tissue burns more calories at rest than fat tissue. Two people of the same weight but different body compositions will have different TDEEs.
  • TEF (Thermic Effect of Food): Protein requires more energy to digest than fats or carbs. A high-protein diet can slightly increase your daily expenditure.
  • NEAT (Non-Exercise Activity Thermogenesis): Fidgeting, standing, and walking around the office can account for up to 15-30% of your TDEE, varying wildly between individuals.
  • Metabolic Adaptation: As you lose weight, your body becomes more efficient and your BMR drops. You will need to recalculate your TDEE every 5-10 lbs lost.
  • Age: Metabolism generally slows down with age, primarily due to muscle loss. This is why the formula subtracts calories as age increases.
  • Hormonal Health: Conditions like hypothyroidism or PCOS can lower BMR below the predicted formula values.

Frequently Asked Questions (FAQ)

How often should I recalculate my TDEE?

You should recalculate your TDEE every time you lose 5-10 pounds (2-5 kg). As you get lighter, your body requires less energy to move, meaning your maintenance calories decrease.

Is it safe to eat below my BMR?

Generally, it is not recommended to eat below your BMR for extended periods without medical supervision. Your BMR represents the energy needed for essential organ function. Eating too little can lead to muscle loss and nutrient deficiencies.

Why am I not losing weight on my calculated calories?

The most common reasons are: underestimating calorie intake (tracking errors), overestimating activity levels (the "halo effect" of exercise), or water retention masking fat loss.

Does TDEE include exercise calories?

Yes. If you select an activity level like "Moderately Active," the exercise calories are already averaged into your daily total. Do not "eat back" exercise calories recorded by fitness watches, or you will double-count them.

Can I calculate TDEE for muscle gain?

Absolutely. Instead of subtracting a deficit, you would add a surplus (usually +250 to +500 calories) to your maintenance TDEE to support muscle growth.

How accurate is the Mifflin-St Jeor equation?

It is considered accurate within +/- 10% for most people. It serves as an excellent starting point, but you should adjust your intake based on real-world scale weight trends over 2-3 weeks.

What is the best calorie deficit for fat loss?

A moderate deficit of 500 calories per day typically results in 1 lb (0.45 kg) of fat loss per week. This is considered sustainable and minimizes muscle loss.

Does the type of calorie matter for TDEE?

For pure weight loss, calories are the primary driver. However, for body composition and satiety, macronutrients (protein, fats, carbs) matter significantly. High protein helps retain muscle during a deficit.

Related Tools and Internal Resources

© 2023 Financial & Health Tools. All rights reserved.
Disclaimer: This calculator is for informational purposes only and does not constitute medical advice.

// Global Variables var currentUnit = 'metric'; var chartInstance = null; // Initialization window.onload = function() { calculateTDEE(); }; // Toggle Units function toggleUnits() { var radios = document.getElementsByName('units'); for (var i = 0; i < radios.length; i++) { if (radios[i].checked) { currentUnit = radios[i].value; break; } } var weightLabel = document.getElementById('weightLabel'); var weightInput = document.getElementById('weight'); var heightMetric = document.getElementById('heightMetricGroup'); var heightImperial = document.getElementById('heightImperialGroup'); var weeklyLossDisplay = document.getElementById('weeklyLoss'); if (currentUnit === 'metric') { // Switch to Metric weightLabel.innerText = 'Current Weight (kg)'; // Convert lbs to kg if needed (simple logic: just reset or keep value if user is typing) // For UX, let's just update labels and visibility, user inputs new values usually. // But to be nice, we can convert current values roughly. var currentLbs = parseFloat(weightInput.value); if (!isNaN(currentLbs)) weightInput.value = Math.round(currentLbs / 2.20462); heightMetric.style.display = 'block'; heightImperial.style.display = 'none'; // Update deficit dropdown text updateDeficitOptions('metric'); } else { // Switch to Imperial weightLabel.innerText = 'Current Weight (lbs)'; var currentKg = parseFloat(weightInput.value); if (!isNaN(currentKg)) weightInput.value = Math.round(currentKg * 2.20462); heightMetric.style.display = 'none'; heightImperial.style.display = 'block'; updateDeficitOptions('imperial'); } calculateTDEE(); } function updateDeficitOptions(unit) { var select = document.getElementById('deficit'); var options = select.options; if (unit === 'metric') { options[0].text = "Mild Weight Loss (-0.25 kg/week)"; options[1].text = "Sustainable Weight Loss (-0.5 kg/week)"; options[2].text = "Aggressive Weight Loss (-0.75 kg/week)"; options[3].text = "Very Aggressive (-1 kg/week)"; } else { options[0].text = "Mild Weight Loss (-0.5 lb/week)"; options[1].text = "Sustainable Weight Loss (-1 lb/week)"; options[2].text = "Aggressive Weight Loss (-1.5 lb/week)"; options[3].text = "Very Aggressive (-2 lb/week)"; } } // Core Calculation Logic function calculateTDEE() { // 1. Get Inputs var age = parseFloat(document.getElementById('age').value); var weightVal = parseFloat(document.getElementById('weight').value); var activity = parseFloat(document.getElementById('activity').value); var deficit = parseFloat(document.getElementById('deficit').value); var genderRadios = document.getElementsByName('gender'); var gender = 'male'; for(var i=0; i<genderRadios.length; i++) { if(genderRadios[i].checked) gender = genderRadios[i].value; } // Validation if (isNaN(age) || isNaN(weightVal) || age < 0 || weightVal < 0) { return; // Stop if invalid } // 2. Normalize to Metric for Calculation var weightKg = weightVal; var heightCm = 0; if (currentUnit === 'imperial') { weightKg = weightVal / 2.20462; var ft = parseFloat(document.getElementById('heightFt').value) || 0; var inch = parseFloat(document.getElementById('heightIn').value) || 0; heightCm = (ft * 30.48) + (inch * 2.54); } else { heightCm = parseFloat(document.getElementById('heightCm').value); } if (isNaN(heightCm) || heightCm <= 0) return; // 3. Calculate BMR (Mifflin-St Jeor) var bmr = 0; if (gender === 'male') { bmr = (10 * weightKg) + (6.25 * heightCm) – (5 * age) + 5; } else { bmr = (10 * weightKg) + (6.25 * heightCm) – (5 * age) – 161; } // 4. Calculate TDEE var tdee = bmr * activity; var targetCalories = tdee – deficit; // Safety check: Don't go below BMR generally, but for calc purposes allow it with warning logic if needed. // For this tool, we just show the math. if (targetCalories < 1200) targetCalories = 1200; // Hard floor for safety display // 5. Update UI document.getElementById('maintenanceTDEE').innerText = Math.round(tdee).toLocaleString() + " kcal"; document.getElementById('bmrValue').innerText = Math.round(bmr).toLocaleString() + " kcal"; document.getElementById('targetCalories').innerText = Math.round(targetCalories).toLocaleString() + " kcal"; // Update Weekly Loss Text var weeklyLossText = ""; if (currentUnit === 'metric') { // 1 kg fat approx 7700 kcal. Deficit * 7 / 7700 var lossKg = (deficit * 7) / 7700; weeklyLossText = lossKg.toFixed(2) + " kg"; } else { // 1 lb fat approx 3500 kcal. Deficit * 7 / 3500 var lossLb = (deficit * 7) / 3500; weeklyLossText = lossLb.toFixed(2) + " lbs"; } document.getElementById('weeklyLoss').innerText = weeklyLossText; // 6. Update Table updateTable(bmr, deficit); // 7. Update Chart drawChart(weightKg, deficit); } function updateTable(bmr, deficit) { var tbody = document.getElementById('activityTableBody'); tbody.innerHTML = ""; var levels = [ { val: 1.2, name: "Sedentary" }, { val: 1.375, name: "Lightly Active" }, { val: 1.55, name: "Moderately Active" }, { val: 1.725, name: "Very Active" }, { val: 1.9, name: "Extra Active" } ]; var currentActivityVal = parseFloat(document.getElementById('activity').value); for (var i = 0; i < levels.length; i++) { var lvlTdee = bmr * levels[i].val; var lvlTarget = lvlTdee – deficit; if (lvlTarget < 1200) lvlTarget = 1200; var row = document.createElement('tr'); // Highlight current selection if (Math.abs(levels[i].val – currentActivityVal) < 0.01) { row.style.backgroundColor = "#e8f4ff"; row.style.fontWeight = "bold"; } row.innerHTML = "" + levels[i].name + "" + "" + Math.round(lvlTdee).toLocaleString() + " kcal" + "" + Math.round(lvlTarget).toLocaleString() + " kcal"; tbody.appendChild(row); } } function drawChart(startWeightKg, dailyDeficit) { var canvas = document.getElementById('weightChart'); var ctx = canvas.getContext('2d'); // Clear canvas ctx.clearRect(0, 0, canvas.width, canvas.height); // Set dimensions var width = canvas.width = canvas.offsetWidth; var height = canvas.height = canvas.offsetHeight; var padding = 40; var chartWidth = width – (padding * 2); var chartHeight = height – (padding * 2); // Data Generation (12 weeks) var weeks = 12; var dataPoints = []; var maintenancePoints = []; // Calculate weekly weight loss in kg // 7700 kcal = 1kg fat var weeklyLossKg = (dailyDeficit * 7) / 7700; var startWeight = (currentUnit === 'imperial') ? startWeightKg * 2.20462 : startWeightKg; var lossPerWeek = (currentUnit === 'imperial') ? weeklyLossKg * 2.20462 : weeklyLossKg; for (var i = 0; i <= weeks; i++) { dataPoints.push(startWeight – (lossPerWeek * i)); maintenancePoints.push(startWeight); } // Find Min/Max for Y Axis scaling var maxVal = startWeight; var minVal = dataPoints[weeks]; var range = maxVal – minVal; // Add buffer maxVal += range * 0.1; minVal -= range * 0.1; // Draw Axes ctx.beginPath(); ctx.strokeStyle = '#ddd'; ctx.lineWidth = 1; // Y Axis lines var ySteps = 5; for (var i = 0; i <= ySteps; i++) { var yVal = minVal + ((maxVal – minVal) * (i / ySteps)); var yPos = height – padding – (chartHeight * (i / ySteps)); ctx.moveTo(padding, yPos); ctx.lineTo(width – padding, yPos); // Text ctx.fillStyle = '#666'; ctx.font = '10px Arial'; ctx.fillText(Math.round(yVal), 5, yPos + 3); } ctx.stroke(); // X Axis Labels for (var i = 0; i <= weeks; i+=2) { var xPos = padding + (chartWidth * (i / weeks)); ctx.fillText("Wk " + i, xPos – 10, height – padding + 15); } // Draw Maintenance Line (Grey dashed) ctx.beginPath(); ctx.strokeStyle = '#999'; ctx.setLineDash([5, 5]); ctx.lineWidth = 2; for (var i = 0; i <= weeks; i++) { var x = padding + (chartWidth * (i / weeks)); var y = height – padding – ((maintenancePoints[i] – minVal) / (maxVal – minVal)) * chartHeight; if (i === 0) ctx.moveTo(x, y); else ctx.lineTo(x, y); } ctx.stroke(); ctx.setLineDash([]); // Reset dash // Draw Weight Loss Line (Green) ctx.beginPath(); ctx.strokeStyle = '#28a745'; ctx.lineWidth = 3; for (var i = 0; i <= weeks; i++) { var x = padding + (chartWidth * (i / weeks)); var y = height – padding – ((dataPoints[i] – minVal) / (maxVal – minVal)) * chartHeight; if (i === 0) ctx.moveTo(x, y); else ctx.lineTo(x, y); } ctx.stroke(); // Legend ctx.fillStyle = '#28a745'; ctx.fillRect(padding + 20, 10, 15, 10); ctx.fillStyle = '#333'; ctx.fillText("Projected Weight", padding + 40, 18); ctx.fillStyle = '#999'; ctx.fillRect(padding + 150, 10, 15, 10); ctx.fillStyle = '#333'; ctx.fillText("Maintenance (No Change)", padding + 170, 18); } function resetCalculator() { document.getElementById('age').value = 30; document.getElementById('weight').value = 80; document.getElementById('heightCm').value = 175; document.getElementById('heightFt').value = 5; document.getElementById('heightIn').value = 9; document.getElementById('activity').value = "1.375"; document.getElementById('deficit').value = "500"; // Reset radios var genderRadios = document.getElementsByName('gender'); genderRadios[0].checked = true; var unitRadios = document.getElementsByName('units'); unitRadios[0].checked = true; toggleUnits(); // This calls calculateTDEE } function copyResults() { var tdee = document.getElementById('maintenanceTDEE').innerText; var target = document.getElementById('targetCalories').innerText; var bmr = document.getElementById('bmrValue').innerText; var loss = document.getElementById('weeklyLoss').innerText; var text = "My TDEE Calculation Results:\n" + "Maintenance Calories (TDEE): " + tdee + "\n" + "Target Calories for Weight Loss: " + target + "\n" + "Basal Metabolic Rate (BMR): " + bmr + "\n" + "Projected Weekly Loss: " + loss + "\n" + "Generated by TDEE Calculator"; var tempInput = document.createElement("textarea"); tempInput.value = text; document.body.appendChild(tempInput); tempInput.select(); document.execCommand("copy"); document.body.removeChild(tempInput); var btn = document.querySelector('.btn-copy'); var originalText = btn.innerText; btn.innerText = "Copied!"; setTimeout(function(){ btn.innerText = originalText; }, 2000); }

Leave a Comment