fileforge

FIT to GPX › Guides

Convert a folder of FIT files to GPX in one go

You are moving years of rides to a new mapping app, archiving a device before you reset it, or sending a season's activities to someone whose software only reads GPX. Converting files one by one is slow. Here is how to convert the whole folder at once and get one GPX per FIT file.

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

Steps

  1. Copy the FIT files to one folder. On most devices that record FIT files they sit in an Activity folder when the device is connected by USB. Copy them off rather than working on the device.
  2. Open the FIT to GPX converter. Check that "Convert each file to its own GPX (download as .zip) instead of merging" is ticked; it is by default on this page. Unticked, the files are merged into one track instead.
  3. Select all the files at once (Ctrl-A or Cmd-A in the file picker, or drag the whole selection onto the page). A new selection replaces the previous one, so add everything in one go. GPX and TCX files can be mixed in; each still becomes its own GPX.
  4. Check the per-file list. Each file gets a line with its format and point count. A file that was cut off by a flat battery or a crash is marked "damaged file, recovered every complete record". A file that cannot be read at all is left out of the list and of the download, so compare the number of files listed with the number you selected. A file with 0 points has no GPS positions (an indoor workout, for example).
  5. Read the summary. In each-file mode it says how many files were converted and how many points they hold in total; every GPX keeps all of its own file's points.
  6. Download the .zip (gpx-files.zip). Each GPX has the same name as its FIT file with .gpx on the end. If two inputs have the same name, the second gets -2 added.
  7. Track names. FIT files carry no track name, so each converted track is named after its file (for example ride-part1). GPX and TCX inputs keep their own track name.

Sample: seven FIT files, one of them damaged

Synthetic one-a-second recordings: a ride in three parts (the middle one cut off by a flat battery) and four days of a tour.

Before, as the converter lists the files:

ride-part1.fit (FIT): 1200 points
ride-part2-battery.fit (FIT): 898 points — damaged file, recovered every complete record
ride-part3.fit (FIT): 610 points
tour-day1.fit (FIT): 1800 points
tour-day2.fit (FIT): 1800 points
tour-day3.fit (FIT): 1800 points
tour-day4.fit (FIT): 1800 points

After: gpx-files.zip, 7 GPX files, about 130 KB zipped:

File in the .zipTrack pointsFirst point (UTC)Last point
ride-part1.gpx1,2002026-06-01 08:00:0008:19:59
ride-part2-battery.gpx8982026-06-01 08:25:0008:39:57
ride-part3.gpx6102026-06-01 08:39:5008:49:59
tour-day1.gpx1,8002026-06-02 08:00:0008:29:59
tour-day2.gpx1,8002026-06-03 08:00:0008:29:59
tour-day3.gpx1,8002026-06-04 08:00:0008:29:59
tour-day4.gpx1,8002026-06-05 08:00:0008:29:59

Every file keeps exactly the points it was read with, including the damaged one (898 of the 900 the device meant to write; the last two seconds were in the cut-off bytes). The ride parts overlap by 8 seconds between part 2 and part 3, and each file keeps its own copy. The summary line for the same selection said "9908 points in · 9900 points out · 8 exact duplicates removed": that is the merge figure, not the zip.

Things to know

Open the FIT to GPX converter