How the metrics are computed
Distance
Distance is the cumulative sum of the great-circle (haversine) distance between each pair of consecutive track points, computed on a spherical Earth of radius 6,371 km.
Elevation gain and loss
Gain and loss are summed with a 2-metre hysteresis filter: a climb or descent only counts once the elevation has moved at least 2 m away from the last counted level. This suppresses the metre-to-metre GPS and barometric noise that would otherwise inflate the totals over a long track.
Duration
Duration is the elapsed time from the first timestamp to the last, pauses included. A track without timestamps shows no duration or speed — there is nothing to derive them from.
Average and maximum speed
Each point's speed is its distance from the previous point divided by the time between them. Average speed is the mean of those per-point speeds while moving — samples at rest are excluded, so it reflects moving speed rather than distance ÷ total time. Maximum speed is the highest single point-to-point value, so it is sensitive to GPS jitter — one stray fix can spike it.
Common questions
Is GPX Viewer free?
Yes. It is free with no account, no usage limits and no file-size paywall. It is made by bithaus.tech, the company behind speedometer.app.
Is my GPX file uploaded anywhere?
No. The file is read directly in your browser with the W3C File API and parsed locally. It never reaches our servers. Only anonymised usage analytics (page views, feature clicks) are collected — see the privacy policy.
Which files can I open?
GPX 1.0 and 1.1, FIT and TCX (the formats Garmin, Wahoo and COROS devices record), plus KML and KMZ (Google Earth / Google My Maps). Track points are preferred; files with only route points or waypoints also render. Once a track is loaded you can export it back out as GPX, KML or KMZ — so this also works as a FIT-to-GPX or TCX-to-GPX converter.
Why won't my file open?
Three common causes: the file isn't valid XML (open it in a text editor — a GPX starts with a <gpx> tag and a KML with a <kml> tag); the extension is wrong (rename .gpx.txt or .xml to .gpx); or it contains no location points at all.
How do I get a GPX file from Strava, Garmin or Apple Watch?
Strava: open the activity page → ⋯ → "Export GPX". Garmin Connect: open the activity → gear icon → "Export to GPX". Apple Watch: workout apps such as WorkOutDoors export GPX directly; Apple's own Fitness app needs a third-party exporter (for example a "Workouts to GPX" app).
Can I replay my track?
Yes — press play to watch an animated replay at 0.5× to 50× speed with live speed and elevation readouts and auto-rotate and auto-center camera modes.
Does it work in knots for sailing?
Yes. Switch units to nautical (kn) — useful for boat, sailing and kitesurf tracks.
Can I export a PDF report or images?
Yes. Use the Download menu to generate a one-page PDF route report — map with speed heat-zones, key stats, elevation and speed profiles, and per-split times, all in your chosen units — or save the map and charts as PNG images. Everything is generated in your browser; nothing is uploaded.
Can I edit a track?
Yes. Once a file is loaded, click Edit to trim, reverse, merge, split, smooth elevation, or rename the track. For a GPX file, click Points to change an individual track point's latitude or longitude, insert or delete points, and add or delete waypoints. Changes support undo and redo. Choose Edit points on map in the Points panel to drag a point, tap between points to insert, or delete a point, with a preview before applying. To draw a new route, choose Plan a route from scratch: tap the map to add anchors, drag them to move, delete anchors, close a loop, or retrace an out-and-back. Download the result as a GPX track or route. This planner connects anchors with straight lines, not roads or trails. Planning and export run in your browser and work offline once loaded; new background map tiles need a connection.
Can I share a track with a link?
Yes. Press Share and a link is copied to your clipboard. The track is encoded inside the link's #fragment, which browsers never send to a server — so the link contains the track itself and we never receive it. Very large tracks are simplified for the link (a downloaded GPX keeps the original).