I have three choices of file format to use for automatic uploads from my device to Strava: GPX TCX FIT.

Which if these will provide the best data? Are there other issues that distinguish them — such as accuracy or file size — that I should consider?

  • The newest Garmin devices talk in terms of FIT files so I'd imagine this is the most appropriate of the three. To be honest I've only come across the other two in the context of planning a route (as opposed to recording an activity, which is what you're talking about isn't it?)
    – PeteH
    Commented Mar 15, 2014 at 13:29
  • @PeteH: Yes, activity.
    – orome
    Commented Mar 15, 2014 at 13:43
  • 4
    Downvote? Just curious. I've never understood how this site is managed. For me it's been by far the hardest of the SE sites to get any useful information out of.
    – orome
    Commented Mar 15, 2014 at 13:46
  • 1
    Not an answer, but I've used both an iphone and an android phone for strava, and you simply hit "save" at the enf of your ride/run. There's no visible file format, all handled by the app itself.
    – Criggie
    Commented Sep 9, 2015 at 1:30

1 Answer 1


TCX and FIT are designed for fitness activities, so they can contain more fitness data than GPX.

eg TCX or FIT supports laps (splits). So your device could record a new lap whenever you press the lap button, or automatically after a set distance, eg every 1km. Also they support pauses, if you want to stop the activity at one point, then start again later. Whereas GPX is essentially just a series of points (with timestamps).

I am not sure whether Strava actually uses the laps or pauses recorded on the device, I suspect it will recalculate them anyway, based on the GPS points and time.

As standard, GPX does not support heart rate, cadence or power data. But this can be added with extensions. The most popular format for these extension was created by Garmin, it is also supported by a variety of other software/websites (including Strava). But some devices might record heart rate/cadence in a different format in the GPX file.

TCX or FIT can also contain summary data, for the whole activity. eg the total time, distance, calories, device used, type of sport. Some of this is used by Strava, eg to display the device, or automatically select the activity type.

TCX and GPX are both XML formats, which can be fairly inefficient in terms of file size. But this does mean they can be easily edited, eg in a text editor. FIT is a binary format, so is much smaller file size, typically about 1/10 of the size. File size is usually not a problem anyway - even if you are recording at 1 point per second, a 3 hour activity would be about 1MB in GPX format. So not really an issue, unless your device has very limited memory, or a slow internet connection for uploading.

So in general, you probably won't notice much difference between formats for uploading to Strava. Though TCX or FIT may give you a bit more data. And FIT would be a smaller file size.

  • A good answer. Strava uses the lap markers (and displays them on the activity page)
    – dbr
    Commented Mar 17, 2014 at 9:09
  • Very detailed, I would add that you should send the files in your device's native recording type to loose a minimum of data. e.g. Garmin devices uses FIT files so I would send using FIT. In your case it seems your application can do all 3 equally, maybe one of them is closer to what the app uses internally, if so, I would use that one.
    – Bibz
    Commented Sep 8, 2015 at 12:28
  • I haven't found a way to correctly import pauses to STRAVA. GPX has trkseg, but STRAVA counts distance between track-segments as if it was part of the activity. When writing multiple SessionMsgs, importing them to STRAVA creates multiple activities. Does anybody know how to do this?
    – hgoebl
    Commented Oct 1, 2017 at 13:04
  • I'm writing Strava integration for my app and Strava API allows gzipping of both TCX and GPX, so that can help with the size bloat. It depends on the software I gues sif ti utilizes that.
    – Csaba Toth
    Commented Sep 13, 2020 at 5:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.