Born in Rio Claro, São Paulo, Cittadini started his career at Guarani, and was promoted to first team in 2010, under the management of Vágner Mancini.[1] He made his first team debut on 30 March 2011, against Horizonte, in that season's Copa do Brasil.[2] He was handed a starting spot on 1 May, against São José, providing an assist for Léo Paraíba's goal.[3]
However, in December, Cittadini had altercations with his club, claiming late payment of wages.[4] In March 2012, half of the player's rights was sold to an agent, due to problems in the negotiation of a contract renewal.[5]
Santos
On 7 July 2012, he signed a two-year contract with Santos, being assigned to youth team.[6] There, he won the 2012 Campeonato Paulista U-20, beating São Paulo in the finals,[7]
and also won the 2013 Copa São Paulo de Futebol Júnior.[8]
On 3 June 2013, he was promoted to Santos' first team alongside Walace.[9] He made his debut on the 12th, replacing Pedro Castro in the 70th minute of a 1-0 home win against Atlético Mineiro.[10]
On 24 July 2013, Cittadini scored his first professional goal, the last of a 2–0 away win against CRAC for the season'sCopa do Brasil.[11]
Ponte Preta (loan)
In April 2014 Cittadini joined Guarani's fierce rivals Ponte Preta on loan until the end of the season.[12] He made his debut for the club on the 19th, playing the entire second half in a 1–1 home draw against Icasa.
On 7 October Cittadini's loan was cancelled, and he subsequently returned to Santos.[13]
On 10 April 2016 Cittadini scored his first goal after his return, netting his team's first in a 2–1 Campeonato Paulista home win against Audax.[15] He was mainly used as a replacement to Lucas Lima afterwards, becoming a starter during the latter's participation in Copa América Centenario. On 6 November, after nearly two months without playing a single minute, he came off the bench to provide two assists in Santos' 2–1 away win against former club Ponte Preta; he ended up crying after the match was over.[16]
Cittadini made his Copa Libertadores debut on 18 May 2017, coming on as a late substitute for Vitor Bueno in a 1–1 away draw against The Strongest. During the 2018 campaign, under new manager Jair Ventura, he overtook veterans Emiliano Vecchio and Renato and became a regular starter for the side. Despite Vecchio left the club, he lost the starting spot to Diego Pituca and new signing Carlos Sánchez, being completely ostracized by new manager Cuca after refusing a contract renewal.
Athletico Paranaense
On 7 December 2018, Cittadini signed a three-year contract with Athletico Paranaense, effective as of the following 1 January.[17] Under manager Tiago Nunes, he became an important unit in the club's midfield, scoring a career-best six goals in the season.[18]
Bahia
On 28 July 2023, Cittadini signed for Bahia on a two-year contract with the option of a further year.[19]