Estimate your daily carbohydrate, protein, and fat targets on a ketogenic diet to support your weight loss goals. Simply input your details below.
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/week)
Extra Active (very hard exercise/sports & physical job)
Choose the option that best describes your typical daily activity.
Your current body weight in kilograms.
Your current height in centimeters.
Your current age in years.
Male
Female
Select your gender for more accurate BMR calculation.
Your target body weight in kilograms.
How many kilograms you aim to lose each week (e.g., 0.5 kg for sustainable loss).
Your Keto Macros for Weight Loss
—
Target Daily Calories— kcal
Carbohydrates (Net Carbs)— g
Protein— g
Fat— g
Formula Used: Your Basal Metabolic Rate (BMR) is calculated using the Mifflin-St Jeor equation. This is then multiplied by your activity level to estimate your Total Daily Energy Expenditure (TDEE). A calorie deficit is applied based on your desired weight loss rate to determine your target daily calories. Macros are then distributed as percentages: 5% Carbs, 25% Protein, 70% Fat.
Macro Distribution
Keto Macro Breakdown
Nutrient
Grams per Day
Percentage of Daily Calories
Net Carbs
—
–%
Protein
—
–%
Fat
—
–%
Total
—
100%
What is Keto Macros for Weight Loss?
The ketogenic diet, often called the "keto diet," is a low-carbohydrate, high-fat eating pattern designed to shift your body into a metabolic state known as ketosis. When you drastically reduce carbohydrate intake, your body becomes incredibly efficient at burning fat for energy. Instead of relying on glucose (derived from carbs) as its primary fuel source, your liver starts producing ketones from fat. These ketones then become the main energy source for your brain and body.
Calculating your "keto macros" means determining the precise daily target grams of macronutrients – carbohydrates, protein, and fat – that align with your individual goals, particularly for weight loss. This isn't just about cutting carbs; it's about balancing the *right* amounts of fat and protein to fuel your body, preserve muscle mass, and promote fat burning effectively.
Who Should Use Keto Macros for Weight Loss?
This approach is ideal for individuals seeking a structured dietary plan to lose weight, especially those who find traditional low-fat diets challenging or unsustainable. People often turn to keto macros if they:
Struggle with persistent hunger on other diets.
Have found success with low-carb or low-carb, high-fat (LCHF) approaches previously.
Want to leverage the fat-burning potential of ketosis.
Are looking for a defined macronutrient breakdown to follow.
It's important to note that the ketogenic diet may not be suitable for everyone, especially individuals with certain medical conditions like pancreatitis, liver failure, or kidney disease. Consulting a healthcare professional or a registered dietitian before starting is highly recommended.
Common Misconceptions about Keto Macros
Several myths surround keto macros and the ketogenic diet:
"It's a 'dirty' diet: Eat all the fat you want." While high in fat, keto macros focus on specific, calculated amounts to ensure a calorie deficit for weight loss and to maintain ketosis. Excessive fat intake without considering overall calories will hinder weight loss.
"Keto is bad for your heart." When properly formulated, keto can improve certain cardiovascular markers. The focus is on healthy fats, adequate protein, and very low carbs, not saturated fats from processed junk.
"You can never eat carbs again." While strict keto limits carbs to induce ketosis, "keto cycling" or "targeted keto" exist. For general weight loss, staying within the calculated net carb limit (typically 20-50g) is key.
"Protein intake should be very high." Excessive protein can be converted to glucose via gluconeogenesis, potentially hindering ketosis for some individuals. Finding the *optimal* protein level is crucial, which our calculator helps determine.
Keto Macros for Weight Loss Formula and Mathematical Explanation
To calculate your ideal keto macros for weight loss, we first need to estimate your body's energy needs. This involves a few key steps:
1. Basal Metabolic Rate (BMR) Calculation
BMR is the number of calories your body burns at rest to maintain basic functions like breathing, circulation, and cell production. The Mifflin-St Jeor equation is widely considered one of the most accurate for estimating BMR:
For Men: BMR = (10 * weight in kg) + (6.25 * height in cm) – (5 * age in years) + 5
For Women: BMR = (10 * weight in kg) + (6.25 * height in cm) – (5 * age in years) – 161
2. Total Daily Energy Expenditure (TDEE) Calculation
TDEE accounts for your BMR plus the calories burned through physical activity. We multiply BMR by an activity factor:
TDEE = BMR * Activity Level Factor
The Activity Level Factors are:
Sedentary: 1.2
Lightly Active: 1.375
Moderately Active: 1.55
Very Active: 1.725
Extra Active: 1.9
3. Calorie Deficit for Weight Loss
To lose weight, you need to consume fewer calories than your TDEE. A deficit of approximately 3500 calories typically results in one pound (0.45 kg) of fat loss. To achieve a specific weekly weight loss rate (e.g., 0.5 kg per week), we calculate the required daily calorie deficit:
Daily Calorie Deficit = Desired Weekly Weight Loss (kg) * 1100 (approx. kcal per kg of fat)
*Note: A common recommendation for sustainable weight loss is a deficit of 500-1000 calories per day, which corresponds to roughly 0.5-1 kg of weight loss per week.*
4. Macronutrient Distribution
For a ketogenic diet focused on weight loss, a typical macro split is:
Example 1: Sarah, aiming for sustainable weight loss
Sarah is 35 years old, weighs 78 kg, and is 165 cm tall. She works a desk job but goes to the gym 3 times a week, classifying her as Moderately Active. Her goal weight is 68 kg, and she aims for a sustainable loss of 0.5 kg per week.
Interpretation: Sarah should aim for a daily intake of around 1700 calories, with a strict limit of 21g net carbs. This composition focuses heavily on fat for energy while providing adequate protein to preserve muscle mass during her weight loss journey.
Example 2: Mark, moderately active male
Mark is 45 years old, weighs 95 kg, and is 180 cm tall. He has a moderately active lifestyle (works in construction) and wants to lose 1 kg per week, aiming for 85 kg.
Interpretation: Mark needs a significant calorie deficit to achieve his 1kg/week goal. His target is around 1770 calories daily, with net carbs capped at 22g. The macro split remains consistent, prioritizing fat for energy while ensuring sufficient protein. Given the large deficit, monitoring energy levels and nutrient intake is important.
How to Use This Keto Macros Calculator
Our Keto Macros Calculator is designed to provide personalized targets for your ketogenic weight loss journey. Follow these simple steps:
Step-by-Step Instructions:
Select Activity Level: Choose the option that best reflects your average daily physical activity. Be honest to get the most accurate TDEE estimate.
Enter Current Details: Input your current weight (in kg), height (in cm), age (in years), and select your gender.
Set Your Goal: Enter your target goal weight (in kg).
Specify Weight Loss Speed: Input your desired weekly weight loss in kilograms. A sustainable rate is typically 0.5 kg per week. Faster rates may require a larger calorie deficit and could be harder to maintain.
Click 'Calculate Macros': Once all fields are filled, click the button. The calculator will process your inputs and display your estimated daily calorie needs and macronutrient breakdown.
Reading Your Results:
The calculator will output:
Primary Highlighted Result: Your Target Daily Calories for weight loss.
Intermediate Values: Your calculated Net Carbs, Protein, and Fat in grams per day.
Macro Distribution Table: A clear breakdown of grams and percentages for each macronutrient.
Chart: A visual representation of your macro split.
Pay close attention to the Net Carbs target, as staying within this limit is crucial for achieving and maintaining ketosis. The protein goal is essential for muscle preservation, and fat intake will primarily provide satiety and energy.
Decision-Making Guidance:
Use these results as a starting point. Your body's response is unique.
If weight loss stalls: Ensure you are accurately tracking your food intake and staying within your calorie and carb limits. You may need to slightly decrease calories or increase activity.
If you feel excessively fatigued or hungry: Your calorie deficit might be too large, or your protein intake could be insufficient. Adjust your targets slightly and monitor your progress.
Consistency is Key: Aim to hit your macro targets daily. Use the 'Copy Results' button to save your targets for easy reference.
Consult Professionals: For personalized advice, especially if you have underlying health conditions, consult a doctor or a registered dietitian.
Key Factors That Affect Keto Macro Results
While our calculator provides a solid baseline, several factors can influence the effectiveness and your individual response to your calculated keto macros:
1. Body Composition (Muscle vs. Fat Mass)
The Mifflin-St Jeor equation estimates BMR based on total weight. However, muscle tissue burns more calories at rest than fat tissue. Individuals with higher muscle mass may have a higher actual BMR than calculated, potentially needing slightly more calories or adjusting their protein targets. Our calculator uses total weight, which is a simplification.
2. Metabolism and Individual Variability
Metabolic rates can vary significantly between individuals due to genetics, hormones, and overall health. Some people naturally have faster or slower metabolisms, meaning the TDEE calculation is an estimate. You may need to adjust your calorie intake based on your body's real-time response.
3. Accuracy of Activity Level Input
The "Activity Level Factor" is a broad multiplier. If your daily activity fluctuates or is difficult to categorize precisely, your TDEE estimate could be off. Overestimating activity leads to a higher TDEE and potentially insufficient deficit for weight loss.
4. Quality of Macronutrients
The calculator focuses on the quantity (grams) of macros. However, the *quality* is paramount on keto. Choosing healthy fats (avocado, olive oil, nuts, seeds), adequate protein sources (meat, fish, eggs), and low-carb vegetables is vital for overall health, nutrient intake, and sustained energy. Focusing solely on hitting numbers with processed, low-carb foods might not yield the best health outcomes.
5. Hydration and Electrolytes
When drastically reducing carbs, the body sheds water and electrolytes (sodium, potassium, magnesium). This "keto flu" can cause fatigue, headaches, and muscle cramps. Ensuring adequate fluid and electrolyte intake is crucial for well-being and adherence, indirectly affecting how you feel and perform, which can impact your ability to stick to your macro goals.
6. Stress and Sleep
Chronic stress and poor sleep can negatively impact hormone balance (cortisol, ghrelin, leptin), potentially increasing appetite, promoting fat storage (especially abdominal fat), and hindering weight loss efforts. Managing stress and prioritizing sleep are critical supportive factors for any weight loss plan, including keto.
7. Hormone Health and Medical Conditions
Hormonal imbalances (e.g., thyroid issues, PCOS) or certain medical conditions can significantly affect metabolism and weight loss. The calculated macros are based on standard physiological models and may need considerable adjustment under such circumstances. Medical supervision is essential in these cases.
Frequently Asked Questions (FAQ)
Q1: What are considered "net carbs" on keto?
Net carbs are total carbohydrates minus fiber and certain sugar alcohols. Fiber does not significantly impact blood sugar or insulin levels, so it's often excluded. The calculation is typically: Net Carbs = Total Carbs – Fiber. Some also subtract half of certain sugar alcohols. Our calculator uses this standard definition.
Q2: Is a 5% carb target too low?
For most people aiming for strict ketosis, 5% of calories from net carbs (typically 20-50g per day) is effective. However, individual tolerance varies. Some may feel fine and achieve ketosis with slightly higher carb intake (up to 70-100g), especially if they are more active. Our calculator provides a common starting point.
Q3: Should I prioritize fat intake or protein intake?
On keto, fat is your primary energy source, so hitting your fat target is important for satiety and energy. However, adequate protein is crucial for preserving muscle mass during weight loss. It's generally recommended to prioritize meeting your protein goal first, then fill the remaining calories with fat, while keeping net carbs strictly within the limit.
Q4: How long does it take to enter ketosis?
It typically takes 2-4 days of consistently keeping carbohydrate intake very low (usually under 20-50g net carbs per day) to deplete your glycogen stores and enter nutritional ketosis. Factors like exercise and current glycogen levels can influence this timeline.
Q5: What if my goal weight is higher than my current weight?
This calculator is primarily designed for weight loss. If your goal weight is higher, it suggests a need for weight gain or muscle building. The macro calculation approach would differ significantly, focusing on a calorie surplus and potentially higher carbohydrate and protein intake. This tool would not be appropriate.
Q6: Can I use this calculator if I'm pregnant or breastfeeding?
No. Pregnancy and breastfeeding are special physiological states requiring significantly different nutritional considerations. This calculator is not designed for these conditions. Consult a healthcare professional for appropriate dietary guidance during these times.
Q7: Does "weight loss rate" directly correlate to calorie deficit?
Yes, largely. A deficit of ~3500 calories theoretically leads to 1 pound (approx. 0.45 kg) of fat loss. Therefore, a 0.5 kg/week goal implies roughly a 550 kcal/day deficit, and a 1 kg/week goal implies roughly a 1100 kcal/day deficit. Real-world results can vary slightly due to metabolic adaptation and body composition changes.
Q8: Should I track macros precisely every day?
For best results, especially when starting, precise tracking is highly recommended. It helps you understand portion sizes, learn about the carb/fat/protein content of foods, and ensure you are hitting your targets. As you become more experienced, you may be able to estimate more intuitively, but tracking provides accountability and accuracy.
Related Tools and Internal Resources
Explore these helpful resources to further enhance your understanding and journey:
Keto Diet Benefits Explained: Learn about the potential advantages of the ketogenic diet beyond weight loss, such as improved blood sugar control and increased energy levels.
Best Keto Foods List: Discover a comprehensive guide to keto-friendly foods to help you plan your meals effectively and stay within your macro targets.
Understanding Ketosis: Dive deeper into the metabolic state of ketosis, how it works, and the signs that indicate you are in ketosis.
Keto Flu Symptoms and Remedies: Get practical advice on managing and overcoming the common side effects experienced when starting a ketogenic diet.
Intermittent Fasting Keto Guide: Explore how combining intermittent fasting with a ketogenic diet can potentially amplify fat loss and improve metabolic health.
Calculating Protein Needs on Keto: Get a more detailed look at the importance of protein intake and how to calculate your optimal protein targets for muscle preservation.
var activityLevelInput = document.getElementById('activityLevel');
var weightKgInput = document.getElementById('weightKg');
var heightCmInput = document.getElementById('heightCm');
var ageInput = document.getElementById('age');
var genderInput = document.getElementById('gender');
var goalWeightKgInput = document.getElementById('goalWeightKg');
var weightLossRateKgPerWeekInput = document.getElementById('weightLossRateKgPerWeek');
var weightKgError = document.getElementById('weightKgError');
var heightCmError = document.getElementById('heightCmError');
var ageError = document.getElementById('ageError');
var goalWeightKgError = document.getElementById('goalWeightKgError');
var weightLossRateKgPerWeekError = document.getElementById('weightLossRateKgPerWeekError');
var targetCaloriesSpan = document.getElementById('targetCalories');
var netCarbsSpan = document.getElementById('netCarbs');
var proteinSpan = document.getElementById('protein');
var fatSpan = document.getElementById('fat');
var primaryResultSpan = document.getElementById('primaryResult');
var tableNetCarbs = document.getElementById('tableNetCarbs');
var tableProtein = document.getElementById('tableProtein');
var tableFat = document.getElementById('tableFat');
var tableCarbPercent = document.getElementById('tableCarbPercent');
var tableProteinPercent = document.getElementById('tableProteinPercent');
var tableFatPercent = document.getElementById('tableFatPercent');
var tableTotalGrams = document.getElementById('tableTotalGrams');
var macroChart; // Declare chart variable globally
// Function to initialize or update the chart
function updateMacroChart(netCarbs, protein, fat) {
var ctx = document.getElementById('macroChart').getContext('2d');
// Destroy previous chart instance if it exists
if (macroChart) {
macroChart.destroy();
}
var totalGrams = netCarbs + protein + fat;
var carbPercent = totalGrams > 0 ? (netCarbs / totalGrams) * 100 : 0;
var proteinPercent = totalGrams > 0 ? (protein / totalGrams) * 100 : 0;
var fatPercent = totalGrams > 0 ? (fat / totalGrams) * 100 : 0;
// Ensure percentages are capped at 100 if rounding causes issues
var cappedCarbPercent = Math.min(carbPercent, 100);
var cappedProteinPercent = Math.min(proteinPercent, 100);
var cappedFatPercent = Math.min(fatPercent, 100);
// Adjust percentages to sum to 100 if minor floating point errors occur
var totalPercentage = cappedCarbPercent + cappedProteinPercent + cappedFatPercent;
if (totalPercentage !== 100 && totalPercentage > 0) {
var adjustmentFactor = 100 / totalPercentage;
cappedCarbPercent *= adjustmentFactor;
cappedProteinPercent *= adjustmentFactor;
cappedFatPercent *= adjustmentFactor;
}
macroChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['Net Carbs', 'Protein', 'Fat'],
datasets: [{
label: 'Macro Distribution',
data: [netCarbs, protein, fat],
backgroundColor: [
'rgba(255, 99, 132, 0.7)', // Red for Carbs
'rgba(54, 162, 235, 0.7)', // Blue for Protein
'rgba(255, 206, 86, 0.7)' // Yellow for Fat
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
position: 'bottom',
},
title: {
display: true,
text: 'Macro Distribution by Grams',
font: {
size: 16
}
},
tooltip: {
callbacks: {
label: function(context) {
var label = context.label || ";
if (label) {
label += ': ';
}
if (context.parsed !== null) {
// Accessing dataset values directly for calculation
var dataset = context.chart.data.datasets[0].data;
var total = dataset.reduce(function(acc, val) { return acc + val; }, 0);
var percentage = total > 0 ? ((context.raw / total) * 100).toFixed(1) : 0;
label += context.raw + 'g (' + percentage + '%)';
}
return label;
}
}
}
}
}
});
}
function calculateKetoMacros() {
var activityLevel = parseFloat(activityLevelInput.value);
var weightKg = parseFloat(weightKgInput.value);
var heightCm = parseFloat(heightCmInput.value);
var age = parseFloat(ageInput.value);
var gender = genderInput.value;
var goalWeightKg = parseFloat(goalWeightKgInput.value);
var weightLossRateKgPerWeek = parseFloat(weightLossRateKgPerWeekInput.value);
// Clear previous errors
weightKgError.textContent = ";
heightCmError.textContent = ";
ageError.textContent = ";
goalWeightKgError.textContent = ";
weightLossRateKgPerWeekError.textContent = ";
weightKgError.classList.remove('visible');
heightCmError.classList.remove('visible');
ageError.classList.remove('visible');
goalWeightKgError.classList.remove('visible');
weightLossRateKgPerWeekError.classList.remove('visible');
// Validation
var isValid = true;
if (isNaN(weightKg) || weightKg <= 0) {
weightKgError.textContent = 'Please enter a valid weight in kg.';
weightKgError.classList.add('visible');
isValid = false;
}
if (isNaN(heightCm) || heightCm <= 0) {
heightCmError.textContent = 'Please enter a valid height in cm.';
heightCmError.classList.add('visible');
isValid = false;
}
if (isNaN(age) || age <= 0) {
ageError.textContent = 'Please enter a valid age.';
ageError.classList.add('visible');
isValid = false;
}
if (isNaN(goalWeightKg) || goalWeightKg <= 0) {
goalWeightKgError.textContent = 'Please enter a valid goal weight in kg.';
goalWeightKgError.classList.add('visible');
isValid = false;
}
if (isNaN(weightLossRateKgPerWeek) || weightLossRateKgPerWeek = weightKg) {
goalWeightKgError.textContent = 'Goal weight should be less than current weight for loss.';
goalWeightKgError.classList.add('visible');
isValid = false;
}
if (!isValid) {
resetResultsDisplay();
return;
}
// BMR Calculation (Mifflin-St Jeor)
var bmr;
if (gender === 'male') {
bmr = (10 * weightKg) + (6.25 * heightCm) – (5 * age) + 5;
} else { // female
bmr = (10 * weightKg) + (6.25 * heightCm) – (5 * age) – 161;
}
// TDEE Calculation
var tdee = bmr * activityLevel;
// Calorie Deficit for Weight Loss
// Approx 7700 kcal per kg of fat for a more precise deficit
var dailyCalorieDeficit = weightLossRateKgPerWeek * (7700 / 7);
var targetCalories = tdee – dailyCalorieDeficit;
// Ensure target calories are reasonable (e.g., not excessively low)
if (targetCalories 0 ? (Math.round(netCarbs) / totalGrams) * 100 : 0;
var proteinPercent = totalGrams > 0 ? (Math.round(protein) / totalGrams) * 100 : 0;
var fatPercent = totalGrams > 0 ? (Math.round(fat) / totalGrams) * 100 : 0;
tableNetCarbs.textContent = Math.round(netCarbs);
tableProtein.textContent = Math.round(protein);
tableFat.textContent = Math.round(fat);
tableCarbPercent.textContent = carbPercent.toFixed(1) + '%';
tableProteinPercent.textContent = proteinPercent.toFixed(1) + '%';
tableFatPercent.textContent = fatPercent.toFixed(1) + '%';
tableTotalGrams.textContent = totalGrams;
// Update chart
updateMacroChart(Math.round(netCarbs), Math.round(protein), Math.round(fat));
}
function resetResultsDisplay() {
primaryResultSpan.textContent = '–';
targetCaloriesSpan.textContent = '–';
netCarbsSpan.textContent = '–';
proteinSpan.textContent = '–';
fatSpan.textContent = '–';
tableNetCarbs.textContent = '–';
tableProtein.textContent = '–';
tableFat.textContent = '–';
tableCarbPercent.textContent = '–%';
tableProteinPercent.textContent = '–%';
tableFatPercent.textContent = '–%';
tableTotalGrams.textContent = '–';
if (macroChart) {
macroChart.destroy();
// Clear canvas content if destroy doesn't fully clear
var canvas = document.getElementById('macroChart');
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvas.width, canvas.height);
}
}
function resetCalculator() {
// Reset input fields to sensible defaults
activityLevelInput.value = '1.375'; // Lightly Active
weightKgInput.value = '70';
heightCmInput.value = '170';
ageInput.value = '30';
genderInput.value = 'female';
goalWeightKgInput.value = '60';
weightLossRateKgPerWeekInput.value = '0.5';
// Clear errors
weightKgError.textContent = ";
heightCmError.textContent = ";
ageError.textContent = ";
goalWeightKgError.textContent = ";
weightLossRateKgPerWeekError.textContent = ";
document.querySelectorAll('.error-message').forEach(function(el){
el.classList.remove('visible');
});
// Reset results display
resetResultsDisplay();
}
function copyResults() {
var targetCalories = targetCaloriesSpan.textContent;
var netCarbs = netCarbsSpan.textContent;
var protein = proteinSpan.textContent;
var fat = fatSpan.textContent;
var primaryResult = primaryResultSpan.textContent;
if (primaryResult === '–') {
alert("Please calculate your macros first before copying.");
return;
}
var assumptions = "Assumptions:\n" +
"Activity Level: " + activityLevelInput.options[activityLevelInput.selectedIndex].text + "\n" +
"Current Weight: " + weightKgInput.value + " kg\n" +
"Height: " + heightCmInput.value + " cm\n" +
"Age: " + ageInput.value + " years\n" +
"Gender: " + genderInput.value + "\n" +
"Goal Weight: " + goalWeightKgInput.value + " kg\n" +
"Desired Weekly Loss: " + weightLossRateKgPerWeekInput.value + " kg/week\n\n";
var macroText = "Your Keto Macros for Weight Loss:\n" +
"———————————-\n" +
"Target Daily Calories: " + targetCalories + " kcal\n" +
"Net Carbs: " + netCarbs + " g\n" +
"Protein: " + protein + " g\n" +
"Fat: " + fat + " g";
var textToCopy = assumptions + macroText;
navigator.clipboard.writeText(textToCopy).then(function() {
// Success feedback (optional)
var copyButton = document.querySelector('button.btn-success');
var originalText = copyButton.textContent;
copyButton.textContent = 'Copied!';
copyButton.style.backgroundColor = 'var(–success-color)';
setTimeout(function() {
copyButton.textContent = originalText;
copyButton.style.backgroundColor = "; // Reset to default
}, 2000);
}).catch(function(err) {
console.error('Failed to copy text: ', err);
alert('Failed to copy results. Please copy manually.');
});
}
// Initial calculation on load if default values are set
document.addEventListener('DOMContentLoaded', function() {
// Trigger initial calculation if default values are present and valid
if (weightKgInput.value && heightCmInput.value && ageInput.value && goalWeightKgInput.value && weightLossRateKgPerWeekInput.value) {
calculateKetoMacros();
} else {
resetResultsDisplay(); // Ensure placeholders are shown if inputs are empty
}
});
// Add event listeners for real-time updates on input change
var inputFields = [weightKgInput, heightCmInput, ageInput, goalWeightKgInput, weightLossRateKgPerWeekInput];
var selectFields = [activityLevelInput, genderInput];
inputFields.forEach(function(input) {
input.addEventListener('input', calculateKetoMacros);
});
selectFields.forEach(function(select) {
select.addEventListener('change', calculateKetoMacros);
});