Après des études d’art dramatique à la comédie de Saint-Etienne, il travaille notamment avec Michel Raskine pour lequel il interprète Arlequin dans le Jeu de l’Amour et du Hasard de Marivaux au théâtre de l’Odéon et en tournée. Il joue aussi sous sa direction Le capitaine dans La Danse de Mort de Strindberg et Dimas dans Le Triomphe de l’Amour. Il crée le rôle de Pascal Bonnefoy dans la pièce de Michel Vinaver : Bettencourt Boulevard au théâtre de la colline et en tournée sous la direction de Christian Schiaretti, avec ce dernier il joue Ubu dans Ubu Roi, Jack Donohue dans Par-dessus bord de M. Vinaver (grand prix de la critique) et Sicinius dans Coriolan (Molière du meilleur spectacle public). Dernièrement il a joué le rôle de Maurice dans Ervart ou les derniers jours de Friedrich Nietzsche de Hervé Blutsch au théâtre du rond-point dans la mise en scène de Laurent Fréchuret. En 2021 il joue et co-met en scène Le Funambule de J.Genet au théâtre de la Renaissance(Lyon).En 2022 il joue Une nuit avec Monsieur Teste d’après Paul Valéry écrit et mise en scène par Françoise Cadol. Au cinéma il tourne notamment dans DRH Erreur1067 de Pierre Grange, à la télévision il tourne sous la direction de Robin Davis, Michel Andrieux…