I made a printable cue sheet generator for cycling climbs on your route/race!

Hi cyclists!

I just finished putting together a completely free tool that gives you the ability to import a GPX file of a route you’re planning on cycling, automatically extract all of the climbs, letting you filter them by length/grade/fiet category, and display the climbs in either an expanded or condensed mode.

The condensed mode is specifically designed to be printed and taped to a bicycle top tube.
It showcases the beginning mi/km of a climb, the end mi/km of the climb, the cumulative elevation gain, the average grade, and the steepest 100m average grade somewhere in the climb.


I built this tool with the help of my roommates, we actually built a ton of cycling-specific, totally free, web apps, including our cycling interactive route builder site, https://sherpa-map.com.

My roommates and I love cycling and racing, so we’re working on a bunch of cue sheet generators that can be taped to the bike, a breakaway sheet (showing the best locations to attempt a breakaway), a surfaces sheet (showing where what surface type begins and ends), weather/headwind sheet, nutrition/hydration sheet (I can calculate the best places to have that on that ride) etc.

If you’re curious how I’m “extracting” hills, I’ve carefully honed the algorithm using this “behind the scenes” tool: Upload GPX File feel free to play with it if you’d like…

If you have any thoughts or feedback, I’d love to hear it!


I would be great if you guys could score route profiles the way ProcyclimgStats does it with pro stage races.

1 Like

Hmm, I absolutely could, in fact, I could even do one better, as I have a separate site I built for a group which automatically finds cycling climbs and generates interactive 3d models of them:

I could copy/paste that code, generating an interactive 3d model of the route and showcase the beginning and ends of the filtered “extracted” climbs along it in a similar fashion to what is displayed in your link.


This is amazing, and makes me feel incredibly old.


Ahh don’t say that! Cycling keeps everyone young.

1 Like

Amazing resource, thanks! Do you have a link to the climb finder?

1 Like

This is what I meant. It could be a Strava widget. I would love to have all the Profile Scores of my rides:

From pro cycling stats:

  • Profile score

The ‘PCS ProfileScore’ is mainly developed to assign points to riders for their climbing capabilities. Here we explain how it works.

After thorough data analysis we found that the number of vertical meters alone isn’t at all a good indication how hard a stage is. For example, a 10k climb at 8% gradient followed by 100k of flat road could very well end up in a bunch sprint. The same 10k climb in the final 20k of the race is probably a typical climbers stage. Furthermore, a 5k climb at 8% seems to be much more suitable for climbers vs. sprinters than a 10k 4% climb.

So we included three variables into our PCS ProfileScore formula:

  • Position of climb from finish
  • Steepness
  • Length of the climb

First we compute the score for each individual climb in the stage by the following formula:

([Steepness] / 2)^2 * [Length in KM]

Then we multiply this score by a factor dependent of the distance from the finish line.

Within the last N km Factor
10 1.0
25 0.8
50 0.6
75 0.4
before final 75k 0.2


Case A: Flat stage with a 10k à 8% climb in the final 10k.
(8 / 2)^2 * 10 * 1 = 160

Case B: Flat stage with a 10k à 8% climb at 100k from the finish.
(8 / 2)^2 * 10 * 0.2 = 32

Case C: Stage with 2 climbs, a 10k à 10% climb at 40k from the finish and a 4k à 12% climb in the final 10k.
{(10 / 2)^2 * 10 * 0.6} + {(12 / 2)^2 * 4 * 1} = 294

ProfileScore final

Besides the profileScore for the complete race we also keep a profileScore on the final of the race. This is simply the same formula but then applied only to the last 25 kilometre of the race.


For climbs we use the same formula to compute the profileScore for a climb in itself. The distance to finish factor is excluded. Also, the minimum segment length for which the steepness is computed is 200 meter. This smoothes the score a bit in case of very short steep segments.

Profile icons

We make use of 5 different icons to give an indication of what kind of stage it is.
Hills, flat finish
Hills, uphill finish
Mountains, flat finish
Mountains, uphill finish

These icons are an indication of the type of stage within an event. Therefore it could be that a stage in one race with the same profile score is considered flat and in another race as hilly. If the ProfileScore is computed, this is often displayed behind the icon which is an absolute score of the stage difficulty.*

1 Like

Amazing. Are you the guys behind Sherpa? I’ve been using it recently and it’s brilliant for planning longer routes.

You’re too kind! Also, yep, that’s us! We have a ton of awesome updates coming to that site too, including our own map tiles (they look AWESOME and we built an entire computer just to render them), a whole new, updated UI, more weather information, more route generation options, etc.


fascinating, honestly I’ve been wanting to get into the Strava widgets game, I see things like myWindSock report and can’t help but think how to do that myself. Frankly, I really want to add my own estimate power statistics directly to the description, with even more details, like normalized watt per kg, critical power info, etc.

When I begin working on these ideas, I’ll look into creating one with this methodology, it wouldn’t be particularly challenging at all, I just have to find the time.


sounds great, looking forward to seeing all of this.
Personally I find the speed estimator a little high, but no more so than any other site that I’ve used for similar planning. I wonder if it would be possible to look at the speed estimator from the other direction - so you input a planned/expected average speed and for the calculator to show a variation in speed along the route. So if you were aiming for an average of 25kmph for the whole route, it might show a speed of 32mkph on a flat section of road and show you the expected power for that flat section (say 200w for instance). Then on a hill it might estimate an 8% gradient climb at 12kmph and show that you need to aim for 300w (or whatever it might be) for that section to keep that speed. As a user, you might even be able to say that you want to coast downhill on any gradients steeper than -6%. I don’t know, maybe this is all a little too much - just pondering on ways yo improve and make it relevant for what people might want to see.

None of this should be taken as a criticism. What you’ve done is great, and the best tool out there for planning against changeable weather. Obviously not everything can be planned against, but it was wonderful for a 220km ride I did recently. Knowing what it would feel like, and where the headwind is likely to be, was very important in helping me feel prepared for the ride. I would say keep up the good work - but it appears you already are! Thanks

1 Like

I’m glad that you enjoyed it to any extent! One of the main reasons it can be a bit fast is road crossings, in reality, there could be buildings blocking view, traffic, trees blocking view, etc. that can cause longer pauses and can cause a Garmin/wahoo/etc device to take a variable amount of time to “pause” the activity.

While accounting for this to a larger extent could be beneficial in road/gravel rides, it would be detremential in TTs/Triathalons.

In any case, the simulator really does try to account for everything including dynamic CDA (i.e. simulating sitting up more on climbs or with tailwinds and getting more aero into headwinds and descents). It varies the power accordingly, more power on climbs, less power on sketchy areas, it simulates braking around turns, combinations of skill/tires/bike type on different surfaces, with different rolling resistance, even accounting for different CDA depending on tire choice!

However, obviously, there are some things missing, effects of drafting, tree cover in certain areas, etc… and honestly, I just wanted to be able to load up a race and get some decent weather information, as well as figure out if I should be bringing my cx mtb or my gravel bike.


That’s great to understand. I can see the dynamic CDA stuff in there, but obviously a lot under the hood that one does not see - so thanks for explaining.

The weather side of things is fantastic. It’s the best thing around for being to plan for that when its more than just a local ride and out for multiple hours. Fair point on the planning for road vs TT, I’m probably a more cautious cyclist than I need to be - that can be my excuse for being slow anyway.

What a nice tool! Very cool thing you built here!

Personally, I would rather have the length of the climb, instead of the end. e.g. for your first example: 25.8 (2.1km) … but maybe that‘s just me :slight_smile:


I’ve actually gotten this feedback from several people, so I’m totally going to add that as a toggle, start → length instead of start → end.

I’m also going to add manual cue entries so it’s easy to add water crossings, feed areas, etc.


Great website that you have created with your fellow roommates.
Been using it to map out ride routes for a planned trip in Italy.
Uploaded the GPX files to my Wahoo so ready to test when over there on the road.
Continue the good work.


Oh wow could we have the link to this site which looks like climbfinder ? Amazing job kudod to you and your buddy !!!

1 Like

Would be helpful if I had a printer lol

But looks cool, well done!

1 Like

I dmed you

I mean… I could print it and ship it? but that may not be economical… You could… find info on your upcoming climbs and write it down? I’m trying here… :stuck_out_tongue: