⌁ Project — Marathon Course · Built solo, 2026

Marathon Course,
every big marathon course measured the same way.

Course maps, elevation, entry and race-day weather for the world's big marathons, in one place.

See it live →
RACES26 · all eight Majors
MEASUREDEvery 25 m, one method
COSTFree · no ads

Why I built it

§ 01

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 with each other. 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

§ 02 — the bit that took longest

One method, every course

Watches and race websites rarely agree on how much a course climbs. Here, 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, 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.

Sampled against terrain
Every 25 m
bare earth, not GPS
bridges & tunnels straightened

What's on it

§ 03
01 — The course

Map, profile, fly-through

A map, the elevation profile and a 3D fly-through. Drag along the profile and the marker follows you around the map.

02 — Getting in

How to enter

Ballots, qualifying times, fees and dates, so you know what it takes to get a start line.

03 — Race day

The morning, planned

Start times, cut-offs and the morning's schedule.

04 — Weather

Thirty years of race mornings

What the weather has actually done on race morning, year after year, from ERA5 reanalysis.

05 — Explore

Every course on a globe

Spin the world, filter by season, region or way in, and fly down into any course.

06 — Compare

Two courses side by side

Both profiles on the same vertical scale, with the climb, descent and weather set out next to each other.

07 — Take it with you

GPX, print, embed

A GPX file for your watch, a printable course sheet, and an embed for your own site.

08 — Units

Your units, everywhere

Km or miles, °C or °F, switched once and carried across every page.

A look at it

§ 04
Marathon Course race page for New York: the course on a map from Staten Island to Central Park, with the elevation profile below and the marker at 23.3 km
The course — New York, marker mid-course
Marathon Course Explore page: a list of upcoming marathons beside the map, zoomed into the Chicago Marathon course with its race card open
Explore — Chicago chosen from the globe
Marathon Course Compare page: Berlin and Boston elevation profiles on the same vertical scale, with total climb of 72 m against 276 m
Compare — Berlin, the flattest, against Boston

Try it here

§ 05 — the embed, live

Every course comes with an embed that any running club, race or blog can drop into its own page. This is the real thing, not a screenshot: Queenstown, the one I'm training for. Drag along the profile to move around the course.

The Queenstown Marathon course, embedded from marathoncourse.com

How it's built

§ 06 — the stack

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 from ERA5.

Astro turns that into a static site, with MapLibre for the maps, so pages open fast and work without much script. It's hosted on Cloudflare. A small Worker rebuilds it weekly, so a race that's been run drops its countdown without anyone touching it.

Built2026, solo
FrameworkAstro (static)
MapsMapLibre · OpenFreeMap
PipelinePython
TerrainNational lidar · European DTM
WeatherERA5 reanalysis
HostingCloudflare Pages · Workers

Logo & blurb

§ 07 — for press & listings

Writing about Marathon Course, or listing it somewhere? Grab the logo and copy from here rather than screenshotting the site.

Marathon Course is a free guide to the world's big marathons. Every race has its course on an interactive map with a 3D fly-through, an elevation profile, a GPX file and a printable course sheet, plus entry details, the race-day schedule and around thirty years of race-day weather. Every course is measured the same way, so the numbers can be compared from one race to the next, and each one says where it came from.
The Marathon Course mark: a slate rounded tile with a white M over a lime bar
Tile mark — SVG, scales to anything
Download SVG ↓
The Marathon Course app icon at 512 pixels
App icon — 512px PNG
Download PNG ↓
One-liner
Course maps, elevation and race-day weather for the world's big marathons.
One-liner
See it live →
Tagline
Every marathon course, measured the same way.
Tagline
Visit Marathon Course ↗
Slate #2A3034 Lime #E1F67A Paper #F1F2EF IBM Plex Sans · Literata

Got something
you want built?

AI development →

Christchurch · New Zealand · Remote