Jest absolwentem Wydziału Wokalno-Aktorskiego PWSM we Wrocławiu. Debiutował w Teatrze im. C.K. Norwida w Jeleniej Górze, gdzie pracował przez trzy sezony. Kolejne dwa spędził w Teatrze Muzycznym w Słupsku. W 1979 r. został zaangażowany do Teatru Śląskiego w Katowicach. Od chwili debiutu kreuje w większości czołowe postacie: w Jeleniej Górze zagrał m.in. Don Juana w Don Juanie Moliera, Mickiewicza w Mickiewiczu w reż. A. Hanuszkiewicza (za ten spektakl został nagrodzony "Brązową Iglicą" w plebiscycie publiczności i prasy dolnośląskiej). W Teatrze Muzycznym w Słupsku zagrał m. in. Mistrza Fiora w Operetce Gombrowicza w reż. M. Prusa, Mackie'go Majchra w Operze za trzy grosze Bertolta Brechta w reż. J. Nyczaka, Oktawa w Szelmostwach Skapena Moliera, Alfreda w Mężu i żonie Fredry. W Teatrze Śląskim zagrał sporo równie znaczących ról, a pośród nich takie jak: Onek w Garbusie S. Mrożka, Beniamin w Wyszedł z domu S. Różewicza, Człowiek w Ambasadorze S. Mrożka, Krogstad w Norze Ibsena, Harry Berlin w Sie kochamy M. Schisgala, Papageno w Czarodziejskim flecie W. A. Mozarta, Rotmistrz w Damach i huzarach A. Fredry, Mickiewicz w Balladach i romansach A. Mickiewicza, Gonzalo w Transatlantyku W. Gombrowicza (rola uhonorowana Złotą Maską), Skrzypek w Rzeźni S. Mrożka, Pchełka w Antygonie w Nowym Jorku J. Głowackiego (rola uhonorowana nagrodą Zarządu Okręgu ZASP), Ojciec Laurenty w Romeo i Julii W. Shakespeare'a, Gospodarz w Requiem dla Gospodyni W. Myśliwskiego, Wilhelm Feldman w Chryjach z Polską M. Wojtyszki, Mazurkiewicz w Żołnierzu królowej Madagaskaru Dobrzańskiego-Tuwima (rola uhonorowana nagrodą Zarządu Okręgu ZASP), Hubert Finidori w Życiu - trzy wersje Y. Rezy, Arnold Crouch w Nie teraz, kochanie Cooney'a-Chapmana. Współpracuje z radiem, telewizją, studiami dubbingowymi, Instytucją Kultury "Estrada Śląska". Prowadzi warsztaty teatralne z młodzieżą. W Gliwickim Teatrze Muzycznym występuje jako Tito Merelli w farsie Dajcie mi tenora! K. Ludwiga.