Skip to main content
viewmygpx

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

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 .gpx
  • Pacific 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 .gpx
  • Multi-day West Highland Way thru-hike

    hiking · West Highland Way, Scotland, UK

    101.3 km · +1,934 m gain · 4 days · 4 tracks

    Download .gpx
  • Sailing route across the Aegean

    sailing · Cyclades, Aegean Sea, Greece

    50.3 km · sea level · 5 h · 2,000 trackpoints

    Download .gpx
  • Geocaching pocket query

    geocaching · Forest of Dean, Gloucestershire, England

    15 waypoints · no track · pure waypoint export

    Download .gpx
  • Route 66 four-day road trip

    driving · Route 66, US Southwest

    471.4 km · +1,818 m gain · 4 days · 4 tracks

    Download .gpx
  • Cycling 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:

SampleActivityDistinctive featuresBest for testing
short-hike-5kmHikingSmall, simple, low elevationSmoke test, parser bring-up
mountain-hikeHiking (alpine)Sustained climb, technical descent, dense elevationGradient analysis, elevation smoothing
multi-day-hikeHiking (thru-hike)Multiple tracks (one per day), wall-clock vs moving timeMulti-track parsing, day-segmented apps
road-cycling-50kmCycling (road)Smart-recording cadence, varied pace, classified climbsCycling apps, climb classification, segment matching
mountain-bikingCycling (MTB)Extreme pace variability, irregular elevation profileWide pace range, off-road profile rendering
extensions-testCycling (with sensors)Garmin TrackPointExtension v1: HR, cadence, temperatureSensor-data display, extension-namespace parsing
running-10kmRunningSteady pace, named split waypointsPace-based apps, split-time computation
marathon-courseRunning (long)42 km, multiple split waypoints, tight road cornersLong-distance pacing, road-snapping
motorcycle-tourMotorcycling200 km long-distance route with POI waypointsTouring apps, POI rendering
road-tripDriving (multi-day)4 days × 4 tracks, overnight waypointsMulti-day route apps, segmented driving
sailing-routeSailingSea-level constant, smooth curves over waterZero-elevation edge cases, sailing apps
geocaching-pocket-queryGeocachingPure waypoints, no trackWaypoint-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.