GPX to FIT Converter (Garmin)

Convert a GPX track to a Garmin .fit activity file — entirely in your browser.

Ad placeholder (leaderboard)

A GPX to FIT converter lets you take a track recorded in any app that exports GPX and import it into the Garmin ecosystem, which speaks the binary FIT format. This tool builds a genuine FIT activity file in your browser — no upload — so your route and timing stay private while still being recognised by Garmin devices and Connect.

How it works

FIT is a binary protocol built from a header, a sequence of records, and a trailing CRC:

  1. File header (14 bytes): header size, protocol and profile version, the data-records length, the ASCII signature .FIT, and a CRC of the header itself.
  2. Definition messages describe the shape of the data messages that follow — which fields, their sizes and base types.
  3. Data messages carry the actual values. The converter writes a file_id message (type = activity) and one record message per GPX track point.
  4. Coordinates are stored as 32-bit signed semicircles: semicircles = round(degrees × 2^31 / 180). Timestamps are seconds since the FIT epoch (1989-12-31 00:00:00 UTC), and altitude uses FIT’s scale/offset ((metres + 500) × 5).
  5. A CRC-16 over the whole file (header + data) is appended using Garmin’s specified lookup-table algorithm.

The result is a byte-for-byte valid FIT file you can download and import.

Tips and notes

  • If your GPX track points lack timestamps, the converter synthesises a steadily increasing time so the activity still has a coherent timeline.
  • Elevation is optional; points without <ele> are written without an altitude value.
  • All track segments in the GPX are merged into a single record stream in document order.
  • The output is an activity FIT; it is intended for importing a completed track, not for live device recording.
Ad placeholder (rectangle)