
Absolwent Akademii Muzycznej im. G. i K. Bacewiczów w Łodzi w klasie śpiewu prof. Piotra Micińskiego. Debiutował w 2012 roku na scenie Filharmonii Łódzkiej w partii tenorowej w Mszy c-moll Mozarta, a w 2015 roku wystąpił na koncercie jubileuszowym z okazji obchodów stulecia Filharmonii w partii Uriela w oratorium Stworzenie świata Haydna.
Występował w operach: Le devin du village Rousseau (w roli Colina), Traviata Verdiego (Gaston), Carmen Bizeta (Remendado) w Teatrze Wielkim w Łodzi, Gianni Schicchi Puccinieg (Rinnuci) na scenie Warszawskiej Opery Kameralnej, Cud albo Krakowiaki i Górale Stefaniego / Bogusławskiego (Morgal) w Teatrze Wielkim - Operze Narodowej. Brał udział w polskiej prapremierze opery Rachmaninowa Francesca da Rimini w roli Paola w Centrum św. Jana w Gdańsku, światowej prapremierze Olimpii z Gdańska Zygmunta Krauzego w roli Saint Justa oraz w roli tytułowej w polskiej operze Eros i Psyche Ludomira Różyckiego w Operze Bałtyckiej w Gdańsku.
Uczestniczył w kursach prowadzonych m.in. przez Annę Radziejewską, Siergieja Leiferkusa, Tomasza Herbuta, Rudolfa Piernaya, Udo Reinemanna, Eytana Pessena oraz Matthiasa Rexrotha. Koncertował we Włoszech, Belgii, Austrii, Czechach, Niemczech, Szwajcarii. Jako solista współpracował z takimi dyrygentami, jak Tadeusz Kozłowski, Paul Esswood, Daniel Raiskin, Paweł Kotla, Maja Metelska, Marcin Wolniewski, Eraldo Salmieri, Bassem Akiki czy Kai Bumann. Brał udział w licznych festiwalach, m.in. Kolory Polski, Musica Moderna, Cantio Lodziensis, Łódzkie Schumanniana 2012. Od 2014 roku jest uczestnikiem Programu Kształcenia Młodych Talentów „Akademia Operowa” w Teatrze Wielkim - Operze Narodowej. Jest laureatem programu Instytutu Muzyki i Tańca „Artysta-rezydent” (sezon 2015/2016 Opera Bałtycka w Gdańsku).