Skip to content
TrailMath
Language EN FR

GPX Explorer

Upload a GPX file to see your route on an interactive map, explore the elevation profile and gradient heatmap, and get trail race stats calculated instantly.

Try a famous race

Drop a GPX file here, or click to browse

Supports GPX 1.0 and 1.1 - max 10 MB

How the stats are calculated

km-effort is based on the ITRA (International Trail Running Association) effort unit, which uses distance + gain/100. TrailMath extends this by adding descent cost (+ loss/150) to reflect real eccentric muscle load on steep descents. A route with 50 km and 3,000 m of total elevation change scores roughly 70 km-effort - equivalent in effort to running 70 km flat.

Gradient heatmap is computed segment-by-segment from the GPX elevation data. For each pair of consecutive track points, the horizontal distance is computed using the haversine formula and the grade is calculated as elevation change divided by horizontal distance. Segments are colour-coded from blue (steep descent) through green (flat) to red (steep ascent), matching the conventions used by trail running apps and race course maps.

Elevation profile plots the altitude (from GPS elevation data) against cumulative horizontal distance along the route. Hover over the chart to highlight the corresponding position on the map. Note that GPS elevation accuracy varies by device - altimeter-equipped devices (most trail watches) are more accurate than phones.

Elapsed time and effort score are only shown when your GPX file contains timestamps (i.e. it is a recorded activity, not a planned route). The elapsed time is the difference between the first and last recorded timestamp. The unofficial effort score (0-1000) compares your elapsed time against a reference of 6 min/km-effort, which benchmarks a mid-pack competitive trail ultra runner performance.

ITRA. km-effort definition. itra.run - Minetti et al. (2002). Energy cost of walking and running at extreme uphill and downhill slopes. J Physiol.

Frequently asked questions

How accurate is GPS elevation data?

GPS barometric altitude is typically accurate to ±5-15 m per point, but errors accumulate across a long route. Altimeter-equipped watches (Garmin, COROS, Suunto) use barometric pressure and are significantly more accurate than phone GPS. Expect GPS-derived D+ to be 10-20% higher than map-derived elevation because noise spikes are counted as real gain. This tool uses your raw recorded elevation - use it to compare courses rather than for precise elevation certification.

Why does my km-effort differ from the official ITRA value?

ITRA computes km-effort from verified, smoothed course profiles - not recorded GPS tracks. Your GPS track includes noise, slightly different lines, and may cover a longer distance than the marked course. The formula (distance + gain/100 + loss/150) is identical, but the inputs differ. Treat this tool's km-effort as 'your experience of the course' rather than the official race difficulty.

What is the difference between D+ from GPS and from a topo map?

Topo-derived D+ uses a digital elevation model (DEM) sampled along the planned course line. GPS-recorded D+ sums elevation changes from every sensor reading, including noise. Over a 100 km ultra, this noise can add 500-2000 m of phantom gain. Some GPS devices apply Kalman filtering to reduce this. If you want to compare courses objectively, use map-derived elevation profiles (AllTrails, Strava route builder) rather than recorded activities.

Can I use a planned route GPX (not a recorded activity)?

Yes. Route GPX files (no timestamps) work fully - you get distance, elevation profile, km-effort, gradient heatmap, climb analysis, and the 2D/3D map. The only features that require timestamps are elapsed time and the unofficial effort score, which are based on your actual pace.

Why is my max grade so high?

Raw max grade is almost always a GPS noise spike, not a real gradient. Two track points close together (< 20 m) with a 5 m elevation error produce a 25%+ grade reading. This tool uses the 99th-percentile grade (labelled '99p') which discards the worst 1% of spike values, giving a more realistic representation of the steepest terrain you actually covered.

Which famous races can I use to compare difficulty?

The five sample races load official 2027 course profiles: UTMB (~171 km, ~10,100 m D+, km-effort ~339), Western States 100 (~161 km, ~6,200 m D+, km-effort ~275), Hardrock 100 (~159 km, ~9,900 m D+, km-effort ~324), CCC (~101 km, ~6,100 m D+, km-effort ~202), and Diagonale des Fous (~179 km, ~10,100 m D+, km-effort ~347). A standard road marathon scores about 42 km-effort.

Want a full training plan built on this science?

TrailMath uses these models to build periodized plans adjusted to your goals and terrain.

Get started free