I am trying to write an algorithm that will give me the number of unique gear ratios given information about chainring(s) and cog pair. To do this though, I believe that I need to know the number of teeth of every single cog in both the cassette and the crankset chainrings. By knowing this, I could calculate the gear ratios between every cassette cog and every chainring.

However, when I go and look at the specs of a bicycle, I see descriptions such as:

Praxis Albe 2D, 32/48, Shimano 105, 11-speed, 11x34, Shimano Ultegra R8100, 12-speed, 11-34T , etc...

However, that does not tell me the number of teeth for each cog. Is there some way to know or compute the number of teeth on each cog based on just the smallest and largest cogs? Are these "industry standard" configurations?

  • 1
    Have you looked at the online gear inch calculators for hints how it can be done? e.g. sheldonbrown.com/gear-calc.html
    – mattnz
    Jun 7, 2022 at 3:39
  • 1
    The Shimano website lists the number of teeth in each cog of a cassette. I haven't looked at many cassettes but they tend to keep the number of teeth close to the log-log fit between the top and bottom cogs. An exception is the Shimano 11-34 11sp which spaces the large cogs closer and the small ones wider than the fit. Jun 7, 2022 at 4:25
  • 1
    If by unique you mean mathematically different from the other ratios the only thing you have to practically worry about is 2:1 and 3:1 ratios. Multiply the number of cogs in the rear by the number of chainrings, then deduct for the exact matches of these two. I am not sure of the value of this. Back in the 2x5 days I geared my bike with 52/46 in the front, which was a good approximation of half the step in the rear. I never shifted through the gears hitting every ratio. I would shift the rear to get close, then maybe shift the front. I had 10 unique gears, but it wasn't important. Jun 7, 2022 at 4:30
  • What if two combinations are almost the same, but not quite? E.g., 52/27 and 36/19 are not identical, but the 1% difference would be pretty much imperceptible to your legs. For practical purposes they are not distinct. Jun 7, 2022 at 10:12
  • 1
    Use ritzelrechner.de for a nice graphical view of your gear ratios. They have most of the standard cassettes listed and even give you "development/m", the distance you travel per crank revolution.
    – arne
    Jun 8, 2022 at 6:07

4 Answers 4


You're right - you need more information to be certain.

However you might be able to get the cassette's model number, which can be tracked back to an exact tooth-count per gear.

You could also write a heuristic guesser that assumes higher gears are up to 4 teeth apart, while lower gears might be only 1 tooth apart. This might be something to feed to a Machine Learning algorithm for an educated-guess.

The 1/2/3 chainrings are very likely to be explicitly stated, or if its given as "ultegra R8100" then there will only be a few options:

  • 52/36t and 50/34t chainset
  • Two cassette options of 11-30t and 11-34t
    • 11-30: 11-12-13-14-15-16-17-19-21-24-27-30
    • 11-34: 11-12-13-14-15-17-19-21-24-27-30-34

However there's nothing to stop users replacing a stock cassette with something else, or replacing a chainring.

Also some cassettes are "megarange" probably a Shimano word, which means the lowest gear/largest tooth count gear is often ten teeth larger than the previous, which breaks any regular progression.


Usually a given gear count and range has a certain defined sprocket set.

For example, 10sp 11-34 is 11-13-15-17-19-21-23-26-30-34.

Also 8sp 11-30 is 11-13-15-17-20-23-26-30.

Those are generally determined as being as close to the perfect geometric series as possible:

tooth_countn = tooth_count0 * (1+p)n

...but with the additional constraint that tooth count must be an integer.

For chainrings in a crankset, it should be easy to find all tooth counts. Those are almost always specified.

However, what you are planning to do is pointless. There's not point trying to know how many distinct gear ratios your bike has.

A bike doesn't have K distinct gears (unless it's a hub gear bike or a 1x derailleur bike).

A NxM derailleur bike has N partially overlapping ranges of M gears (where some combinations have excessive chain angle and should be avoided).

If you attempt to determine all distinct gear ratios, how on earth are planning to use that information on the fly? Determine quickly: you're on the 7th smallest gear combination (and a particular combination of that in case there are multiple configurations) and want to shift to the 9th smallest gear combination. What actions you need to take to reach the 9th smallest gear combination? Nobody can do that on the fly unless you have extraordinary memory.

Also if you list all gear combinations in ascending ratio order, you will get a series that makes no sense. It will NOT have a constant geometric progression. Some jumps are very minor, perhaps less than a percent. Other jumps may be over 10 percent. Some ratios are duplicated, occurring twice (or even three times!).

But if you use derailleur gears like you're supposed to use them, you may have 3 chainrings in front (28/38/48) and 8 sprockets in back (11-13-15-17-20-23-26-30). Then you can use:

  • 28 tooth chainring with any of 15-17-20-23-26-30 (and maybe 13, that's a borderline case)
  • 38 tooth chainring with any of 13-15-17-20-23-26 (and maybe 11 and 30, those are borderline cases)
  • 48 tooth chainring with any of 11-13-15-17-20-23 (and maybe 26, that's a borderline case)

You also know that front shifts are slow and can't be done during full load but rear shifts can if you are skilled.

Then your aim is to analyze the needs caused by the terrain for long term to determine if you want to be on 28 tooth, 38 tooth or 48 tooth chainring, and then pick the correct rear sprocket for the short-term needs.

Also you have to remember that bigger chainrings waste less power because they are naturally used with bigger rear sprockets (sans chain angle considerations). Therefore, 48 tooth ring is preferable over 38 tooth ring which is preferable over 28 tooth ring, unless you anticipate needing low gear ratios before you have an opportunity to shift to a smaller ring.


There are no fixed industry standards and cassettes with the same upper and lower sprockets, but differing in between, do indeed exist.

Eg., for 9-speed

SunraceCSM969   11-12-14-16-18-21-24-28-34  
Shimano HG400-9 11-13-15-17-20-23-26-30-34

The ultimate answer is really to always read the manufacturer's specifications. They are usually available in the shop (physically on the box or in the e-shop description). If not, they will be available on the manufacturer's website.


There aren’t that many models of cassette out there in the market. I don’t think it would take much longer than a few hours to just search up every model and manually enter their tooth counts into a database of some sort.

I’d imagine tooth counts would be very similar if not identical between groupset levels too for a given cassette range (as in a 11/34 Ultegra cassette probably has the same tooth counts as an 11/34 DA cassette for example). That should help simplify things.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.