Anderson began his professional career in the youth ranks of Crawley Town, joining in the summer of 2013. The midfielder spent a single season with the Red Devils before the youth team was disbanded and subsequently moved to Peterborough United in July 2014, joining the Under-18s.
Peterborough United
On 28 February 2015, Anderson made his first team as a late substitute in a 2–0 home win against Bradford City. He went on to make 10 appearances during the 2014–15 campaign, before signing a new contract to extend his stay with the club. Anderson was named Peterborough United Young Player of the Year. He made a further five league and two cup appearances during the 2015–16 season, and recorded two assists against former club Crawley Town in a 2–0 victory in August. His final appearance of the season came on 17 October, with Anderson coming off the bench in a 1–1 draw with Port Vale.
Braintree Town (loan)
On 15 January 2016, Anderson joined National League side Braintree Town on loan for the remainder of the season. On 23 January, he made his debut in a 1–0 defeat at Forest Green Rovers with an 18-minute appearance. Anderson made his second and final appearance for the club on 26 January in a 1–0 victory at Wrexham. He was named on the bench for the following four games, before his loan spell was terminated by the club.
On 19 February 2016, Anderson joined National League South side St Albans City alongside Peterborough United teammate Jonathan Edwards. He made his debut the following day in a 1–0 defeat to Bath City. On 1 March, Anderson scored his first goal for the club in a 1–0 win over Hemel Hempstead Town in the Herts Charity Cup semi-final. He added his second goal on 12 March, netting in a 3–1 victory at Hayes & Yeading United. Scoring his two goals during six matches in March, Anderson was named as the club's Player of the Month. On 26 April, Anderson started in the Herts Charity Cup final defeat to Bishop's Stortford before being substituted at half-time. He returned to Peterborough at the end of the season having made 15 appearances.
Lincoln City (loan)
On 16 August 2016, Anderson joined National League club Lincoln City on a youth loan until 1 January. The move saw him reunited with manager Danny Cowley, who previously signed Anderson on loan at Braintree Town. He made his debut in a 1–0 defeat to Dagenham & Redbridge the same day with a 25-minute appearance from the bench. His first start for the club saw him record two assists in a 4–0 victory over Southport, before scoring his first goal in the subsequent 2–1 win at Macclesfield Town. On 4 October, Anderson scored his second goal for the club in a 2–1 victory at Wrexham. He scored again four days later in a 1–1 draw at Bromley, before scoring his final goal for the club in a 5–2 win at Chester on 29 October. Not included in the squad to face York City on 22 November, Anderson was an unused substitute for the next two games before a final substitute appearance in a 2–1 victory over Tranmere Rovers on 17 December. On 22 December, Anderson was recalled by Peterborough, amid interest from Football League clubs.
Lincoln City (loan)
On 23 March, Anderson returned to Lincoln City on loan for the remainder of the season. The following day he marked his return with a substitute appearance in a 3–1 win over Forest Green Rovers.
Lincoln City
On 20 July 2017, Anderson joined recently promoted League Two club Lincoln City for an undisclosed fee, signing a three-year contract. In July 2019 he signed a new contract.