While losing weight isn’t the only goal for cyclists, it is often an important one. An accurate count of calories burned for each ride becomes a key metric if you are using the “calorie counting” approach to weight loss which is effective for many.

If you’ve been riding long and using tools such as Zwift or TrainingPeaks to track your rides you know each service delivers different calorie numbers. Why is this, and which numbers should you trust?

Let’s try to answer this question by first understanding the basics of calories, kilojoules, and efficiency.


A Calorie (or more accurately, a kilocalorie) is a unit of energy. How much energy? Scientifically speaking, a kilocalorie is the amount of heat required to raise the temperature of 1 kilogram of water one degree Celsius.


A kilojoule (kJ) is also a unit of energy, and some countries (like Australia) even use it instead of calories to measure food energy. A kilojoule is equal to 1000 joules, and a joule is the amount of work required to produce one watt of power for one second.

Therefore, the number of kilojoules you put into your pedals over the course of a ride is equal to (average watts × ride length in seconds) / 1000.


  • If you ride for 60 minutes (3600 seconds) at 200 watts you will have put 3600 x 200 / 1000 = 720 kJ of energy into the pedals.
  • If you go harder and ride for 60 minutes at 300 watts you will have put 3600 x 300 / 1000 = 1080 kJ of energy into the pedals.

If you have an accurate power meter then you are accurately measuring your kilojoules on each ride.

Calories can be converted to kilojoules easily: 1 Calorie=4.186 kJs

(Note: in the absence of a power meter, calorie calculators use some combination of heart rate, body weight, age, distance, time and incline to approximate your work. These approximations produce widely varying calorie counts. Since this post is for Zwifters I’m assuming you have an accurate measurement of kilojoules–that is, an accurate power meter.)

Efficiency: the Big Question

When you ride a bike, your body converts stored calories into kinetic (movement) energy. Those movements show up as wattage in Zwift.

But here’s the rub: not all of your calories’ energy is turned into kinetic energy. In fact, most of your calories are converted into heat energy, not kinetic energy. That’s why you sweat when you ride.

How much of each calorie becomes heat, and how much becomes movement? That’s the efficiency question. And there’s no way to answer it outside of lab testing, so in everyday life, we rely on approximations.

Scientists agree that when cycling, 20-25% of each calorie burned is actually applied to your pedals. The more efficient your body is, the higher that percentage will be. And remember, we also know 1 calorie can produce 4.186 kJs of work. Using those numbers, let’s look at some example calorie burn calculations.

Examples (using our rides above):

  • 720 kJ ride at 25% efficiency burns (720/4.186)/.25 = 688 Calories
  • 720 kJ ride at 20% efficiency burns (720/4.186)/.2 = 860 Calories
  • 1080 kJ ride at 25% efficiency burns (1080/4.186)/.25 = 1032 Calories
  • 1080 kJ ride at 20% efficiency burns (1080/4.186)/.2 = 1290 Calories

Different tools factor in different efficiency levels, and that’s why you may see different calorie numbers for any given ride if you track it in Zwift, on your Garmin, etc. Heck, some tools use totally different equations for calculating calorie burn, even when power data is available! For example, my Wahoo ELEMNT seems to calculate calories using a funky heartrate-based algorithm while Zwift uses my wattage and a 25% efficiency factor.

Which Calorie Number is Correct?

The answer is: none of them are. Unless you are in a lab which can accurately measure your complete energy output, you must rely on tools that crunch numbers and deliver approximations.


Tracking your calories to lose weight? Use the tool that calculates calorie burn based on power, not heartrate–because power is more accurate. And if you’re ever in doubt, use the tool that gives you the lowest calorie counts, so you aren’t accidentally eating too much!