Add your GPX
Drop a GPX file anywhere on this page
.gpx · it never leaves the browser
Options
Your GeoJSON
Add a GPX file and the GeoJSON appears here, with its feature counts and anything this pair cannot carry.
What comes across, and what cannot
Preserved
- Geometry — points and lines come across coordinate for coordinate; nothing is reprojected, because both sides are WGS84 longitude/latitude.
- Every attribute survives, with its name intact.
- Elevation (the Z ordinate) is preserved where the source has one.
- Feature order is preserved, so a row in the output is the same feature as the row in your input.
Dropped
- Time as a dimension. GPX's TimeStamp and TimeSpan elements are read as ordinary attributes, which is as close as GeoJSON gets to a clock.
GPS Exchange Format (GPX)
What GPS units and fitness apps speak. It has exactly three containers — waypoints, routes and tracks — so it holds points and lines but has no concept of an area, and only a fixed set of fields per point.
.gpx · application/gpx+xml
GeoJSON (RFC 7946)
The web's lingua franca for vector data: plain JSON, WGS84 longitude/latitude, every geometry type, and an untyped property bag per feature. It carries no styling — colour and symbology belong to the map, not the file.
.geojson · .json · application/geo+json
Convert GPX to GeoJSON, step by step
- Step 1
Add your GPX
Drop a GPX file anywhere on the page, paste it, point at a URL, or press Sample to start from real data. Several files at once are fine.
- Step 2
Set what matters
Coordinate precision and simplification on every pair, plus the handful of settings this one needs.
- Step 3
Take the GeoJSON
Read the feature counts and the warning list, then download, copy, or open the result in the Spatly studio to style and publish it.
Your data never leaves the page
Every conversion, measurement and export happens client-side. Nothing is uploaded, logged or stored — you can even use this offline once the page has loaded. Only “Open in Studio” sends data, and only after you sign in.
Good to know
- What is preserved when converting GPX to GeoJSON?
- Geometry — points and lines come across coordinate for coordinate; nothing is reprojected, because both sides are WGS84 longitude/latitude. Every attribute survives, with its name intact. Elevation (the Z ordinate) is preserved where the source has one. Feature order is preserved, so a row in the output is the same feature as the row in your input.
- What is lost converting GPX to GeoJSON?
- Time as a dimension. GPX's TimeStamp and TimeSpan elements are read as ordinary attributes, which is as close as GeoJSON gets to a clock.
- Do I get my waypoints and my track?
- Both. Waypoints (<wpt>) become point features, tracks (<trk>) and routes (<rte>) become line features, and each track segment is kept as its own line so a paused recording does not join up into a straight line across the map.
- Are elevation and time kept?
- Elevation becomes the Z ordinate wherever the target format has one. Per-point timestamps are read as attributes; they are not a time dimension in GeoJSON.
- Is the GeoJSON valid RFC 7946?
- Yes: a single FeatureCollection, coordinates as [longitude, latitude], no CRS member — the RFC dropped it and mandates WGS84. Use the GeoJSON editor afterwards if you also want winding order and ring closure checked.
- Is my file uploaded anywhere?
- No. The GPX is read, converted and written entirely inside this page — there is no upload, no queue, no server-side copy and no size limit imposed by a plan. Large files are parsed in a background worker so the page stays responsive. The only action that transmits anything is Open in Studio, and that happens after you sign in and press it.
- Is there a limit on file size or number of files?
- There is no imposed limit; the practical ceiling is your browser's memory. Files over about 5 MB are handed to a web worker so the interface keeps responding, and you can drop several files at once — each is converted separately and the set can be downloaded as one zip.