Change the chain, cassette and/or chain rings
If your shifting works perfectly on a bike stand, and only slips when pedaling strongly, these components being worn out are overwhelmingly likely the cause of the problem.
When you start riding bicycles you think: hey, the chain/cassette/chain ring are made of metal, they will last as long as my frame, right?
But no, wrong. Those parts are basically disposable components of the bicycle. For example, I have to change chains more often than I change brake pads!
The chain stretches with usage. And the chain always eats away the metal of the cassette/chain ring. And if the chain is overstreched, it very quickly eats away those parts. More precisely, the cassette/chain ring are eaten up to adjust to your stretched chain, and then when you put a new chain on, they start to slip.
You can then often very clearly notice that the gears you use the most are the only ones that are slipping. E.g. on my 8 rear + 3 front gear bike, the 6th on the rear and the 2nd on the front are the most used ones by far.
When you start to notice this, you also start to more consciously try to use the gears more evenly to try and increase the lifespan of those components.
What you have to do is to learn how to identify which of those three parts need to be changed, here's how.
Is the chain worn out?
This one is easy: you MUST buy and a chain stretch checker and use it regularly
This tool is a must because out of the three parts, the chain is the one that goes bad first. And once over-stretched, it very quickly destroys the other two parts, which are more expensive and harder to replace.
I got myself a Park Tool CC-2 CHAIN CHECKER for example, and it is definitely worth it.
Here's me measuring a new chain with it to test it out. It reads 0.25, so the chain is new.
When you measure the chain and it reads 0.75 or more, you rebuy it. It is mathematical.
Another thing is that you start to learn the frequency at which you normally need to change your chain.
For example, this is my cadence for my Shimano HG40 8 speed chain according to Strava kilometrage:
- replace 2021-07 after 3000km
- replace 2021-04 after 2000km
If you don't have the checker tool, which you must obtain sooner or later, you can try to check the chain by simply pulling on it on the large chainring with your hand. If a visible space appears, the chain is worn. Here is an extreme example of when I started riding and didn't maintain my chain. A well maintained drivetrain should never reach this point:
Are the cassette and chainring worn out?
These are a bit harder.
There are a few options:
- visual inspection of the teeth
- sync with the chain replacement
- the chain is new, but some gears are skipping
By visual inspection, you can look out for two tell signs:
- symmetry of the teeth. New teeth are symmetric, old teeth are worn out in the direction of pull.
- width of the teeth. Old teeth are narrower/pointier than newer teeth.
Since those are not so easy to measure, once you reach a steady state of bicycle usage and maintenance, it might be easier to just replace them in sync with the chain. Do I really have to replace the cassette when I replace the chain, or is this a scam? says one cassette every two chains, and it sound reasonable according to my experience. TODO chain ring, possibly one every two or three cassettes.
Another more lazy approach that I'm de-facto using is to just inspect the chainring and cassette on every chain swap. If they look fine, give it a try. If the chain skips a bit, buy a new one whichever one of the two seems worse. This can be determined by feeling in which gears the slip happens. With this approach, you will have a few days of slippage, but you will use your parts closer to their limit.
Here are some side-by-side of identical models of new vs old Shimano CS-HG50-8 cassette and a Shimano Shimano FC-M311 chainring that I wore to oblivion before I knew about any of this. The chainring was especially worn on the 2nd gear. My bike cleaning skills also improve a bit since.
Related: While pedaling standing up, bike crank gives in as if shifting, what is causing this?