FIT Exporter for non-Wahoo Devices

My extension has been officially blessed by Wahoo, so this won’t get deleted this time :slight_smile:

Mozilla Firefox: SYSTM FIT Export – Get this Extension for 🦊 Firefox (en-US)
Google Chrome:

You can export from the SYSTM Web App.

You must have a current Wahoo X Subscription in order to use the extension.

Happy to help if you have issues or suggestions to improve.


Officially blessed? Congratulations!

1 Like

@jessicat Cool - I will definitely check it out.

1 Like

Nice @jessicat !!

That is sooo great to hear!!!

You’ve clearly got a particular set of skillz! Glad Wahoo has recognized that, and your generosity!!

This will make a lot of people quite happy!!


Super cool! Thanks for contributing in such a helpful and unique way.


Just a note for some: you can’t upload via Garmin Connect on the web. You’ll need to copy onto your Garmin via USB.

It may also be possible via Training Peaks or other app that pushes to your head unit, but I haven’t tried that.

1 Like

I thinkkkkkk you can do it in a very roundabout way for free to push it into Training Peaks which would then push it over to Garmin. Convert from FIT to ZWO, make the workout on Trainerday, import the ZWO and save, then push from Trainerday to Training Peaks. >_>

1 Like

Great work @jessicat . Please update the description of the plugin page to incorporate the use with/for RGT, adds exposure :wink:

1 Like

Nice! Good news!!
Great work and thank you very much!

Thankyou you wonderful wonderful person, super easy!


I’ll share this in our RGT FB Groups :slight_smile: Redirecting...

@jessicat Finally used the browser extension today to send a workout (Micro Intervals 3 Sets 10 x 20). It worked great and it is nice to have the option to do the NoVids in RGT without having to build them in TrainingPeaks. Many thanks!


Up to now when I do a Systm workout outside, I have manually put together the workout in Garmin Connect and then sent it to my Garmin Edge head unit. I don’t have a power meter on my bike, so for the workout set HR as my Primary Target, with the suggested HR ranges then shown on the head unit as I do the workout.

When you use the FIT Exporter for non-Wahoo Devices and then load it onto a Garmin Edge (530 in my case), does it the fit file also include suggested cadence and HR values for the workout. I don’t have a power meter on my bike, so when riding a workout outside use HR.

Assuming it does, is Power setup as the Primary Target for each interval/step or will the HR range values come up on the Edge as you move from interval to interval without a power meter?

Hopefully the above makes sense to Garmin Edge users :thinking:

1 Like

Hey @jessicat. So I was trying to download the fit files from the My List tab and I guess the link is different there than from the main library cuz when I click Download FIT File from My List, nothing happens.

Does the extension need a tweaking?

It seems to be an issue with all of the recently converted or adjusted or something something the former GCN vids. Other no-vids seem to work fine.

Edit: I think I may have found the issue. There are no “outdoor” versions of these yet.

I do have a question for you (or am looking for guidance) @jessicat and forgive me if it’s naive but I see that there are options in the web extension to add or decrease the % or watts in the FIT file but the ranges seem off somehow in that they all start from the Max and get higher.

What I mean is by way of example, that, for my current 4DP

the ranges all start at the Max value and go higher. Most workout intervals are in a range that is less than as well as greater than the current metric.

For longer MAP intervals, like in A Very Dark Place they’re usually much less than MAX, not starting at 288. The max MAP for me in AVDP is as below

1 Like

I have same question as I only have power meter on road bike but only use HR on Gravel bike which is the bike I prefer to do my longer endurance training rides.

Thank you so much <3

1 Like

This is Great!
Thank you!

1 Like


Sorry for the rather long post…

First of all, thank you for your efforts in building this extension and making it available. Really appreciate it.
I’ve been playing with it and have some questions and potential ideas for improvement if you are open to the feedback.

I downloaded a .fit file viewer so I could visualize the actual values that were being exported and noticed that there may be some discrepancies between the intended outdoor workout ranges, and what the extension spits out.

It appears from the values I see, the extension takes the target power value and sets it as the “custom_target_value_low” and then sets the “custom_target_value_high” as the low value +10% (or whatever you set the extension options to in the pop up window). Unfortunately, I do not think this is what wahoo has intended… and likely doesn’t align with the outdoor workout ranges someone would see on a Wahoo head unit. (I don’t have a wahoo computer, so I can’t check this right now…)

On their website, wahoo explains how they modified their indoor workouts for outside. See here:

Per Wahoo:

How the target ranges are calculated:

  • FTP is broken into 5 broader zone ranges. This allows users more flexibility in following the workout correctly. It also reduces the number of intervals each session has to make them easier to follow outside.

    1. Zone 1 = 30-50% of target value
    2. Zone 2 = 51-75% of target value
    3. Zone 3 = 76-91% of target value
    4. Zone 4 = 92-101% of target value
    5. Zone 5 = 102-108% of target value
  • MAP is +/- 5% of target value

  • AC is +/- 8% of target value

  • NM is +/- 10% of target value

Based on this, I imagine your extension could/should be modified to follow the strategy above. If I am interpreting it correctly, I assume this means that the target power would be at the exact center of the power range for any given workout step. Then, the “low” and “high” power values would be equally spaced below and above the target power based on the breakdown above. This seems to be relatively straightforward for any workout steps that are considered MAP, AC, or NM focused, since the ranges simply apply a consistent +/- percentage around the target value for the particular workout step. However, it seems they further broke down the FTP focused steps into 5 zones. Currently, I interpret this in the following way:

It seems there are only 5 potential “Zones” that any FTP focused workout step can be set at. I believe the “zones” are equal to what is shown above, where “target value” represents the 4DP FTP value for the rider. For example, if your FTP is 300 watts, the zones would be the following:

Zone 1 range: 90-150 watts (30-50% of FTP) with target of roughly 40% FTP (120W)
Zone 2 range: 153-225 watts (51-75% of FTP) with target of roughly 63% FTP (189W)
Zone 3 range: 228-273 watts (76-91% of FTP) with target of roughly 83.5% FTP (250W)
Zone 4 range: 276-303 watts (92-101% of FTP) with target of roughly 96.5% FTP (290W)
Zone 5 range: 306-324 watts (102-108% of FTP) with target of roughly 105% FTP (315W)

It appears that these are the only possible workout ranges (for any FTP step) that would be used for this person who has an FTP of 300 watts. Any FTP focused workout step would have to match one of those ranges. This seems to make sense when you compare the graphs between Indoor and Outdoor workouts below (the number of steps are reduced, and the only remaining steps match one of the zones above). For the extension, you would need to apply the appropriate range around the target value, depending on which of these 5 zones the target falls within. So for example (for the 300w FTP person), if the output from systm shows a target power for a given workout step as around 120 watts, you know that it must be centered in zone 1, so you’d apply the 90-150 watt range to that particular step. This could be applied to any FTP step, based on which zone it falls into. Obviously, the ranges and target values would shift depending on the actual FTP value in someone’s profile.


Maybe the extension pop up window could be modified to allow the user to customize the ranges around each portion of their 4DP profile values, with some way to allow the further breakdown of the FTP section into the 5 zones shown above. I think the main change needed would be the ability to adjust the range that is applied above AND below the target, instead of the current output that only adds the range above the target power value. You could potentially have 8 ranges to modify (the 5 FTP zones, MAP, AC, and NM). Or, take away the ability for the user to modify, and simply apply wahoo’s strategy above which should match with the intended workouts sent to wahoo units.

If the extension were updated, it would be interesting to compare to the actual workout sent to a wahoo unit to verify, so maybe that could be a future test someone with a wahoo computer could do.

It also does not seem to be tracking the cadence targets. Is that possible to do?

Hopefully all this makes sense. I do not intend to criticize your extension, but instead help improve it to match what someone would see on a wahoo unit. Would love to hear your thoughts and would be happy to help collaborate on the extension to get it dialed in if I can help in any way.

Thanks so much,


Thank you Jessica, your extension works like a charm. For those like me who still use a Garmin device I made a datafield with Suf-style countdown for the last 10 seconds.
As their default workout screen is not to my liking :grin: