Calculate precise calories and macronutrients for any serving size.
Nutritional Results
Total Calories
0
kcal
Protein
0g
Carbs
0g
Fats
0g
How to Use the Nutritional Info Calculator
Whether you are bodybuilding, losing weight, or managing a medical condition like diabetes, precision in your diet is key. This calculator allows you to convert "per 100g" label information into the exact nutritional value of the portion you are actually eating.
Step-by-Step Instructions:
Identify the Label: Look at the back of your food packaging for the "Nutrition Facts" per 100g.
Enter Reference Values: Type in the calories, protein, carbohydrates, and fats listed for that 100g serving.
Weigh Your Serving: Use a digital kitchen scale to weigh the amount of food you intend to eat (in grams).
Calculate: Our tool will apply the math to give you the exact macros for your specific serving size.
Example Calculation: Raw Almonds
Imagine you are snacking on almonds. The package says per 100g there are 579 calories, 21g of protein, 22g of carbs, and 50g of fats. However, you only eat a small handful weighing 28 grams.
Serving Weight: 28g
Calories: (28 / 100) * 579 = 162.1 kcal
Protein: (28 / 100) * 21 = 5.88g
Carbs: (28 / 100) * 22 = 6.16g
Fats: (28 / 100) * 50 = 14.00g
Why Track Macros?
Macronutrients (Protein, Carbs, and Fats) make up the total caloric content of your food. Protein is essential for muscle repair, carbohydrates provide energy for high-intensity activities, and fats are crucial for hormonal health and vitamin absorption. Tracking these numbers ensures you aren't just hitting your calorie goals, but hitting them with the right balance of nutrients.
function calculateNutrition() {
var foodName = document.getElementById("foodName").value;
var weight = parseFloat(document.getElementById("servingWeight").value);
var cal100 = parseFloat(document.getElementById("calPer100").value);
var prot100 = parseFloat(document.getElementById("protPer100").value);
var carb100 = parseFloat(document.getElementById("carbPer100").value);
var fat100 = parseFloat(document.getElementById("fatPer100").value);
// Validation
if (isNaN(weight) || isNaN(cal100)) {
alert("Please enter at least the serving weight and calories per 100g.");
return;
}
// Default 0 for macros if left empty
prot100 = isNaN(prot100) ? 0 : prot100;
carb100 = isNaN(carb100) ? 0 : carb100;
fat100 = isNaN(fat100) ? 0 : fat100;
// Logic: (Weight / 100) * Value
var factor = weight / 100;
var totalCals = (factor * cal100).toFixed(1);
var totalProt = (factor * prot100).toFixed(1);
var totalCarb = (factor * carb100).toFixed(1);
var totalFat = (factor * fat100).toFixed(1);
// Update Display
document.getElementById("resCalories").innerText = totalCals;
document.getElementById("resProtein").innerText = totalProt + "g";
document.getElementById("resCarbs").innerText = totalCarb + "g";
document.getElementById("resFats").innerText = totalFat + "g";
if (foodName.trim() !== "") {
document.getElementById("resultTitle").innerText = "Nutrition for: " + foodName + " (" + weight + "g)";
} else {
document.getElementById("resultTitle").innerText = "Nutrition for " + weight + "g Serving";
}
document.getElementById("resultsArea").style.display = "block";
// Smooth scroll to results
document.getElementById("resultsArea").scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}