Po udziale w polsko-duńskim dramacie psychologicznym dla młodzieży Anny Kazejak Obietnica (2014) jako Daniel, partner Sylwii (Magdalena Popławska), zagrał kuriera-narkomana w filmie sensacyjnym Jerzego Skolimowskiego 11 minut (2015) i wystąpił w głównej roli Tomka w ekscentrycznej komedii Macieja Bochniaka Disco polo (2015). Wcielił się w rolę tłumacza i radiowca Tomasza Beksińskiego, syna Zdzisława (Andrzej Seweryn) w filmie biograficznym Jana P. Matuszyńskiego Ostatnia rodzina (2016), za którą otrzymał nagrodę Onetu „Odkrycie Festiwalu” na 41. Festiwalu Polskich Filmów Fabularnych i nagrodę aktorską na Festiwalu Młodego Kina Wschodnioeuropejskiego w Cottbus.

W 2018 wykreował postać dziennikarza Piotra Zarzyckiego, jednego z głównych bohaterów serialu Rojst. Zagrał także w serialach stacji AXN: Rysa (2021) i Układ (od 2021).

Teatr W 2010 zadebiutował na profesjonalnej scenie warszawskiego Teatru Dramatycznego w roli studenta w przedstawieniu Klub Polski w reżyserii Pawła Miśkiewicza. W 2011 obronił dyplom aktorski dzięki występowi w sztuce Elfriede Jelinek Babel 2 w reżyserii Mai Kleczewskiej, a za rolę otrzymał nagrodę (także dla zespołu aktorskiego i realizatorów) na XXIX Festiwalu Szkół Teatralnych w Łodzi.