Career
Born in Belo Horizonte, Minas Gerais, Charles joined Cruzeiro"s youth setup in 2009. On 22 January 2014 he moved to da Gama, being assigned to the youth team Charles was promoted to the main squad in 2015, and made his Série A debut on 3 June, coming on as a first-half substitute for Julio dos Santos in a 0–3 home loss against Ponte Preta, after starter Jordi was sent official
In 29 January 2016, Charles signed a four-and-a-half-year-deal with Marítimo.