Job rotation is a method of work organization by which working conditions can be improved. A change of activity reduces job monotony, fatigue, the risk of musculoskeletal disorders and cumulative trauma disorders. In order to develop a rotation plan that achieves the maximum benefit obtainable from this technique, the multiple factors that affect it must be considered simultaneously. This paper proposes a genetic algorithm that allows the planner to achieve job rotation schedules that aim to reduce the risk of musculoskeletal disorders, obtaining maximum diversification of the jobs carried out during working hours, and which take into account both permanent and temporary disabilities of the workers as well as their preferences. The fundamental contribution of the method lies in its focus on multi-criteria analysis and its ability to include new factors in the evaluation of solutions without the need to substantially modify the algorithm. This algorithm is then implemented by a computer program, which thus becomes a flexible toot to aid the planner. Relevance to industry: The results of this study suggest that the algorithm presented could be an efficient tool in the development of a rotation program, obtaining practical results within the scope of realistic possibilities of the plant.