Jest wychowankiem holenderskiego AFC Ajax. W czasach juniorskich trenował także w AVV Alphen i Alphense Boys. W latach 2016–2018 grał w drugoligowych rezerwach Ajaksu. W 2018 dołączył do pierwszego zespołu[1]. W Eredivisie zadebiutował 4 lutego 2018 w wygranym 3:1 meczu z NAC Breda[2]. Do gry wszedł w 89. minucie, zastępując Davida Neresa[3]. W sezonie 2018/2019 wraz z klubem zdobył mistrzostwo i puchar kraju[4].
W 2022 przeszedł do Bayernu Monachium na zasadzie wolnego transferu, jego kontrakt będzie obowiązywać do 30 czerwca 2026 roku[5][6].