Born in Zagreb and raised in Dugo Selo, Franjić joined the academy of Croatian giants Dinamo Zagreb in 2008, frequently serving as a captain at various youth levels.[2] On 1 April 2016, he signed a contract with the club until 2022.[3] In January 2019, Franjić joined the senior team during the winter break training camp in Belek during Nenad Bjelica's tenure at the club. He played and scored in a friendly 2–0 victory over Śląsk Wrocław, impressing his older teammates.[2] In 2019–20 UEFA Youth League, Franjić played a key part as Dinamo progressed to the knockout phase from the group with Atalanta, Manchester City and Shakhtar Donetsk.[4]
On 17 June 2020, Franjić debuted for senior Dinamo team in a 3–2 victory over Slaven Belupo, during the tenure of Igor Jovićević, his former coach from the youth ranks.[3] However, Jovićević was soon sacked and succeeded by Zoran Mamić. On 22 October, Franjić made his Europa League debut in a goalless draw with Feyenoord, coming on for Kristijan Jakić in the 71st minute.[5] A week later, he was unexpectedly named in the starting lineup in the Europa League fixture against CSKA Moscow away. The game ended in another goalless draw, and Franjić was praised for his defensive performance against CSKA Moscow's Nikola Vlašić.[3][6] On 15 December, Franjić renewed his contract with Dinamo until 2025.[2] On 18 March 2021, new coach Damir Krznar named Franjić in the starting lineup for the second leg of Dinamo's Europa League Round of 16 tie against Tottenham Hotspur. He played out of position–as a centre-back while defending and a left-back while attacking–earning praise for his performance as Dinamo won 3–2 on aggregate.[7][8]
At the beginning of the 2021–22 season, on 10 August, Franjić scored his first goal for Dinamo in a Champions Leaguequalifier against Legia Warsaw, which turned out to be crucial as Dinamo won 2–1 on aggregate. He once again played out of position, as Krznar deployed him as a left-back once again.[9]
On 27 June 2022, Franjić signed a five-year contract with VfL Wolfsburg in Germany.[10]
On 18 August 2023, Franjić moved on a season-long loan to Darmstadt 98.[11]