FIT Telemetry Converter is a simple yet powerful tool that turns your .FIT activity files (from Garmin, Wahoo, Bryton, Suunto, or any FIT-compatible device) into subtitles that overlay your speed, heart rate, cadence, power, and elevation directly on your ride or run videos — without re-encoding the video.
That means you can record your action camera footage and your cycling computer or smartwatch activity separately, then easily synchronize them later for YouTube or local playback — all without touching the video quality.
Don’t want to deal with command-line tools? Try the web version - it even supports YouTube sync! Click here for the web-based fitconvert.
This tool reads data from your recorded .FIT file (fitness telemetry) and exports:
- .VTT subtitles – directly usable by YouTube or media players (VLC, MPC-HC, etc.)
- .JSON files – for web previews, advanced integration, or custom overlays
You can then:
- Upload the
.vttfile to YouTube as captions (see YouTube captions upload guide) - Or place the
.vttfile next to your video locally for any modern player to show real-time telemetry while watching
No conversion or editing of the video file itself — subtitles simply "float" over playback.
Whether you're a cyclist, runner, or triathlete, you often record two things:
- A video of your ride or run
- A
.fitactivity file with telemetry (speed, power, heart rate, etc.)
FIT Telemetry Converter combines those worlds by letting you overlay your performance data directly on your video timeline — perfect for:
- YouTube uploads of races or rides with live metrics
- Training analysis videos
- Action camera footage synced with fitness sensors
All with zero video re-encoding, so your footage stays 100% original quality.
usage: fitconvert -i input_file -o output_file -t output_type -f offset -s N
| Flag | Description |
|---|---|
-i |
Path to .fit file (input data) |
-o |
Path to output file (.vtt or .json) |
-t |
Output type (vtt or json) – default is vtt |
-f |
Offset in milliseconds (optional, syncs telemetry start with video start) |
-s |
Smoothness value (optional, 0–5) – controls interpolation between data points for smoother graphs or frequent updates |
-v |
Values format: metric or imperial (optional, default metric) |
- Positive offset: your video started after the activity → move telemetry earlier
- Negative offset: you started recording the video before the FIT recording → delay telemetry to match
- Record a ride with your Garmin (or similar) and your action camera.
- Export the
.fitfile from your device. - Run:
(This applies a 3-second sync offset and smooths telemetry)
fitconvert -i ride.fit -o ride.vtt -f 3000 -s 3
- Put
ride.vttnext to your video file with the same name as video but with .vtt extension and play it — or upload it to YouTube as subtitles.
You can also "bake" subtitles into your MP4 file without re-encoding:
ffmpeg -i video.mp4 -i ride.vtt -c copy -c:s mov_text output.mp4This process is instant and keeps the original quality.
Local playback (Media Player Classic):
YouTube upload:
Watch on YouTube
Works on Windows and Linux. Tested with:
- Visual Studio 2019/2022 (Open as Folder)
- GCC on Ubuntu
- Uses Conan for dependencies and CMake as the build system
Example setup for Visual Studio 2022:
conan install . -s build_type=Release --build=missing
conan install . -s build_type=Debug --build=missing
cmake -B build -S . -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=build/generators/conan_toolchain.cmake
# Open build\fit2srt.slnMIT License Copyright © 2025[email protected] / CEZEO Software Ltd.
Part of this repository includes Garmin's FIT SDK (in the fitsdk/ folder), distributed under its respective license.
FIT Telemetry Converter is part of the CEZEO Software ecosystem — focused on creating efficient, portable, and open tools.
.:+oooooooooooooooooooooooooooooooooooooo: `/ooooooooooo/` :ooooo+/-`
`+dCEZEOCEZEOCEZEOCEZEOCEZEOCEZEOCEZEOCEZEOEZshCEZEOCEZEOEZ#doCEZEOEZEZNs.
:CEZEON#ddddddddddddddddddddddddddddddNCEZEO#h.:hdddddddddddh/.yddddCEZEO#N+
:CEZEO+. .-----------.` `+CEZEOd/ .-----------. `:CEZEO/
CEZEO/ :CEZEOCEZEOEZNd. `/dCEZEO+` sNCEZEOCEZEO#Ny -CEZEO
CEZEO/ :#NCEZEOCEZEONd. :hCEZEOo` oNCEZEOCEZEO#Ny -CEZEO
:CEZEOo.` `-----------.` -yNEZ#Ns. `.-----------.` `/CEZEO/
:CEZEONCEZEOd/.ydCEZEOCEZEOdo.sNCEZEOCEZEOCEZEOCEZEOCEZEOCEZEOCEZEOEZNEZEZN+
`+dCEZEOEZEZdoCEZEOCEZEOEZ#N+CEZEOCEZEOCEZEOCEZEOCEZEOCEZEOCEZEOCEZEOEZ#s.
.:+ooooo/` :+oooooooooo+. .+ooooooooooooooooooooooooooooooooooooo+/.
C E Z E O S O F T W A R E (c) 2025 FIT telemetry to subtitles converter