After nearly quitting football, he made his senior debut with Arraial do Cabo [pt] in 2006,[1] and was known as João Moreno at the time.
João Carlos subsequently played for Duque de Caxias, Resende and America-RJ before returning to Arraial in 2008, where he impressed enough to earn a trial at South African side Golden Arrows in August of that year.
In 2010, as Arraial did not field a senior squad, he played for CF Rio de Janeiro [pt] and José Bonifácio.
[12] After achieving promotion, he terminated his contract with Volta Redonda on 21 July 2021,[13] and returned to São Bernardo for the 2021 Copa Paulista.
Regularly used for Bernô, João Carlos won the 2021 Copa Paulista with the side and achieved promotion from the 2022 Série D. On 22 October 2022, aged 35, he renewed his contract for a further year.