July 13, 2023

Garmin FIT files - analysis

How much can we learn about a FIT file before we start reading documentation.
file carrie.fit
carrie.fit: FIT Map data, unit id 84050944, serial 1409286145, Fri Dec 20 09:32:38 2024, manufacturer 4741, product -193, type -1
Trying to look at it with an editor is useless, it is some binary format.
Happily, it is much more compact than a GPX file (as you might expect given the bloat and redundancy involved in XML).
-rw-r--r--   1 tom tom  48980 Jul 13 11:55 carrie.fit
-rw-r--r--   1 tom tom 201168 Jul 14 12:22 carrie.gpx
As much as I dislike change of any sort, XML is terrible, so anything else will be an improvement.

Garmin calls it a "protocol" rather than a file format, which is a bit surprising. They use it for data exchange between ANT devices so maybe that word does make sense. It stands for "Flexible and Interoperable Data Transfer", but that has to just be an excuse to use the cute "fit" word as in fitness.

After a peek at the documents, the first question that arises is -- is this compressed? If so, it is probably compressed with a small header and trailing checksum.

But all this is speculation. We won't get far without getting our hands dirty with documentation and some code. I select the python FIT decoder in the list below.
More elsewhere.

Online resources and documentation


Have any comments? Questions? Drop me a line!

Tom's backpacking pages / tom@mmto.org