Calculator · Data tools

FIT file merger.

Stitch a split-up activity back into one continuous .fit

When one intended ride or run ends up recorded as two or three separate .fit files, battery died and the device restarted, you accidentally hit stop / start at a coffee stop, the head unit recorded the coffee break as its own activity, this tool stitches them back into a single continuous FIT file. Two modes: stitch (treat as one continuous effort with no gap) or preserve (keep the real timestamps, gaps and all). Runs entirely in your browser, no upload.

1. Drop your .fit files

Two or more files from the same intended activity. They’ll auto-sort by start time. You can reorder or remove any after upload.

Drag and drop your .fit files here

or

No files loaded.

2. Files in order

Sorted oldest first. Use ▲ / ▼ to reorder, ✕ to remove. Gaps between files are shown below each row.

3. Gap mode

What to do with the time between the end of one file and the start of the next.

4. Merge preview

For multi-device merges: full functionality on Grepiac

This tool covers the sequential case: one activity split across two or more files in time. If you’re trying to combine data recorded simultaneously on two or more devices (e.g. one head unit has power + HR, another has power + Stryd running power + Moxy SmO2), that’s the parallel-merge case and it needs clock alignment, sampling-rate matching, per-field conflict resolution, and developer-field preservation.

That belongs on Grepiac where merges can be saved to your athlete profile and replayed on future activities. It’s coming as part of the Grepiac data-tools build.

Scope & honesty notes

  • v1 preserves the standard record fields: timestamp, GPS lat/long, altitude, heart rate, cadence, distance, speed, power, temperature. Distance is re-accumulated across files for a continuous total.
  • Lap, session, and event messages from the input files are not carried across; the merged file emits a fresh activity record. TrainingPeaks / Strava / intervals.icu will recompute their own laps + summaries on re-upload.
  • Developer fields (Stryd form power, Moxy SmO2, EO SwimBETTER force vectors, etc.) are not preserved in v1. They live in the parallel-merge case on Grepiac.
  • Multi-sport stitching (a swim file followed by a bike file) is out of scope: the output is a single-sport activity. For multi-sport, use the multisport splitter in reverse, then merge legs of the same sport.
  • Everything runs in your browser. Your files don’t leave your device.