Upload a .gpx file and convert your GPS tracks, routes, and waypoints to GeoJSON format instantly — entirely in your browser, with no server upload and no account required. Preview the result on a map, inspect the output, and download your .geojson file in seconds.
From GPS Device to Web Map in One Step
GPX is the universal language of GPS devices and outdoor apps. Whether you record a morning run on a Garmin watch, log a cycling route on a Wahoo computer, track a hiking trail on OsmAnd, or export an activity from Strava — the file you get is a GPX. And GPX is great for what it does: it captures your path, timestamps, elevation, and waypoints in a portable XML format that any GPS app can read.
But the moment you want to do something creative with that data — embed a track in a website, load it into a data visualisation, process it with Python or R, or push it into a database — you run into GPX''s limitation: it is not a web format. GeoJSON is. Converting your GPX to GeoJSON takes about three seconds with this tool, and the result is a file that every mapping library on the planet accepts natively.
Frequently Asked Questions
What is the difference between a GPX track and a route?
Both represent a sequence of geographic points, but serve different purposes. A track is a recording of where you actually went — logged automatically by your GPS device as you moved, with timestamps and elevation readings. A route is a planned path — a list of waypoints defining where you intend to go, without timing data. In GeoJSON output, both appear as LineString features, but track features include coordTimes arrays with ISO timestamps while route features typically have only name and description metadata.
Is my GPX file uploaded to a server?
No. Your GPX file is read entirely in your browser using the FileReader API and converted using the @tmcw/togeojson library running locally. The file bytes never leave your computer — nothing is uploaded to OnlineMapMaker's servers or any third-party service. The only network traffic from this page is the map tile images, which send tile coordinates only. This makes the converter safe to use with confidential survey data, private GPS tracks, or sensitive route information.
What does the coordTimes property in the GeoJSON mean?
When your GPX file contains timestamps on each track point, these are preserved in GeoJSON as a coordTimes property — an array of ISO 8601 timestamp strings, one for each coordinate in the LineString. This array has the same length as the coordinates array, so you can pair each point with its timestamp. Tools like Kepler.gl and deck.gl can use this temporal data to create time-animated visualisations of your GPS track.
How do I get a GPX file from Strava?
In Strava, open any activity page and look for the Export GPX option under the three-dot menu or the activity detail panel. Click it to download the .gpx file. The exported file contains your full track recording with timestamps and elevation data. Upload this file to this converter and download the resulting GeoJSON for use in any mapping application. Strava requires you to be logged in and own the activity to export it.
Why convert GPX to GeoJSON?
GPX (GPS Exchange Format) is designed for GPS device interchange — excellent for recording tracks between GPS units and apps. For web mapping, data visualisation, and modern GIS workflows, GeoJSON is the preferred format. GeoJSON is natively understood by every JavaScript mapping library (Leaflet, Mapbox GL JS, deck.gl, OpenLayers), renders automatically in GitHub repositories, works with QGIS and ArcGIS Online, and is a cleaner input for data processing pipelines. Converting GPX to GeoJSON unlocks all of these use cases without losing any original track data.
Can I use the converted GeoJSON file in QGIS or ArcGIS?
Yes. GeoJSON is natively supported in both QGIS and ArcGIS. In QGIS: Layer → Add Layer → Add Vector Layer, select GeoJSON as the format and browse to your file. Or drag the .geojson file directly into the QGIS layers panel. In ArcGIS Online: use the Add Layer from File option in Map Viewer. In ArcGIS Pro: drag the .geojson file into the Contents pane or use Add Data. All tracks, routes, and waypoints appear as separate vector layers with original attributes preserved.
Does the converter preserve elevation data?
Yes. GPX stores elevation as the third coordinate value on each track point. This is preserved in GeoJSON as the Z value in each coordinate — for example [longitude, latitude, elevation_in_metres]. GeoJSON fully supports 3D coordinates. Most mapping tools will use the Z value when present, and you can access it in any GIS software or JavaScript library. Elevation is stored in metres as originally recorded by your GPS device.
Some of my waypoints are missing from the GeoJSON — why?
This usually happens for one of three reasons. (1) Some GPX files place waypoints inside a track rather than as standalone waypoint elements — such waypoints appear as track coordinates rather than named Point features. (2) Waypoints may have been defined using a non-standard namespace extension not recognised by the converter. (3) The GPX may have nested structures with waypoints the parser does not traverse. Open the GPX in a text editor and check that each waypoint uses the standard structure with lat and lon attributes.
Can I convert multiple GPX files at once?
Currently the converter handles one GPX file at a time. Loading a new file replaces the previous conversion. If you need to merge multiple GPX tracks into a single GeoJSON FeatureCollection, convert each file separately and merge the resulting GeoJSON files by combining their features arrays. Use a text editor or jq on the command line, or load multiple GeoJSON files in QGIS and export them as a combined file.
What GPX elements are converted to GeoJSON?
This converter handles all standard GPX 1.0 and 1.1 elements. Track segments become LineString or MultiLineString features. Routes become LineString features. Waypoints become Point features. All metadata — name, description, comment, type, link, and source attributes — are preserved as GeoJSON properties. Timestamps from track points are stored as a coordTimes array. Garmin extensions (heart rate, cadence, power, temperature, speed) are captured as coordinateProperties if present.
Watch: GPX to GeoJSON Converter in Under a Minute
Prefer to watch instead of read? This short walkthrough covers uploading a GPX track and converting it to GeoJSON.
What Is GeoJSON and Why Is It Better for Web Mapping?
GeoJSON is an open standard (RFC 7946) for encoding geographic data structures using JSON. It represents the same types of data as GPX — points, lines, and polygons with associated properties — but in JSON format rather than XML. This makes it directly parseable by JavaScript without any special library, natively understood by web browsers, and compatible with every tool in the modern geodata stack.
A GeoJSON FeatureCollection looks like this at its core:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [[8.0394, 46.6244, 1035], [8.0741, 46.6262, 1082], ...]
},
"properties": {
"name": "Morning Hike",
"coordTimes": ["2024-07-15T06:30:00Z", "2024-07-15T06:38:00Z", ...]
}
}
]
}The third number in each coordinate is the elevation in metres, preserved directly from your GPX file. The coordTimes array preserves the timestamp of every recorded point — so your GeoJSON retains the full temporal record of your GPS track, not just the geometry.
Common Use Cases
🏗️
GIS Workflows
Load the converted GeoJSON directly into QGIS or ArcGIS Online for desktop GIS analysis, spatial joins, or further export to other formats (Shapefile, KML, CSV with coordinates).
⏱️
Time-Animated Visualisations
The converter preserves GPS timestamps as coordTimes arrays. Tools like Kepler.gl and deck.gl can animate your track over time — showing the actual progression of a run, hike, or vehicle route as a moving trail.
🥾
Outdoor Activity Sharing
Export your Strava, Garmin, Wahoo, or Komoot activity as GPX, convert it here, and upload the GeoJSON to GitHub — which renders an interactive map preview automatically — or to Felt, Carto, or any mapping SaaS.
🔍
Verify GPS Accuracy
The map preview lets you visually verify that your GPX data converted correctly. Overlay on satellite imagery to confirm tracks follow roads, trails, or shorelines as expected — catching GPS drift or format issues early.
📊
Data Analysis & Processing
GeoJSON integrates cleanly with Python (GeoPandas, Shapely), JavaScript (Turf.js), R (sf package), and databases (PostGIS). Converting GPX first makes your GPS data available to the full geodata toolchain.
🗺️
Web Mapping Projects
Convert hiking routes, cycling tracks, or running paths from your GPS device to GeoJSON for embedding in a web map built with Leaflet, Mapbox GL JS, or deck.gl. GeoJSON loads natively with no extra parsing step.
What Data Is Preserved in the Conversion?
This converter uses the @tmcw/togeojson library, which provides one of the most complete GPX-to-GeoJSON conversions available. Here is what comes across:
- Track geometry — all track segments, with coordinates (longitude, latitude, elevation). Multi-segment tracks become MultiLineString features.
- Route geometry — all route points, converted to LineString features.
- Waypoints — all waypoint elements, converted to Point features with name, description, elevation, and symbol.
- Timestamps — per-point timestamps stored as coordTimes arrays in the feature properties.
- Garmin extensions — heart rate, cadence, speed, power, temperature from TrackPointExtension, stored as coordinateProperties.
- Metadata — track name, comment, description, type, and source attributes, preserved as feature properties.
Step-by-Step Guide

Step 1
Converter Loads Ready to Use
The GPX to GeoJSON converter opens with an empty map and the sidebar showing the upload zone, GeoJSON preview panel, colour picker, basemap controls, and action buttons. No account or installation is needed.

Step 2
Drop GPX File onto the Upload Zone
Drag your .gpx file from anywhere on your computer and drop it onto the dashed zone, or click the zone to open a file picker. GPX 1.0 and GPX 1.1 are both supported. Files from Garmin, Wahoo, Strava, Komoot, OsmAnd, and all major GPS apps work.

Step 3
Track Appears on Map, Stats Shown
Within moments your GPX features appear as an overlay on the map — tracks and routes as lines, waypoints as circle markers. The sidebar shows the conversion stats: total features, tracks/routes, waypoints, and total coordinate count.

Step 4
GeoJSON Preview with Copy Button
The GeoJSON Preview section shows the first lines of the converted JSON output. You can copy the complete GeoJSON to your clipboard with a single click — useful for pasting directly into Mapbox, Leaflet code, a text editor, or geojson.io for further editing.

Step 5
Waypoints Show as Clickable Markers
Waypoints from your GPX file appear as circle markers on the map. Click any waypoint to see a popup showing its name, latitude/longitude, and elevation. This lets you verify that all your named points converted correctly before downloading.

Step 6
Topo Basemap for Terrain Context
Switch to the Topo basemap to see elevation contours beneath your GPX track. This is particularly useful for hiking, cycling, or ski runs where understanding terrain shape confirms the conversion accuracy for elevation-rich GPX data.

Step 7
Satellite View to Verify GPS Accuracy
Overlay your converted track on high-resolution satellite imagery to verify that GPS points fall where expected — roads, trails, coastlines, or field boundaries. Helps catch coordinate system issues before using the file in a production mapping project.

Step 8
Change Preview Colour Anytime
Choose a custom colour for the map preview layer using the picker or preset palette. The colour only affects how the features appear on screen — it has no effect on the GeoJSON output, which is a data format, not a styled format.

Step 9
Download the GeoJSON File
Click "Download GeoJSON" to save the converted file to your computer. The file is named after your original GPX filename with a .geojson extension. It is ready to use in QGIS, ArcGIS, Mapbox, Leaflet, GitHub, deck.gl, or any GeoJSON-compatible tool.

Step 10
Zoom to Features at Any Time
After panning around to explore your track on different basemaps, click "Zoom to Features" to snap the view back to the full extent of your GPX data. You can upload a new file at any time — the previous layer is automatically replaced.
Related Tools
Map tiles © OpenStreetMap contributors, drawn with Protomaps (hosted by KONAKTIVE), with CARTO as the fallback. Topographic map: OpenTopoMap. Satellite imagery: Esri. GPX reading: @tmcw/togeojson. Map rendering: Leaflet. Your files are read in your browser and are never uploaded to a server.