Fils d'un ouvrier métallurgiste, il passe par l'école pratique de commerce et d'industrie de Firminy avant de travailler, comme ajusteur, dans une usine d'Unieux, puis à la manufacture d'armes de Saint-Étienne. Dans cette période, il est proche des milieux anarchistes locaux.
Membre du parti, il est candidat malheureux aux cantonales en 1928 et 1932, avant d'être élu conseiller d'arrondissement, dans le canton de Saint-Étienne Nord-Est, en 1934. L'année suivante, il est élu conseiller municipal et adjoint au maire radical de Saint-ÉtienneLouis Soulié.
Parallèlement, il est très engagé dans le syndicalisme : secrétaire et permanent de l'union locale CGTU de Saint-Étienne dès 1926, il est en 1935, secrétaire de l'union régionale de la Loire de cette confédération. Il est alors un des proches de Benoît Frachon. En 1928, il participe, à Moscou, au congrès de l'Internationale syndicale rouge.
Après 1936, il conserve son poste, au sein de la CGT réunifiée.
Cette même année, il est candidat aux législatives, et manque de peu d'être élu, face au candidat de la droite Antoine Pinay. Par la suite, il est régulièrement candidat aux élections partielles qui ont lieu avant 1939, avec encore moins de succès.
Mobilisé en 1939, il est interné, comme communiste, en Algérie dès son retour à la vie civile, l'année suivante. Libéré en mai 1943, il lance quelques jours plus tard, à la radio, un appel aux ouvriers stéphanois pour qu'ils participent au sabotage de la fabrication au service de l'Allemagne et refusent de se soumettre au STO. Il revient en France en septembre de l'année suivante et retrouve ses responsabilités syndicales, avant de retrouver son poste au conseil municipal de Saint-Étienne, jusqu'aux élections de 1945.
Après 1947, son action à la tête de l'union départementale CGT est contestée pour son alignement systématique, et quasiment assumé, sur les positions et mots d'ordre du Parti communiste.
En 1956, il est choisi par le PCF pour mener sa liste dans la Loire lors des élections législatives. Avec 23,4 % des voix, il est élu député.
A l'assemblée, il intervient essentiellement pour améliorer la condition ouvrière : en avril 1956, il propose d'augmenter l'indemnisation des victimes d'accident du travail, et en octobre, il dépose une proposition pour réduire le temps de travail des ouvriers, tout comme il avait demandé, en février, l'augmentation de la durée des congés payés.
Après un échec lors des législatives de 1958, où il se présente dans la première circonscription de la Loire et n'obtient que20,3 % au second tour, il retrouve, l'année suivante, le conseil municipal de Saint-Étienne, mais se consacre principalement à l'action syndicale. En 1960, il retrouve le secrétariat de l'Union départementale CGT qu'il avait abandonné après son entrée au parlement.
En 1962, cependant, il se présente à nouveau aux législatives, mais n'obtient que 23 % des voix au premier tour, et se désiste en faveur d'Alexandre de Fraissinette.
En 1968, à l'âge de soixante-douze ans, il quitte ses responsabilités syndicales et est remplacé à la direction de l'UD par Joseph Sanguedolce.