The length of time it takes to get each belt is going to depend on many factors. Generally speaking, though, it will take between 2-3 years per promotion. The IBJJF requires certain minimum times at each belt before the student can move to the next belt. However, not every school follows this rule. The only rule out there that is almost unanimously accepted is when the student has to be 16 years old before advancing to the blue belt or higher. There are some examples of outstanding athletes who have managed to advance quicker than the IBJJF recommended. The famous one would be UFC fighter BJ Penn – it took him three years of training to earn his black belt – this was done under a well-respected trainer, Andre Pederneiras.