Add your TCX file
Drop one or more .tcx files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Converting a .tcx font to .geojson repackages the same glyphs and metrics for a different delivery target. Free, private, and validated — the file never leaves your browser.
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.Converting a .tcx font to .geojson repackages the same glyphs and metrics for a different delivery target. A .tcx file is Garmin's Training Center XML: an activity file that records not only where you went but how the effort was structured — laps, heart rate, cadence, power and calories — alongside the positional track. It is a fitness format first and a geographic one second.
A .geojson file encodes geographic features as JSON: geometries such as Point, LineString and Polygon, each optionally carrying a free-form properties object, usually collected in a FeatureCollection. It is the format web mapping actually runs on. For this route the practical draw is parses with a standard JSON library — no GIS stack required and a fixed coordinate reference system removes a whole class of projection errors — balanced against verbose and large for dense geometry, with no built-in compression, which is worth knowing before you commit a large batch.
The practical trigger for this conversion is usually a mismatch: with .tcx, more verbose than GPX for the same track. Switching to .geojson buys you parses with a standard JSON library — no GIS stack required, which is why it is the better fit for rendering geographic data in Leaflet, Mapbox or OpenLayers. Because the conversion runs locally, trying it costs nothing but a few seconds of compute on your own machine.
| Aspect | Training Center XML (.tcx) | GeoJSON (.geojson) |
|---|---|---|
| Format type | Text-based — characters and structure, so there is no visual quality loss | Text-based — characters and structure, so there is no visual quality loss |
| How it stores data | activities contain Laps, and Laps contain a Track of Trackpoints — a stricter hierarchy than GPX's | coordinate order is longitude, latitude — the reverse of how people say it, and the single most common source of bugs |
| Strongest at | exporting a structured workout from a Garmin device | rendering geographic data in Leaflet, Mapbox or OpenLayers |
| Weak spot | more verbose than GPX for the same track | verbose and large for dense geometry, with no built-in compression |
| Metadata | positions, timestamps and altitude are preserved. Heart rate, cadence, lap aggregates and sport type have no equivalent in GPX, GeoJSON or KML and are not carried across | geometry and the properties object are preserved. Styling is not part of the format, so a conversion from KML loses that presentation information rather than GeoJSON dropping it |
Drop one or more .tcx files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Select .geojson in the output menu next to each file. The menu only offers targets this engine can genuinely produce, so if GEOJSON is selectable, the route is real and validated.
Press Convert. The font tables are parsed and rewritten locally with fonteditor-core; glyph outlines, hinting, and kerning survive the trip.
Each result is signature-checked before the download unlocks, so a failed encode can never masquerade as a valid GEOJSON file. Outputs keep the original filename with the .geojson extension.
There is no visual quality to lose — tcx is text-oriented and geojson is text-oriented, so the question is structural fidelity. Text, ordering, and basic structure are preserved; complex layout, embedded objects, and styling beyond the target's model are simplified.
Yes — the .tcx file is processed inside your browser tab and never uploaded. The font tables are parsed and rewritten locally with fonteditor-core; glyph outlines, hinting, and kerning survive the trip. Close the tab and the file is gone from memory.
Read by Leaflet, Mapbox GL, OpenLayers, QGIS, PostGIS, GDAL and GitHub, which renders it inline. Novus Convert parses it locally and converts to GPX, KML, TopoJSON and WKT.
It depends on the content: coordinate order is longitude, latitude — the reverse of how people say it, and the single most common source of bugs. Convert one representative file first and compare before batch-processing a large set.
In .tcx, positions, timestamps and altitude are preserved. Heart rate, cadence, lap aggregates and sport type have no equivalent in GPX, GeoJSON or KML and are not carried across. Re-encoding through the browser pipeline does not carry embedded metadata into the output, which doubles as a privacy scrub — check the exported file if you specifically need tags preserved.