Absolwent Akademii Muzycznej w Łodzi w klasie Piotra Micińskiego i programu Akademia Operowa w Teatrze Wielkim - Operze Narodowej w klasie Eytana Pessena. Debiutował w czasie studiów jako Figaro w Cyruliku sewilskim w Teatrze Wielkim w Łodzi. Wystąpił wtedy również jako Stach w operze Cud albo Krakowiaki i Górale Stefaniego w Teatrze Wielkim - Operze Narodowej i Karol Poznański w prapremierze Łódź Story Korcza w studenckim spektaklu w Łodzi.
Od 2016 roku związany jest z Operą we Frankfurcie, gdzie kreował m.in. partie tytułowego Eugeniusza Oniegina w operze Czajkowskiego oraz Roberta w Jolancie Czajkowskiego. W repertuarze posiada także takie role, jak: Doktor Malatesta w Don Pasquale’u Donizettiego, Dandini w Kopciuszku Rossiniego, De Siriex w Fedorze Giordana, Hrabia w Weselu Figara Mozarta, Harašta w Przygodach Lisiczki Chytruski Janáčka, Andrei w Trzech siostrach Eötvösa, Filippo w La Gazzetta Rossiniego, Milord Arespingh w L’italiana in Londra Cimarosy, Aktor w Der Ferne Klang Schrecker’a oraz Król w Pani Mądrej Orffa w spektaklu Keitha Warnera. W czasie pandemii wziął udział w inscenizowanym dramacie muzycznym Nurwer die Sehnsucht kennt w reżyserii Christofa Loya transmitowanym na Arte.tv.
W Teatrze Wielkim - Operze Narodowej można było go usłyszeć w Czarodziejskim flecie Mozarta (reż. Barry Kosky) jako Papagena, w którego wcielił się również podczas dwóch tournée z berlińską Komische Oper po Tajwanie i Makau, jak i po Korei Południowej. W tym roku powróci jako Tusenbach w Trzech siostrach na Festiwal w Salzburgu, gdzie wcześniej wykonywał rolę Ser Amantio di Nicolao w Giannim Schicchim Pucciniego oraz występował w Requiem Tigrana Mansuriana. Na Tiroler Festspiele w Erl wcielił się w Belcore’a w Napoju miłosnym Donizettiego i Spielmanna w Królewskich dzieciach Humperdincka. Wykonał tam także część cyklu Cudowny róg chłopca Mahlera. Występował gościnnie w Badisches Staatstheater Karlsruhe jako Malatesta, w Staatsoper Hannover jako Marullo w Rigoletcie Verdiego, w Operze Narodowej w Montpellier jako Marcello w La Bohéme Pucciniego oraz w Ariadnie na Naxos R. Straussa jako Arlekin, którego śpiewał również we Frankfurcie i Deutsche Oper am Rhein. Do opery w Düsseldorfie wracał również jako Oniegin.
Brał udział w koncertach m.in. w Operze Narodowej w Bukareszcie, Filharmonii w Lublinie oraz na Festiwalu Kilar+.
