fileforge

Merge GPX/FIT › Guides

Combine a multi-day tour into one GPX file, one segment per day

A bikepacking trip, a long-distance walk or a week of touring leaves you with one activity file per day. For a trip map or to share the whole route you want one file. Here is how to stack the daily files into a single GPX, with each day still separate inside it.

Verified sample Steps and sample produced by running this site's converter on synthetic files.

Steps

  1. Gather the daily files in one folder. FIT files straight from the device, GPX or TCX exports, or a mix. A day that ended with a flat battery can go in as it is: a FIT file cut short is repaired while it is read.
  2. Open the merge tool and tick "Keep each original segment separate". Leave "Convert each file to its own GPX" unticked; that option gives separate files instead of one. With it ticked, each day stays its own track segment. Without it, all days are joined into one continuous line, which draws a straight jump from each night's stop to the next morning's start.
  3. Select every day's file at once (Ctrl-click or Cmd-click in the file picker, or drag the whole selection onto the page). A new selection replaces the previous one, so add them all together.
  4. Leave the order to the tool. When every point has a timestamp, segments are put in order of their first point, so day 1 comes first whatever order the files arrived in. The tick box can be changed after the files are read; the result updates without reading them again.
  5. Check the summary. You should see one line per file with its point count, the number of segments (one per file for FIT files), and points in equal to points out unless two days overlapped.
  6. Download merged.gpx. The track is named "Merged track", or after the first named track found in a GPX or TCX input; rename it in your mapping app if you like.

Sample: four daily FIT files, dropped newest first

Synthetic one-a-second recordings, 30 minutes per day, each day starting where the last one ended.

File (in drop order)FormatRecorded (UTC)Points read
tour-day4.fitFIT5 June 2026, 08:00 to 08:291800
tour-day3.fitFIT4 June 2026, 08:00 to 08:291800
tour-day2.fitFIT3 June 2026, 08:00 to 08:291800
tour-day1.fitFIT2 June 2026, 08:00 to 08:291800

After, with "Keep each original segment separate" ticked:

4 file(s) · 7200 points in · 7200 points out · 0 exact duplicates removed · 4 segment(s)
All points had timestamps, so the track is in time order.
<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.1" creator="fileforge" xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1">
<trk><name>Merged track</name>
<trkseg>
<trkpt lat="46" lon="7"><ele>40</ele><time>2026-06-02T08:00:00.000Z</time>…<gpxtpx:hr>101</gpxtpx:hr>…</trkpt>
… 1,799 more points from day 1
</trkseg>
<trkseg>
<trkpt lat="46.108" lon="7.072"><ele>40</ele><time>2026-06-03T08:00:00.000Z</time>…<gpxtpx:hr>102</gpxtpx:hr>…</trkpt>
…
</trkseg>
<trkseg>
<trkpt lat="46.216" lon="7.144"><ele>40</ele><time>2026-06-04T08:00:00.000Z</time>…
…
</trkseg>
<trkseg>
<trkpt lat="46.324" lon="7.216"><ele>40</ele><time>2026-06-05T08:00:00.000Z</time>…
…
</trkseg>
</trk>
</gpx>

Day 1 comes out first even though it was added last. With the box unticked, the same four files give a single segment of 7,200 points.

Things to know

Open the merge tool