Sa carrière démarre avec Pâris dans La Belle Hélène d’Offenbach, Tamino dans La Flûte Enchantée et Ottavio dans Don Giovanni de Mozart. Il participe à une Master Classe avec Ludovic Tézier à l’Opéra de Nancy en 2015.
En 2016, il retrouve le rôle de Tamino dans une production de la Fabrique Opéra Val de Loire, avec Clément Joubert à la direction et Jean Claude Cotillard à la mise en scène.
En 2017, il est engagé pour le rôle de Fritz dans La Grande Duchesse de Gérolstein, mise en scène par Pierre Thirion-Vallet et dirigée par Amaury Du Closel, à l’Opéra de Clermont-Ferrand, au Théâtre des Sablons (Neuilly), au Palais des Festivals de Cannes, au Théâtre de l’Archipel (Scène Nationale) à Perpignan.
La saison 2017/2018 lui ouvre les portes du Théâtre des Champs-Élysées, de l’Opéra de Rouen et de l’Opéra de Marseille avec le rôle du Comte Almaviva dans Le Barbier de Séville de Rossini, dirigé par Adrien Perruchon et mis en scène par Damien Robert.
Cette production se poursuit sur la saison 2018/2019 à l’Opéra d’Avignon, de Reims, Toulon, Montpellier, Nice. On lui confie le rôle de Gastone dans Traviata mise en scène par Deborah Warner et dirigée par Jérémie Rhorer au Théâtre des Champs-Élysées, Pâris dans La Belle Hélène avec Opéra des Landes, Platée dans Platée de Rameau en Bourgogne, Nadir dans Les Pêcheurs de perles de Bizet à l’Atrium de Chaville.
En 2019/2020 il interprétera un rôle majeur dans une création d’un Opéra inachevé du XVIII siècle de Galuppi, avec le poème harmonique et Vincent Dumestre, à la Philharmonie de Cracovie, à l’Opéra Royal de Versailles, puis en tournée.
Il chante régulièrement les parties solistes d’oratorios : de Monteverdi à Ramirez, en passant par le Messie de Haendel, le Requiem de Mozart et de Verdi, les Passions de Bach… à La Madeleine, Saint Eustache, Saint Roch, et diverses autres églises parisiennes.