Cooper is the son of former footballer Mark Cooper and grandson of England internationalTerry Cooper. He was born in Stockton-on-Tees, County Durham, while his father was a Hartlepool United player. The family later moved to the Midlands, where Cooper attended Alderbrook School in Solihull. He was noticed by representatives of Birmingham City when playing in a cup final, and joined their Academy in 2007. He took up a scholarship with the club in July 2013. Interviewed in early 2014, he assessed his strength as passing, and felt he needed to improve his heading. Cooper signed his first professional contract, of two years, in May 2015. According to coach Steve Spooner, "Charlie is like the conductor of the orchestra; he sets the tone. He's learnt how to slow games down and speed games up. His range of passing has improved, as well as his goal scoring. And I think there is more to come from him in that area."
National League football
Cooper joined National League clubForest Green Rovers on a month's youth loan on 23 January 2016. He was an unused substitute for four matches before Birmingham recalled him. He was a member of the Birmingham reserve team that lost the 2016 Birmingham Senior Cup final to National League North champions Solihull Moors. On 26 October of the following season, he was loaned to another National League club, this time York City. He went straight into the starting eleven for the next match, at home to Sutton United. According to Dave Flett of the York Press, Cooper "introduced some much-needed forward thrust" to the midfield as the match ended 2–2. He started four more matches, all in the league, before returning to Birmingham after one month. On 9 December, Cooper rejoined Forest Green Roverswho were by that time under his father's managementfor another month. After he made five appearances during the month, Birmingham allowed the loan to be extended to the end of the season. He was a regular starter throughout his loan spell, and helped the club gain promotion to the Football Leaguefor the first time in the club's history.
League football with Forest Green Rovers
Birmingham had confirmed in March that Cooper would be released when his contract expired at the end of the season, and he signed a two-year contract with Forest Green on 15 June 2017. He made his Football League debut on the opening day of the 2017–18 season, in the starting eleven for the League Two visit of Barnet to The New Lawn. He took the corner kick from which Christian Doidge headed Forest Green's first Football League goal, and played the whole of the match, which finished 2–2. Cooper scored his first senior goal on 19 August, contributing Forest Green's third goal with a "speculative strike" as his team came back from 2–0 and 3–1 down to beat Yeovil Town 4–3 and record their first win in the Football League. He established himself as a regular in the midfield, until knee damage, diagnosed as hyperextension of his left knee and bruising to the bone, sustained following a tackle in a match against Coventry City in mid-October, kept him out for six weeks. He returned to the side as a second-half substitute in an EFL Trophy match on 5 December, and then resumed his place in the starting eleven. Cooper joined Forest Green's League Two rivals Newport County on 22 June 2018 on loan for the 2018–19 season. He made his Newport debut on the opening day of the season, as a second-half substitute in a 3–0 defeat at Mansfield Town. He made 15 appearances in all competitions without scoring before his loan was ended early on 13 December. In mid-March 2019, he went out on loan to National League club Boreham Wood, finishing the season with five appearances.
Forest Green took up their option to retain Cooper's services for the 2019–20 season, but cancelled his contract by mutual consent in August. He had trained with Bury, but a potential contract fell through after the club was expelled from the EFL. On 12 September 2019, Cooper signed for National League club FC Halifax Town.