Tool 01

FIT to text

Drop a workout file, get a report a coach can read and a per second CSV a machine can load. Load that respects the sport, drift measured on the steady part, your own zones.

← All tools

Your numbers

Optional, but the more you fill in the more the report can say. Threshold HR unlocks zones and heart rate load. Resting HR is what stops an easy run reading as tempo. Cycling FTP is used for rides only and never for runs. They stay on this device. The report updates as you type.

.FIT
Drop your file here
or pick one from your device

Nothing is uploaded. The file is read in your browser and never leaves it.

Session

Laps in order

The report


      
What goes into the report

Session comes straight from the file: sport, date in the local time the session was actually recorded in, distance, elapsed and moving time, pace or speed, heart rate, cadence including the fractional part, elevation, calories, strides and total work.

Load respects the sport. Garmin running power is a model on its own scale, so a cycling FTP is never applied to it. Runs get rTSS from threshold pace and HRSS from heart rate. Rides get power load from FTP. Whichever is used, the inputs are printed next to the number so you can check the maths.

Decoupling and drift use a steady window, not the whole session. If the file carries a structured workout the longest step is used, otherwise the middle 80 percent. A warmup ramp inside the first half is what makes an easy run look like it drifted, so it is left out and the whole activity figure is printed underneath, labelled.

Zones are anchored to your threshold heart rate, not a percentage of your maximum, because with a low resting heart rate every easy session reads as tempo under a percent of max model. The boundaries are yours to edit and they are printed in the report.

Every share of time is weighted in seconds, not counted in samples. Watches that record at a variable rate, or that pause, would otherwise report the wrong percentages.

The CSV is one row per recorded second with every channel the file carried, plus derived pace and cadence in steps per minute, and the lap and workout step each row belongs to. Hand it to an AI coach and it can compute anything you did not think to ask for.

Nothing is invented. If a field is missing from the file the line is left out rather than guessed, and if a number is missing because you did not enter something, the report says which one.