Cresciuto nel settore giovanile dell'Hajduk Spalato, il 22 novembre 2017 fa il suo debutto con l'Hajduk Spalato II subentrando al posto di Ivan Delić nel match di 2.HNL perso contro il Dugopolje (2-0).[1] Il 3 aprile 2018 trova la prima rete con la squadra riserve dell'Hajduk, segna il gol vittoria nel match di campionato vinto in casa del Varaždin (0-1).[2] Il 2 febbraio 2020 fa il suo debutto con l'Hajduk Spalato guidato da Igor Tudor, subentra al posto di Jairo nel match esterno di campionato vinto 0-3 in casa del Varaždin.[3] Il 22 febbraio seguente trova la prima rete con i Bili nella larga vittoria conro il HNK Gorica (6-0).[4] Il 24 settembre dello stesso anno fa il suo debutto in una partita europea, subentra al posto di Ádám Gyurcsó nel match valido per il terzo turno preliminare di Europa League perso 2-0 contro il Galatasaray.[5] Il 6 ottobre seguente fa il suo debutto in Coppa di Croazia disputando il sedicesimo di finale terminato 1-2 in casa del Graničar Županja.[6]
Il 15 febbraio 2021 si accasa in prestito al Dugopolje fino al termine della stagione.[7]
Il 5 giugno 2021si accasa a titolo definitivo al Beerschot VA.[8][9]
Il 27 luglio 2021 fa il suo debutto con il Beerschot nel match di campionato perso 0-1 contro il Cercle Bruges.[10] Tre mesi dopo debutta in Coppa di Belgio nel sedicesimo di finale vinto 0-4 contro il Francs Borains.[11]
Il 4 luglio 2022 si accasa a titolo definitivo tra le file del Sebenico con il quale firma un contratto valido fino al 2025.[12]
Il 6 settembre 2019 fa il suo debutto con la Croazia U-20 subentrando al posto di Jakov Blagaić e trovando anche il gol nella partita pareggiata 1-1 con la Francia.[13]
Si ripete il 16 novembre seguente mettendo a segno l'unica rete del match esterno vinto in casa dell'Albania (0-1).[14]