GPX viewer

Drop a GPX file from your watch, bike computer or app and see the track on the map, with its length, time, pace, climb and an elevation profile.

How to use it

  1. Drop the GPX file on the panel.
  2. Read the distance, time, speed and pace, and the elevation gain with the profile.
  3. Click the track on the map for its name. Export as GeoJSON or KML.

5 practical uses

  1. Look at a run, a ride or a hike recorded by a watch or a phone.
  2. Check the distance, pace and climb of a track.
  3. Preview a route file before loading it onto a GPS.
  4. Convert a GPX track to GeoJSON or KML.
  5. Compare tracks by loading them one after another.

The maths behind it

The track length is the sum of the haversine distances between consecutive points. Time is the difference between the first and last timestamps; speed is length over time, pace its inverse. Elevation is smoothed with a five-point moving average and the gain is the sum of the positive differences, the loss the sum of the negative ones, which is why it depends on the smoothing.

Reading the numbers

Distance is the sum of the straight lines between the recorded points, so a track with few points reads a little short on bends. Elevation gain adds up every climb; GPS heights are noisy, so the track's elevation is smoothed a little before summing, which is what most apps do too, and figures still differ from app to app. Time is from the first to the last point of the track.

Questions and answers

Why does the elevation gain differ from my app?

GPS heights are noisy. Every app smooths them differently before adding up the climbs, so the figures differ by app. The page smooths over five points.

My file has no elevation. What happens?

The heights are fetched for a sample of points along the track from the elevation service.

Is the distance exact?

It is the sum of the straight lines between recorded points, so a track with few points reads a little short on bends.

Embed this tool on your website

Paste this code where the tool should appear. It shows the tool alone, without this page's text, and links back here. It is free to use; the map data credit stays on the map.

<iframe src="https://waymorphic.com/tools/gpx-viewer?embed=1" width="100%" height="760" style="border:0;border-radius:12px;max-width:100%" loading="lazy" allow="geolocation; fullscreen; clipboard-write" title="GPX viewer – Waymorphic Map"></iframe>

Change height to suit your page. To open the tool with a place already set, add the settings from this page's address bar (the part after #) to the end of the src. The embedded tool asks the visitor's browser for their location only when they press the button, and the allow attribute lets that work inside the frame.