Skip to main content
viewmygpx

Sample GPX file: Berlin Marathon course

42.0 km · +345 m gain · 3 h 36 m · 2,600 trackpoints

A 42 km marathon course modeled on the BMW Berlin Marathon route. Includes named split waypoints at 10K, half, 30K, and finish. For long-distance app testing.

Drop your GPX file here

or browse to choose

About this route

The route follows the BMW Berlin Marathon course as it has been run since the 2000s reunification-era loop: start on Strasse des 17. Juni next to the Tiergarten, north through the government quarter, a long western leg through Charlottenburg, a southern dive past Schöneberg, an eastern run through Kreuzberg and Friedrichshain, a northern loop through Prenzlauer Berg, and a final straight down Unter den Linden to finish at the Brandenburg Gate. The course is famously flat — about 345 m of cumulative elevation gain across the full 42.2 km — which is why it has hosted ten of the eleven world records set between 2003 and 2023.

Five named waypoints sit at the canonical split points: 10 km, half marathon (21.1 km), 30 km, 40 km, and the finish line. Each waypoint carries the cumulative time at the documented split pace; the file is a course preview, not a recording, so the splits are even rather than fade-adjusted.

What this file demonstrates

A long-distance running file with even pacing, multiple named waypoints, and modest elevation. Useful for testing apps that compute and display split times, average pace, and finish-line projections.

The route has tight 90° corners at every street intersection (Berlin marathon course follows roads, not paths), so it is also a good test for routing engines that snap GPX to underlying road geometry.

Notes on the data

The file uses 1-second smart recording cadence, producing 2,600 trackpoints — about one every 16 metres. Timestamps are ISO 8601 UTC, starting at 09:15:00Z (Berlin's 10:15 local marathon start), and step by realistic per-trackpoint deltas around a 5:08/km pace.

Elevation comes from the SRTM digital terrain model in 1 m steps; minor +/-2 m noise simulates GPS-only altimetry. The total +345 m gain matches the published course profile.

Common questions about this sample

Is this the actual BMW Berlin Marathon course?

The route shape follows the published BMW Berlin Marathon course, including the canonical 10K, half, 30K, 40K, and finish split points. Coordinates are plausible for the named streets but trackpoints do not trace the road geometry exactly — the file is synthetic test data, not a recorded run. Don't use it for actual training or pacing reference; it's a clean sample with realistic stats for testing parsers and apps.

Why does this sample have flat elevation when the rest of Berlin isn't?

Berlin is genuinely flat. The marathon course's published 345 m of cumulative elevation gain across 42 km is part of why it's the world's fastest course — most years' world records have been set there. The file's elevation profile reflects that: small undulations, no real climbs.

Can I use this file to test split-time computation?

Yes — that's one of its design purposes. The file has named waypoints at 10K, half (21.1K), 30K, and 40K with cumulative time values matching even-pace splits. Feed it through your app's split-time logic and the computed values should match the file's waypoint timestamps to within a second.

Why is recording cadence 1-second smart instead of 1-second fixed?

Smart-recording at 1-second yields ~2,600 trackpoints for a 3:36 marathon. Fixed-1-second would produce ~13,000 — overkill for the geometric resolution most apps need, and a stress test that doesn't represent typical real-world files. For high-cadence test data, the road-cycling-50km file is a closer match.

Does this file include sensor data (heart rate, cadence)?

No. This file has plain trackpoints with lat/lon/ele/time only — no Garmin TrackPointExtension. For sensor-data testing, the extensions-test.gpx sample includes heart rate, cadence, and temperature on every trackpoint.

Download marathon-course.gpx410.5 KB · public domain (CC0)

What's inside this file

  • Trackpoints: 2,600
  • Waypoints: 5
  • Tracks: 1
  • Distance: 42 km
  • Elevation gain: 345 m
  • Activity duration: 3 h 36 m
  • Extensions: none
  • File size: 410.5 KB
  • Format: GPX 1.1 (topografix.com/GPX/1/1)
View as raw XML (first 30 lines)
<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.1" creator="viewmygpx-samples" xmlns="http://www.topografix.com/GPX/1/1">
  <metadata>
    <name>Berlin Marathon course</name>
    <desc>42.2 km marathon course modeled on the BMW Berlin Marathon route, starting on Strasse des 17. Juni and finishing at the Brandenburg Gate.</desc>
    <author>
      <name>viewmygpx samples</name>
    </author>
    <bounds minlat="52.45854578379554" minlon="13.313497001134728" maxlat="52.57054078223144" maxlon="13.52147231965016"/>
  </metadata>
  <wpt lat="52.52" lon="13.37">
    <ele>35</ele>
    <name>Start</name>
    <sym>Trailhead</sym>
  </wpt>
  <wpt lat="52.54" lon="13.408">
    <name>10K split</name>
    <sym>Pin</sym>
  </wpt>
  <wpt lat="52.52" lon="13.462">
    <name>Half marathon</name>
    <sym>Pin</sym>
  </wpt>
  <wpt lat="52.487" lon="13.398">
    <name>30K split</name>
    <sym>Pin</sym>
  </wpt>
  <wpt lat="52.5165" lon="13.378">
    <ele>35</ele>
    <name>Finish</name>

How to use this file

Test a GPX parser. Drop the file into your code, library, or app under development to verify it handles real-world data — distance, elevation, timestamps, waypoints. The point counts and stats above give you expected outputs to compare against.

Demo content for tutorials. Use the file as a stand-in for a real user upload when recording screenshots, writing documentation, or filming product walkthroughs. The file is public domain, so no attribution is needed in your materials.

Test platform integrations. Upload the file to Strava, Garmin Connect, Komoot, or AllTrails to confirm your import flow works end-to-end. The route is plausible but unattached to any user account, so it won't appear in anyone's feed.

Drop your own file too. The embedded viewer above accepts any .gpx file. Use it to compare your file's structure against this sample, or simply to view your route without leaving the page.

License and attribution

This file is released under Creative Commons Zero (CC0) — public domain. You may use it for any purpose, commercial or otherwise, with no attribution required.

The route is synthetic. Coordinates are plausible for the named region but do not trace any specific real-world trail, road, or ride. Use the file freely as test data; do not navigate by it.

More sample files

Browse the full set of 12 samples on the sample GPX files page, or jump to one of the related files below.