GPX Analyzer

Paste a GPX track and see distance, elevation gain/loss, duration, average speed and pace. Works for runs, rides, hikes and routes. Runs in your browser; nothing is uploaded.

Track statistics

About this tool

GPX Analyzer reads a GPX file — the GPS track exported by a sports watch, phone app, bike computer, or route planner — and summarizes it:

It reads <trkpt> (track), <rtept> (route), and <wpt> (waypoint) points, so it works for recorded activities and planned routes alike.

Everything is computed locally in your browser via WebAssembly — your GPX file is never uploaded.

Where to get a GPX file

Notes

Common uses

FAQ

Why are duration, speed and pace missing from my result?

Those stats need <time> stamps on the track points. Recorded activities have them; planned routes exported from Komoot, Ride with GPS, etc. usually don't — for those you'll get distance and elevation only.

Does it read heart rate, cadence or power?

Yes — sensor channels stored as Garmin TrackPointExtension (or the common variants hr/heartrate, cad/cadence, power/watts, atemp/temperature) are picked up, and each channel is reported as an average plus a maximum.

Why is my elevation gain different from Strava or Garmin Connect?

The tool sums every positive elevation change between consecutive points, with no smoothing. Platforms apply their own noise filtering and sometimes replace GPS altitude with map elevation data, so their gain figures routinely differ — especially for tracks recorded without a barometric altimeter.

How are the per-kilometre and per-mile splits calculated?

Split boundaries rarely land exactly on a track point, so the crossing segment is linearly interpolated (constant pace assumed within the segment). Each split therefore gets a precise duration, pace, and elevation gain rather than being snapped to the nearest point.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool gpx-analyzer '<?xml version="1.0"?>
<gpx version="1.1">
  <trk><trkseg>
    <trkpt lat="40.0" lon="-105.0"><ele>1600</ele><time>2024-03-09T08:00:00Z</time></trkpt>
  </trkseg></trk>
</gpx>'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/gpx-analyzer/?gpx=%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cgpx%20version%3D%221.1%22%3E%0A%20%20%3Ctrk%3E%3Ctrkseg%3E%0A%20%20%20%20%3Ctrkpt%20lat%3D%2240.0%22%20lon%3D%22-105.0%22%3E%3Cele%3E1600%3C%2Fele%3E%3Ctime%3E2024-03-09T08%3A00%3A00Z%3C%2Ftime%3E%3C%2Ftrkpt%3E%0A%20%20%3C%2Ftrkseg%3E%3C%2Ftrk%3E%0A%3C%2Fgpx%3E

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.