Merge FIT Files From a Ride Your Bike Computer Split in Two

Join a ride your bike computer saved in two or more parts, after a restart or a flat battery. FIT, GPX and TCX go in; one TCX or GPX comes out, in time order, with the distance carried over. Your file is not uploaded.

Read in your browser. Your file is not uploaded.

One ride again. Now train on it. Start Free Today

When merging makes sense

The usual case is one ride saved as several files: the unit restarted, the battery was swapped at a café stop, or you pressed save instead of pause. Merging turns the parts back into one activity with one total distance and time.

It also works for a ride recorded partly on one device and partly on another, as long as the parts do not overlap much in time.

How the files are joined

  1. The parts are ordered by the time of their first record, whatever order you add them in.
  2. Where two parts overlap in time, the one that started first wins, and the overlapping records of the other are dropped and counted.
  3. Distance continues from where the previous part ended, so the total is the sum of the parts.
  4. Each original file becomes a lap in the result, so you can still see where the break was.

Why the result is TCX or GPX, not FIT

A valid FIT needs a correct session summary, lap messages and activity message written in the FIT binary layout, and a platform will reject one that is subtly wrong. TCX is the safer container: it keeps laps, distance, heart rate, cadence, speed and power, and training platforms accept it for upload.

Choose GPX instead if you only need the track for a mapping app. It keeps position, elevation and time, with heart rate, cadence and power in its extension fields.

Before you upload the merged ride

Delete the separate parts from your training platform first. A merged ride covers the same time as the parts, and platforms that check for duplicates may refuse it while the parts are still there.

Your file stays on your computer

The file is read by JavaScript running in this browser tab. It is never uploaded: there is no server on the other end that could receive it, and the page makes no network request with its contents.

You can check that yourself. Open your browser's developer tools, go to the Network tab and drop a file in. You will see the page's usual requests, such as the site's analytics and, the first time you open a FIT file, the file reader loading. None of them carries your file.

What this tool will not do

×

Summary figures are recalculated

The parts' own summaries (calories, Normalized Power) cannot simply be added up, so the result carries the records and laps, and your platform calculates the totals when you upload it.

×

The gap stays a gap

If there are ten minutes between two parts, the merged ride has a ten-minute gap. The tool does not invent records to fill it; the result tells you how long each gap is.

×

Different sports are not mixed

Merging a ride with a run would produce one activity with one sport. Merge parts of the same activity only.

Where this comes from

  1. Garmin. FIT protocol: file structure, record headers and the CRC-16 used to check a file. Source
  2. Strava. Upload file formats: which GPX and TCX extension fields Strava reads (heart rate, cadence, temperature and power). Source
  3. TopoGrafix. GPX 1.1 schema. Source
  4. fit-file-parser, the open-source (MIT) library this page uses to read FIT files. Source

Common questions