Determine the precise daily caloric needs for your dog or cat based on weight and activity level.
Dog
Cat
lbs
kg
Estimated Daily Requirement
0 kcal
How Many Calories Does My Pet Need?
Just like humans, pets require a specific amount of energy to maintain a healthy weight. Feeding your pet too much can lead to obesity-related health issues like diabetes, arthritis, and heart disease. Conversely, underfeeding can lead to nutritional deficiencies.
This calculator uses the Resting Energy Requirement (RER) formula, which is the energy used by a mammal at rest in a thermoneutral environment. We then apply a multiplier based on your pet's specific lifestyle to find the Daily Energy Requirement (DER).
The Math Behind the Calculation
We use the standard veterinary formula for RER:
RER = 70 × (Body Weight in kg)^0.75
After calculating the RER, we multiply it by a factor that matches your pet's life stage. For example:
Neutered Adult Dog: 1.6 x RER
Active/Working Dog: 2.0 – 5.0 x RER
Neutered Adult Cat: 1.2 x RER
Sedentary/Obese Prone Cat: 1.0 x RER
Example Calculation
If you have a 20 lb (approx 9.1 kg) neutered adult dog:
RER: 70 × (9.1)^0.75 ≈ 368 calories
DER (Neutered Factor 1.6): 368 × 1.6 = 589 calories per day
Important Considerations
This calculator provides a scientific starting point, but every pet is an individual. Factors such as metabolism, breed, and environment play a role. Always monitor your pet's Body Condition Score (BCS). If you can feel their ribs easily but not see them, and they have a visible waistline from above, they are likely at a healthy weight.
Note: Treats should never exceed 10% of your pet's daily caloric intake. If you give treats, subtract those calories from their daily meal portions.
function updateActivityOptions() {
var petType = document.getElementById("petType").value;
var activitySelect = document.getElementById("activityLevel");
activitySelect.innerHTML = "";
var dogOptions = [
{ label: "Neutered Adult", val: 1.6 },
{ label: "Intact Adult", val: 1.8 },
{ label: "Sedentary / Obese Prone", val: 1.2 },
{ label: "Weight Loss Goal", val: 1.0 },
{ label: "Active / Working", val: 2.5 },
{ label: "Puppy (0-4 months)", val: 3.0 },
{ label: "Puppy (4-12 months)", val: 2.0 }
];
var catOptions = [
{ label: "Neutered Adult", val: 1.2 },
{ label: "Intact Adult", val: 1.4 },
{ label: "Sedentary / Obese Prone", val: 1.0 },
{ label: "Weight Loss Goal", val: 0.8 },
{ label: "Active", val: 1.6 },
{ label: "Kitten", val: 2.5 }
];
var options = petType === "dog" ? dogOptions : catOptions;
for (var i = 0; i < options.length; i++) {
var opt = document.createElement("option");
opt.value = options[i].val;
opt.innerHTML = options[i].label;
activitySelect.appendChild(opt);
}
}
function calculatePetCalories() {
var weight = parseFloat(document.getElementById("petWeight").value);
var unit = document.getElementById("weightUnit").value;
var multiplier = parseFloat(document.getElementById("activityLevel").value);
var petType = document.getElementById("petType").value;
if (isNaN(weight) || weight <= 0) {
alert("Please enter a valid weight.");
return;
}
// Convert weight to kg
var weightInKg = unit === "lbs" ? weight / 2.20462 : weight;
// Calculate RER (Resting Energy Requirement)
// Formula: 70 * (weight_kg ^ 0.75)
var rer = 70 * Math.pow(weightInKg, 0.75);
// Calculate DER (Daily Energy Requirement)
var der = Math.round(rer * multiplier);
// Display results
var resultArea = document.getElementById("petResultArea");
var calorieOutput = document.getElementById("calorieOutput");
var description = document.getElementById("resultDescription");
resultArea.style.display = "block";
calorieOutput.innerHTML = der + " kcal / day";
description.innerHTML = "Based on a weight of " + weight + " " + unit + ", your " + petType + " requires approximately " + Math.round(rer) + " calories for basic metabolic functions (RER) and a total of " + der + " calories for their current lifestyle.";
resultArea.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}
// Initialize options on load
updateActivityOptions();