He began life with Crewe Alexandra in 2003 where he stayed for two years, before signing youth forms with the old Chester City.
He signed professional terms with Chester in 2006 and went on to score four goals in just under 50 league games. In 2008 he joined Cambridge United netting 22 times in his 60 appearances.
His next port of call was Brighton & Hove Albion in 2010 but made just a handful of appearances and was loaned out to Stevenage and Bury.
Further spells in the Football League with Rotherham United and Preston North End and he was loaned out to Macclesfield Town in 2013. After a brief time with Morecambe he joined the Silkmen on a permanent deal.
He had a successful spell with Macclesfield making over 150 appearances scoring 23 goals but in the summer of 2017 he opted to sign for Wrexham on a one-year deal.