GPX Viewer

Choose a GPX file from a GPS device or an app. The page reads the track and shows its distance, time, climb and descent, with the elevation along the way. The file is not uploaded.

Free Runs in your browser Checked Thursday, November 12, 2026

This tool runs in your browser. What you enter is not sent to us.

How to use it

  1. Choose a file with the extension .gpx from your device.
  2. Read the Distance and the Time of the track.
  3. Read the Climb, the Descent, the Lowest point and the Highest point.
  4. Look at the Elevation profile to see where the track climbs and where it descends.

How the figures are worked out

The distance adds up the great-circle distance between each pair of consecutive points in a track segment. The points are in decimal degrees on the WGS84 datum (GPX 1.1 schema). The distance uses the haversine formula on a sphere of mean radius 6,371 km, so it can differ a little from a measurement on the ellipsoid of the Earth.

Distance = sum of 2 x R x atan2(sqrt(a), sqrt(1 - a)), where a = sin2(dlat / 2) + cos(lat1) x cos(lat2) x sin2(dlon / 2) and R = 6,371 km
Climb = sum of the rises between consecutive points
Descent = sum of the falls between consecutive points
Time = latest timestamp minus earliest timestamp

What the figures do not include

  • Pauses: the time runs from the first timestamp to the last one, so a stop in the recording is part of it. The page does not work out a moving time.
  • Smoothing: GPS readings move a little from one point to the next, and every small rise or fall adds to the climb and the descent, so those totals can be larger than the true values.
  • Routes and waypoints: only the track (trk) is read, not planned routes (rte) or waypoints (wpt).
  • Other formats: only GPX files are read; KML and FIT files are not opened by this page.

Example: three points, 2.22 km

Three points on the equator, 0.01 degree of longitude apart, are 1,111.95 m apart at each step, so the track is 2,223.90 m, which the page shows as 2.22 km. Their elevations are 100, 130 and 110 m, one minute apart: the climb is 30 m, the descent is 20 m, and the time is 0:02:00.

Point Elevation (m) Time Distance so far (m)
1 100 0:00:00 0
2 130 0:01:00 1,111.95
3 110 0:02:00 2,223.90

Frequently asked questions

Does the viewer upload my track?

No. The file is read in your browser by the page's own code. It is not uploaded, and the page stores nothing.

Why is the climb larger than the difference between the highest and lowest point?

The climb adds up every rise between two points, so a track that goes up and down many times adds each rise. The difference between the highest and the lowest point is a single figure, and the climb can be much larger than it.

Why is the distance different from my watch or app?

A watch or an app measures distance by its own method, with its own smoothing and recording rate. This viewer adds the straight-line distances between the recorded points, so the two figures can differ.

Which version of GPX does the viewer read?

GPX 1.1, the version of the schema published at topografix.com. The track points with a latitude and a longitude are read from each track segment. A file with no track points cannot be shown.

Why does the time not match the time I spent walking?

The time runs from the first timestamp to the last one in the file, so a break in the recording is included. The page does not work out a separate moving time.

Can I open a file larger than 30 MB?

Not in this page: the browser has to read the whole file into memory, so the page accepts files up to 30 MB. Trim a larger file in a GPS editor before you open it.

Sources

Figures and text last checked on Thursday, November 12, 2026.

We use necessary cookies to run the site. With your consent, Google also uses advertising cookies to show personalised ads. If you reject them, you still see ads, but they are not personalised.