How We Find Every Climb in the World

From 201 million road segments to millions of verified cycling climbs, here's how we build the world's most comprehensive climb database.

201M
Road Segments
219
Countries
6.8M
Climbs Found

1. Starting with the World's Map

OpenStreetMap is a collaborative project where volunteers worldwide map every road, trail, and path. It's like Wikipedia for maps. This gives us the foundation: 201 million road segments with their exact coordinates.

We import the entire planet's road network from OpenStreetMap, processing billions of data points to extract every road that cyclists could potentially climb.

RoadsTrailsPathsCycleways

2. Adding the Third Dimension

Map data is flat—it only has location, not height. We add elevation data to understand which roads go uphill. This transforms 2D lines into 3D terrain you can analyze for climbing.

Every point along every road segment gets an elevation value. We calculate the gradient (slope) between points, giving us a complete picture of how the road rises and falls.

Flat roadSteep climb
0%5%10%15%+

3. Finding the Climbs

Our algorithm follows road segments upward, tracing routes from valley to summit. It looks for sustained gradients and keeps the best climbing routes.

We identify climbs by looking for roads that consistently go uphill. A climb must meet two key criteria:

3%
Minimum gradient
300m
Minimum distance

How we find climbs

  1. 1Check every road: We look at each road segment and ask: is this going uphill?
  2. 2Follow the road upward: At every junction, we check which roads keep climbing and follow all of them.
  3. 3Build complete routes: We keep following each path until it stops climbing, tracing the full route from valley to summit—including switchbacks and alternative roads.
  4. 4Keep the good ones: Each climb is scored based on how much you gain in elevation, how steep it is, and how long. We keep the ones worth riding.

This process checks every road in the world, following each possible path uphill to find climbs that others might miss.

4. Creating Rideable Routes

Finding a climb is one thing—knowing how to actually ride it is another. We run each route through BRouter, a cycling-specific routing tool, to make sure it's practical.

BRouter checks each route for things that matter to cyclists:

  • Road surface quality
  • Traffic levels
  • Turn complexity
  • Cycling restrictions

5. Naming Each Climb

Every climb gets a meaningful name. We search for nearby peaks, mountain passes, and road names. A climb ending near "Col du Tourmalet" gets that name; one on an unnamed road near Chamonix becomes "Climb near Chamonix."

Names are assigned using a priority system:

  1. 1Mountain peak at summit
  2. 2Mountain pass (col, pass, saddle)
  3. 3Road name from the route
  4. 4Nearby location (city, village)

6. Quality Assurance

Each climb is categorized by difficulty using the same system as professional cycling. We also track surface type so you know what to expect.

Climbs are rated from HC (hardest) to Category 5 (easiest):

HCCat 1Cat 2Cat 3Cat 4Cat 5

Categories are calculated using a formula that considers both gradient and elevation gain, similar to the system used in the Tour de France.

7. Data Sources & Credits

This project wouldn't be possible without these open data sources and tools.

Map data © OpenStreetMap contributors. Licensed under ODbL.

Ready to explore?

Find your next climb from our database of millions.