Convert FIT (device activity file) to GeoJSON

Your file never leaves your device — conversion happens here in your browser.

GeoJSON exists to move geographic data between mapping libraries and GIS software, and unlike KML it was built with room for arbitrary per-point properties, which is what makes it a genuinely lossless target for a FIT file rather than a route-only sketch. Every channel a FIT file can contain — latitude, longitude, elevation, timestamp, heart rate, cadence, power, temperature, distance, speed — comes across intact, with the per-point sensor readings stored inside a coordinateProperties object attached to the LineString geometry, following the same convention the widely used togeojson library established, so tools already built around that pattern will read this output correctly without any adapter. Timestamps keep FIT's millisecond precision, and there's no lap structure in the result, since GeoJSON's geometry-and-properties model has no native concept of laps any more than a plain LineString does. Where this format earns its place among five different FIT export targets is downstream: if you're building something with Mapbox GL, Leaflet, deck.gl, or loading a route into QGIS or another GIS package for spatial analysis, GeoJSON is the format those tools expect natively, and getting a FIT file into that shape by hand would mean writing your own parser for a binary protocol most people never need to think about. This tool does that parsing and re-encoding entirely inside your browser tab, in a background worker, so a large multi-hour recording doesn't stall the page, and the file is never sent to a server to be converted — it stays on your device throughout. Free for files up to 25 MB, three per batch.

Questions

Where does the sensor data live in the GeoJSON output?

Inside a coordinateProperties object on the LineString feature, following the same convention the togeojson library uses, so mapping and GIS tools built around that pattern read it without modification.

Does converting FIT to GeoJSON lose any data?

No — every channel FIT supports, including power and temperature, converts across fully, along with full millisecond timestamp precision.

Can I load the output into QGIS or a similar GIS package?

Yes, GeoJSON is a format GIS software reads natively, which is the main reason to pick it over KML if you plan to do spatial analysis rather than just view the route.

Are lap boundaries included in the GeoJSON?

No — GeoJSON has no native lap concept, so lap markers from the FIT file are not represented in the output.