1. Your GPX file
An export from a watch, bike computer, phone app, route planner or script.
Choose a file or paste the text, then click Check track.
Result
Fixed file
Too many points for a device?
Some watches and head units limit the points in an imported course. This keeps the shape of the track within the smallest tolerance that fits and leaves every kept point exactly as it was, with its time and elevation.
points
The rules, and what they leave out
- Required: a <gpx> root with version, creator and the GPX namespace; at least one track segment, route or waypoint.
- Coordinates: latitude -90..90, longitude -180..180, numeric; a point at exactly 0,0 is flagged as a no-fix reading.
- Time: ISO 8601 UTC (like 2026-05-01T08:30:00Z), real dates, never earlier than the point before; segments with no times at all are called out.
- Movement: a move faster than 252 km/h between timed points is a GPS jump; gaps over five minutes are noted.
- Elevation: numeric and between -500 and 9000 m.
- Fixed automatically: the XML declaration, version, creator and namespace when missing; points at exactly 0,0; exact duplicate points; empty track segments.
- Never guessed: reordering timestamps, inventing times, smoothing jumps, editing elevations.
- Not checked: whether a given service will accept the file, device extensions such as heart rate, the accuracy of the positions. Read from memory of the GPX 1.1 schema; confirm against the current standard.
Common questions
Why does Strava or Garmin reject my GPX file?
The usual causes are a <gpx> element missing its creator, version or namespace, track points with no <time>, timestamps that run backwards, coordinates outside the valid range (often a swapped latitude and longitude), or a file cut off before the closing </gpx> tag. This tool lists each one with its line number.
What is a GPS jump and why does it matter?
A single point that lands kilometres from the rest of the track, usually from a lost satellite fix. It inflates distance and top speed. The tool flags moves faster than 252 km/h between consecutive timed points and leaves them in place, because only you know whether the point is real.
What does the fixed file change?
Only what it can prove: adds the XML declaration, version, creator and namespace when missing, and removes points at exactly 0,0, byte-identical duplicate points and empty track segments. It never reorders timestamps, invents times or edits elevations.
Is my track uploaded anywhere?
No. The file is read in your browser tab, and a test in the code asserts there are no network calls. A GPX file can show where you live or train, which is why it stays on your device.
What does this not check?
Whether a given service will accept the file, heart-rate or cadence extensions, the accuracy of the recorded positions, or whether a route is safe or legal to travel. It reads the standard track, route and waypoint elements.