GPX elevation profile, smoothing and fill
See your route’s elevation profile, smooth out barometric noise that inflates the climb, or add elevation to a route that has none.
Drag a file anywhere onto the editor, or .
Nothing is uploaded — editing happens in your browser. Reads .gpx, .tcx, .fit, .kml and .kmz.
Fix GPS errors
Your watch drifted or teleported? Remove spikes that jump away and snap back.
Reduce points
Fewer points = a smaller file that fits your device's course limit. Re-run anytime — it always starts from your full track, so you can go up or down.
Advanced: spacing & simplify
Edit points
Elevation
This file has no elevation data.
Opt-in: sends only the coordinates of points needing elevation to the terrain provider. Your file is not uploaded.
Re-upload as new
Strava & Garmin reject re-uploads as duplicates. Shift the time or randomize the file ID so it uploads as new.
Plan a route
Click the map to drop points. Below zoom 12 the first click zooms in so you can place accurately.
Export format
Map data © OpenStreetMap contributors. GPX Toolkit is not affiliated with Strava, Garmin, Coros, Suunto or Wahoo.
See and smooth the profile
Load a file and the elevation profile appears under the map; click it to jump to any point. Barometric altimeters add ±1 m of noise per sample that can inflate total climb by hundreds of metres — Smooth applies a distance-weighted average so the gain figure matches reality.
Add missing elevation
Routes drawn in a browser often export with no elevation. Fill elevation from terrain samples a terrain model to add it (an opt-in step that sends only the coordinates that need elevation to the terrain provider — your file is never uploaded).
How to gpx elevation profile, smoothing and fill
- Open your GPX file.
- Read the elevation profile under the map; click it to inspect a point.
- Use Smooth to remove noise, or Fill elevation from terrain if it has none.
- Download the updated GPX.
FAQ
Why is my elevation gain higher than Strava’s?
Raw barometric data is noisy; most services smooth it. Use Smooth here to bring the total in line.