John started his career at Crewe Alexandra who were at the time playing in the Division One and made his debut against Crystal Palace on the opening day of the 1999-2000 season. He was later loaned to Hyde United, and Northwich Victoria.
In the 2002 close season, John signed for Hereford United, before going on to join the now defunct Telford United in July 2003. In the summer of 2004, John then signed for Shrewsbury Town, who had just beaten Aldershot Town in the Conference play off final.
John was on the move again in March 2005, when he joined Halifax Town. John played and scored for Halifax Town in the 2006 Conference play off final, at Leicester City's Walkers Stadium, against his former club Hereford United. Halifax Town lost the final. That season John finished as Halifax Town's top scorer with 14 goals. Despite being offered a new contract by Halifax Town, John decided to join Aldershot Town in the summer of 2006.
In July 2006, John signed for Aldershot Town and he scored twice on his debut against Gravesend & Northfleet, on the opening day of the 2006-07 season. At the end of the season, John was Aldershot Town's top scorer with 23 goals and he was voted the fans 'Player of the Year'. In December 2007 John scored his first and only senior Hat-trick against Salisbury City. In February 2008, he committed himself to the club until the end of the 2009-10 season. John ended ended the 2007-08 season as top-scorer with 25 goals, as Aldershot Town won the Conference National title and the Conference League Cup. John was also one of five Aldershot Town players that were named in the Conference Team of the Year. John made his 100th appearance for Aldershot Town against Notts County in September 2008 and he scored his 50th goal for Aldershot Town against Rotherham United in November 2008. In February 2010, John joined Oxford United on loan until the end of the 2009-10 season.
He also made his England National Game XI debut in May 2007 against the Republic of Ireland. John was in the squad that won that year's Four Nations Tournament and scored against Scotland in the 3-0 victory on the 25th May 2007.