On 11 June 2015, Charles moved to Internacional and was assigned to the youth team.[1] In 2016, while playing for Internacional B, he won the Copa FGF.[3][4]
On 1 February 2017, Charles made his senior debut by coming on as a 39th minute substitute for Anselmo in a 2–1 win against Brasil de Pelotas, in Primeira Liga.[5] Seven days later, he scored his first goal for the club in a 1–0 victory against Fluminense, in the same competition.[6]
On 2 March 2017, Charles' contract was extended until 2020.[7]
Sport Recife (loan)
On 16 January 2019, Charles was loaned out to Sport Recife on a one-year contract.[8][9]
Ceará
Ceará confirmed on 31 December 2019, that they had acquired 50% of Charles' rights for 3 million R$, where the remaining 50% belonged to Internacional.[10]
Midtjylland
In June 2021, Charles signed a five-year contract with Danish Superliga runners-up Midtjylland. Upon signing with the club, he stated that the presence of other Brazilian players in the club – including Paulinho, Evander and Júnior Brumado – created comfort in his choice, as well as the prospect of playing in European competitions.[11][12] He made his debut for Midtjylland on 24 July 2021, on the second matchday of the 2021–22 season in a game against AaB, coming on as a substitute for Mikael Anderson as Midtjylland won 1–0.[13]
Corinthians
On 24 July 2024, Charles returned to Brazil, joining Corinthians on a four-year deal.[14]
Career statistics
As of match played8 December 2024
Appearances and goals by club, season and competition
^"Charles é apresentado à imprensa no CT" [Charles is presented to the press in the CT] (in Brazilian Portuguese). Sport Recife. 16 January 2019. Retrieved 1 February 2019.