Jackson joined the AFC Wimbledon reserve team in 2008 and broke into the first-team in the second half of the 2009–10 season. He made his Football League debut in 2011 following AFC Wimbledon's promotion to League Two, before loan spells at Fleetwood Town and Cambridge United. Following his release by Wimbledon in 2012, he signed for Conference Premier side Macclesfield Town. He joined League Two side Newport County one year later, where he made 63 league appearances before joining League One club Gillingham. He was released after two seasons and 71 league appearances, joining Colchester United in League Two. He signed again for Gillingham in July 2020 after being released by the Essex side.
Jackson has represented England C, making two appearances in 2013.
On 10 September 2011, Jackson made his Football League debut in a 1–1 draw with Aldershot Town, coming on as a substitute.[10] He joined Conference Premier side Fleetwood Town on loan on 14 October 2011.[11] He scored twice on his debut the same day in a 3–1 away win against Lincoln City.[12] After four league games with Fleetwood, on 31 January 2012 he joined Cambridge United on loan until the end of the season.[13] He was told that he could leave the club in January, and he was released by Wimbledon at the end of the season when his contract expired.[14]
Macclesfield Town
On 7 June 2012, Jackson signed a one-year contract at Macclesfield Town, dropping down one tier to return to the Conference Premier.[15] He made his debut on 10 August 2012, earning his side a penalty during a 2–1 away defeat to Hereford United.[16] He scored once for Macclesfield in a 2–0 home win against Tamworth on 6 November 2012.[17]
Newport County
After training with Newport County for two weeks during the summer of 2013, Jackson signed for the League Two club on 1 August 2013 following confusion as to whether he was a free agent or not. To settle the issue, Newport agreed to pay Macclesfield a "small compensation fee".[18] On 6 August 2013, he made his debut in a 3–1 extra time win over Brighton & Hove Albion in the League Cup.[19]
Gillingham
In May 2015, Jackson turned down a new contract offer at Newport and signed for League One side Gillingham on a two-year contract, joining up with former Newport manager Justin Edinburgh.[20] On 8 August 2015, he made his debut in a 4–0 home win against Sheffield United.[21] He scored his first Gillingham goal on 28 November 2015 in a 2–2 away draw with Shrewsbury Town.[22]
After making more than 70 appearances for Gillingham during two seasons, he was released at the end of his two-year contract in 2017.[23]
Colchester United
On 30 June 2017, Jackson agreed to return to League Two to join Colchester United on a two-year contract.[23] He made his Colchester debut on 5 August in their 3–1 defeat at Accrington Stanley.[24] He scored his first goal for the club on 9 September in Colchester's 3–1 win against Crawley Town.[25]
He signed a new two-year contract with the club on 15 May 2018.[26] On 28 April 2020 Colchester confirmed that Jackson would be released at the end his contract in June 2020.[27]
Return to Gillingham
On 31 July 2020 it was announced that Jackson had signed again for Gillingham.[28] Following relegation to League Two, Jackson was released at the end of the 2021–22 season.[29]