Awesome Open Source
Awesome Open Source


license GoDoc Build

fit is a Go package that implements decoding and encoding of the Flexible and Interoperable Data Transfer (FIT) Protocol. Fit is a "compact binary format designed for storing and sharing data from sport, fitness and health devices". Fit files are created by newer GPS enabled Garmin sport watches and cycling computers, such as the Forerunner/Edge/Fenix series.

The two latest versions of Go is supported. The core decoding package has no external dependencies. The latest release of Go and a few external dependencies are required for running the full test suite and benchmarks.

Latest release: 0.10.0

Note: 0.6.0 contains a breaking change, see #46.

FIT SDK Version Support

Current supported FIT SDK version: 21.40

Warning: Data Developers Fields are not yet supported (#21).

Older supported profile versions:

  • 21.38
  • 21.32
  • 20.90
  • 20.43
  • 20.27
  • 20.14
  • 16.20

Other profile versions may work, but have not been tested.


  • Supports all FIT file types.
  • Accessors for scaled fields.
  • Accessors for dynamic fields.
  • Field components expansion.
  • Go code generation for custom FIT product profiles.


Using Go modules:

$ go get[email protected]

Using $GOPATH:

$ go get

About fit


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
go (15,379
sdk (528
decoding (57
sports (33