Cresciuto nelle giovanili dell'Hajduk Spalato fa il suo debutto in prima squadra il 18 aprile 2015 giocando da titolare il match casalingo di campionato perso 2-1 contro il Rijeka.[1] Il 21 ottobre dello stesso anno rinnova il contratto che lo lega con i Bili fino al 30 giugno 2018.[2]
Il 13 luglio 2018 viene acquistato a titolo definitivo dalla squadra croata della Lokomotiva Zagabria.[3]
Il 20 agosto 2020 viene ceduto all'Atlético Madrid.[4][5] Esordisce in maglia rojiblanca il 16 dicembre 2020 in occasione della vittoria per 3-0 in casa del Cardassar nella partita valida per il primo turno di Coppa del Re.[6]
Il 19 agosto 2021 viene ceduto in prestito al Lille.[7][8] Due giorni dopo fa il suo debutto con i Les Dogues difendendone i pali nella trasferta di campionato pareggiato 1-1 contro il Saint-Étienne.[9]
Nazionale
L'11 novembre 2021 esordisce in nazionale maggiore in occasione del successo per 1-7 in casa di Malta.[10][11]
Tre giorni dopo torna a difendere i pali della Croazia contribuendo così alla qualificazione per Qatar 2022 grazie alla vittoria di misura sulla Russia (1-0).[12]