Josip Elez (ur. 25 kwietnia 1994 w Splicie) – chorwacki piłkarz grający na pozycji obrońcy. Od 2018 roku zawodnik Hannoveru 96.
Jest wychowankiem Hajduka Split. 27 kwietnia 2012 w jego barwach zagrał po raz pierwszy w Prvej hrvatskiej nogometnej lidze – miało to miejsce w przegranym 0:1 meczu z Interem Zaprešić. Do gry wszedł w 27. minucie, zastępując Josipa Radoševicia. 24 lipca 2013 został piłkarzem rzymskiego S.S. Lazio. W barwach tego klubu występował w rozgrywkach Primavery. W latach 2013–2017 był wypożyczany kolejno do: ASD US Grosseto 1912, węgierskiego Budapestu Honvéd, duńskiego Aarhus GF i chorwackiego HNK Rijeka. Wraz z Rijeką w sezonie 2016/2017 zdobył mistrzostwo i puchar kraju. 1 lipca 2017 został piłkarzem Rijeki na zasadzie transferu definitywnego, którego kwota wyniosła 500 tysięcy euro. Od 8 stycznia do 30 czerwca 2018 przebywał na wypożyczeniu w niemieckim Hannoverze 96. W Bundeslidze zadebiutował 28 stycznia 2018 w przegranym 0:1 spotkaniu z VfL Wolfsburg. Grał w nim do 66. minuty, po czym został zmieniony przez Ihlasa Bebou. Przed rozpoczęciem sezonu 2018/2019 Hannover wykupił jego kartę zawodniczą za 2,5 miliona euro.