Free sample GPX files
Twelve free, valid, public-domain sample GPX files covering hiking, cycling, running, mountain biking, motorcycling, sailing, geocaching, multi-day trips, and Garmin sensor extensions. Drop one into your parser, your app, your tutorial, or the viewer below — every file is released under CC0 and works on Strava, Garmin Connect, Komoot, and AllTrails out of the box.
Available samples
- 5 km hiking loop in Acadia
hiking · Acadia National Park, Maine, USA
5.1 km · +348 m gain · 1 h 11 m · 720 trackpoints
- Alpine stage on the Tour du Mont Blanc
hiking · Chamonix valley, French Alps
14.8 km · +1,422 m gain · 7 h 6 m · 1,800 trackpoints
- 50 km road cycling loop in Sonoma County
cycling · Sonoma County, California, USA
50.0 km · +1,188 m gain · 2 h 0 m · 2,400 trackpoints
- Slickrock mountain bike loop, Moab
mountain biking · Sand Flats Recreation Area, Moab, Utah, USA
24.6 km · +799 m gain · 1 h 44 m · 1,500 trackpoints
More samples (download now, dedicated pages soon)
These files are ready to download today. Their dedicated pages with embedded viewers ship in the next batch of releases.
10 km running loop in Central Park
running · Central Park, New York City, USA
10.0 km · +289 m gain · 55 m · 1,100 trackpoints
Download .gpxPacific Coast Highway motorcycle tour
motorcycling · Pacific Coast Highway, California, USA
200.3 km · +1,504 m gain · 4 h 9 m · 3,000 trackpoints
Download .gpxMulti-day West Highland Way thru-hike
hiking · West Highland Way, Scotland, UK
101.3 km · +1,934 m gain · 4 days · 4 tracks
Download .gpxSailing route across the Aegean
sailing · Cyclades, Aegean Sea, Greece
50.3 km · sea level · 5 h · 2,000 trackpoints
Download .gpxGeocaching pocket query
geocaching · Forest of Dean, Gloucestershire, England
15 waypoints · no track · pure waypoint export
Download .gpxRoute 66 four-day road trip
driving · Route 66, US Southwest
471.4 km · +1,818 m gain · 4 days · 4 tracks
Download .gpxCycling ride with sensor extensions
cycling · Provence, France
38.9 km · +625 m gain · 59 m · HR + cadence + temperature
Download .gpx
How the corpus is structured
The twelve samples cover the matrix of variations a real-world GPX parser sees. Each file is engineered to exercise a different combination of activity type, recording cadence, track structure, and edge cases. The matrix:
| Sample | Activity | Distinctive features | Best for testing |
|---|---|---|---|
| short-hike-5km | Hiking | Small, simple, low elevation | Smoke test, parser bring-up |
| mountain-hike | Hiking (alpine) | Sustained climb, technical descent, dense elevation | Gradient analysis, elevation smoothing |
| multi-day-hike | Hiking (thru-hike) | Multiple tracks (one per day), wall-clock vs moving time | Multi-track parsing, day-segmented apps |
| road-cycling-50km | Cycling (road) | Smart-recording cadence, varied pace, classified climbs | Cycling apps, climb classification, segment matching |
| mountain-biking | Cycling (MTB) | Extreme pace variability, irregular elevation profile | Wide pace range, off-road profile rendering |
| extensions-test | Cycling (with sensors) | Garmin TrackPointExtension v1: HR, cadence, temperature | Sensor-data display, extension-namespace parsing |
| running-10km | Running | Steady pace, named split waypoints | Pace-based apps, split-time computation |
| marathon-course | Running (long) | 42 km, multiple split waypoints, tight road corners | Long-distance pacing, road-snapping |
| motorcycle-tour | Motorcycling | 200 km long-distance route with POI waypoints | Touring apps, POI rendering |
| road-trip | Driving (multi-day) | 4 days × 4 tracks, overnight waypoints | Multi-day route apps, segmented driving |
| sailing-route | Sailing | Sea-level constant, smooth curves over water | Zero-elevation edge cases, sailing apps |
| geocaching-pocket-query | Geocaching | Pure waypoints, no track | Waypoint-only parsing, geocaching workflows |
If your parser handles all 12 cleanly — including the no-track geocaching file, the multi-track thru-hike, and the extension-rich cycling file — it's ready for 95%+ of real-world GPX files in the wild. The remaining 5% are usually one-off issues with hand-written or broken-converter-produced files; the viewmygpx parser handles those gracefully with diagnostic error messages instead of silently dropping data.
Picking the right sample for your test
For different testing goals, different samples are the sharpest tool:
- Verifying basic GPX 1.1 parsing. Start with short-hike-5km. Small, simple, single track, single segment, named waypoints. If your parser doesn't produce the expected distance, gain, and trackpoint count for this file, don't bother with the larger samples until you fix the basics.
- Testing wide pace and elevation ranges. mountain-hike or mountain-biking. Both have meaningful elevation gain, varied pace, and data shaped like a real recording. mountain-hike has sustained climbs and descents; mountain-biking has alternating up-and-down for a different stress profile.
- Testing sensor-data display. The extensions-test file is the only one with Garmin TrackPointExtension v1 data (heart rate, cadence, temperature on every trackpoint). Use it to verify your app reads the gpxtpx namespace correctly and renders the sensor values on charts.
- Testing multi-track / multi-day apps. multi-day-hike has 4 tracks (one per day) inside a single file with overnight waypoints between them. road-trip is another 4-track variant for driving. These exercise the wall-clock-time vs moving-time distinction that single-track parsers don't need to handle.
- Testing waypoint-only parsing. The geocaching-pocket-query file has 15 waypoints and no track. Parsers that assume every GPX has at least one track will fail; correct parsers should produce zero distance, zero duration, and 15 waypoints with sym/type metadata.
- Testing zero-elevation edge cases. The sailing-route file has zero elevation throughout (sea level). Apps that compute elevation gain should produce zero; apps that try to draw an elevation profile should either render a flat line or skip the chart entirely.
- Testing long-file performance. The road-trip file is ~700 KB with 4,200 trackpoints — the largest in the corpus. Use it to spot performance issues with parsers that store every trackpoint in memory or that re-render polylines on every interaction.
What can I use these for?
Test a GPX parser. The files cover the common variations a real parser sees: single-segment tracks, multi-segment recordings (pause/resume), multi-track files (multi-day trips), routes with named waypoints, pure-waypoint geocaching exports, and trackpoints with Garmin extensions. If your parser handles all 12, it'll handle 95%+ of real-world files.
Demo content. Use the files in product walkthroughs, tutorials, screenshots, or videos. They don't belong to any user, don't depict any private location, and are released under CC0 — no permission, no attribution.
Test integrations. Upload to Strava, Garmin Connect, Komoot, AllTrails, or any other GPX consumer to verify your import flow end-to-end. The files are clean GPX 1.1 with proper namespace declarations and parse on every platform we've checked.
Learn the format. Crack open any of the files (most are plain XML you can read in a text editor) to see how GPX 1.1 elements compose: metadata, waypoints, routes, tracks, segments, trackpoints, and the gpxtpx extension namespace. The GPX format pillar walks through the structure in detail.
License
All sample files on this page are released under Creative Commons Zero (CC0) — public domain. Use them for any purpose, commercial or otherwise, with no attribution required. The files include no real user data: coordinates are plausible for the named region but the routes are synthetic.
Common questions
Are these sample GPX files real?
The files are valid GPX 1.1 with realistic coordinates, timestamps, elevation, and stats. The routes are synthetic — plausible for the named region but not tied to any specific real-world trail, road, or recorded ride. Use them as test data, not for navigation.
What license are the files released under?
Creative Commons Zero (CC0) — public domain. You may use the files for any purpose, commercial or otherwise, with no attribution required. Including them in tutorials, products, libraries, screenshots, or videos is fine without asking.
What size are the files?
From a few kilobytes (the geocaching pocket query) up to about 700 KB (the four-day road trip). Total size of all 12 samples is under 4 MB. Each file's size is shown on its dedicated page.
Will these files work in Strava, Garmin Connect, Komoot?
Yes. Each file conforms to GPX 1.1 with the standard topografix.com/GPX/1/1 namespace and uploads cleanly into every major fitness platform. They're useful for testing your import flows end-to-end.
How were the files generated?
Programmatically from a TypeScript script in the repo (scripts/generate-samples.ts). The script defines a hand-picked sequence of anchor coordinates per route, densifies the polyline by arc length, and assigns timestamps with grade-aware pace adjustment. Output is byte-deterministic across runs thanks to a seeded PRNG.
Can I see the file in the browser without downloading it?
Yes. Each sample's dedicated page has the viewmygpx viewer pre-loaded with the file — the route appears on a map with elevation profile and stats. You can also drop your own .gpx into the same viewer to compare.
Where do I find the files?
Each sample card on this page has a Download .gpx link. The files are also served directly at /samples/[filename].gpx for scripts and curl. The pattern is /samples/short-hike-5km.gpx, /samples/marathon-course.gpx, and so on.