Ben Ford

Marathon Course

Every big marathon course measured the same way. Course maps, elevation, entry details and race-day weather for the world's big marathons, in one place.

Visit marathoncourse.com →
2026, solo26 races, all eight MajorsFree, no ads
The New York Marathon course map and elevation profile, with the marker at 23.3 km
The course page: New York, marker at 23.3 km.

Why I built it

I'm training for Queenstown, and next year I'll be in the ballot for Sydney and the drawing for New York. When I went looking for the New York course, I wanted three things: a clear map, the elevation and a GPX file. I couldn't find them together.

Race sites show the map, running apps show someone's watch data, and the elevation figures never agree. So I built one place that has all of it, for every big marathon, and measured every course the same way so the numbers mean the same thing from one race to the next.

The measurement

Every course line is resampled every 25 m, and each height comes from the best bare-earth terrain model for that country: lidar in the Netherlands, New Zealand and the US, and Sonny's model across Europe. Bridges and tunnels, which terrain models read wrongly, are found from OpenStreetMap and straightened. Each figure carries its source and the date it was checked.

What's on it

The Explore globe with Chicago selected
Explore: Chicago chosen from the globe.
Berlin and Boston compared side by side
Compare: Berlin, the flattest, against Boston.

Try it

Every course comes with an embed that a running club, race or blog can put on its own page. This is the real thing: Queenstown, the one I'm training for.

How it's built

A Python pipeline does the measuring: it fetches each course line, samples it against the country's terrain model, corrects bridges and tunnels, and pulls thirty years of race-day weather. Astro turns that into a static site with MapLibre maps, hosted on Cloudflare. A small Worker rebuilds it weekly, so a race that's been run drops its countdown without anyone touching it.

Pipeline
Python
Site
Astro, static
Maps
MapLibre · OpenFreeMap
Terrain
National lidar · European DTM
Weather
ERA5 reanalysis
Hosting
Cloudflare Pages · Workers