Bicycles Stack Exchange is a question and answer site for people who build and repair bicycles, people who train cycling, or commute on bicycles. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
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 Mar 15 '14 at 13:29
@PeteH: Yes, activity. – 2u2 Mar 15 '14 at 13:43
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. – 2u2 Mar 15 '14 at 13:46
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 Sep 9 '15 at 1:30
up vote 7 down vote accepted

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.

share|improve this answer
A good answer. Strava uses the lap markers (and displays them on the activity page) – dbr Mar 17 '14 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 Sep 8 '15 at 12:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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