Skip to content

Free today. More features coming soon.See what’s coming

What Is a FIT Workout File? How Structured Workouts Reach a Bike Computer

Bike computers don’t read training plans — they read files. This guide follows one structured workout from a plan to a Garmin Edge, and shows exactly what goes into the FIT workout file on the way.

Published

The journey

  1. Training planweeks of workouts
  2. Workoute.g. VO2max 4 × 5
  3. Stepswarmup · 4 × work/recover · cooldown
  4. Structured workoutdurations + targets
  5. FIT workout file.fit
  6. Bike computerstep-by-step guidance
4×
  1. Warmup10 min50–65% FTP
  2. Repeat 4×
    1. Work5 min105–110% FTP
    2. Recover3 min50–60% FTP
  3. Cooldown10 min<60% FTP
The example used throughout this guide: VO2max 4 × 5 (10 min warmup, 4 × 5 min at 105–110% FTP with 3 min recovery, 10 min cooldown).

What FIT is

FIT (Flexible and Interoperable Data Transfer) is a compact binary file format defined by Garmin for fitness data. The same format is used for several kinds of file, each identified by a “file type” in the file’s header message.

Workout files vs activity files

FIT workout fileFIT activity file
DescribesWhat to do: steps, durations, targetsWhat happened: a recorded ride
Created byA coach, an app, or you — before the rideThe device, during the ride
ContainsWorkout and workout-step messagesRecords of power, heart rate, GPS, laps…
In SurgeIQ LabWhat “Download FIT” producesWhat you import from Strava

Inside a workout file

Garmin’s specification requires three kinds of message, in this order:

  1. File ID — marks the file as a workout.
  2. Workout — one message with the sport (cycling), the workout name and the number of steps.
  3. Workout steps — one per step, numbered from 0, in the order they are performed.

Each step carries an intensity (warmup, active, recovery, rest, cooldown), a duration (time, distance, or open — ended by the lap button), a target, and optionally a name and a note.

How targets are stored

Power and heart-rate targets can be relative or absolute, distinguished by reserved number ranges:

TargetStored asExample
Power, % of FTP0–1000 = percent of FTP105–110% → 105 / 110
Power, wattswatts + 1000250–280 W → 1250 / 1280
Heart rate, % of max0–100 = percent of max HR70–80% → 70 / 80
Heart rate, bpmbpm + 100135–150 bpm → 235 / 250
Cadencerpm, no offset95–105 rpm → 95 / 105

Why your FTP setting matters. A percent-of-FTP target stays a percentage in the file, and the device converts it using the FTP stored on the device. If the device’s FTP differs from the one you plan with, the watts on screen will too. SurgeIQ Lab keeps targets as percentages for exactly this portability.

How repeats are stored

A repeat is a special step placed after the steps it repeats. Its duration type is “repeat until steps complete”, its duration value points back to the first step of the block, and its target value is the number of repetitions. So “4 × (work, recovery)” is three messages — work, recovery, repeat — not eight.

A real encoded example

These are the workout-step messages SurgeIQ Lab’s exporter produces for the example workout (time durations are in milliseconds):

Loading the encoded example…

Step 3 is the repeat: duration value 1 means “repeat from step 1”, target value 4 means four times.

Getting it onto a device

  • Garmin Edge: connect by USB and copy the file into the Garmin/NewFiles folder; the device files it under workouts after you disconnect.
  • Garmin Connect / Wahoo direct sync: not available in SurgeIQ Lab. Both require approval through their developer programmes.
  • Trainer apps: SurgeIQ Lab can also export .ZWO (Zwift) and .ERG files for indoor sessions.

Limitations

  • FIT has no ramp step; SurgeIQ Lab exports a ramp as a steady range and warns you.
  • A workout file carries no calendar date. Plan exports name files by date or plan day instead.
  • Zone targets (e.g. “HR zone 2”) use the zones configured on the device.
  • How a device displays names, notes and secondary targets varies by model.

Where to go next

How this guide was written

Technical details follow Garmin’s published FIT documentation. SurgeIQ Lab writes files with Garmin’s official FIT SDK; compatibility claims are limited to what we have implemented. We have not verified loading FIT workout files onto Wahoo devices and don’t claim it.

Sources