Williams started his career with a local club,
Mansfield Town before moving to
Tranmere Rovers,
Chesterfield,
Hull City and then onto
Bristol Rovers. After playing for three seasons in
League Two, he joined
Aldershot Town on a month's loan in September 2005 when
Ian Atkins was manager at Bristol Rovers. After Atkins departed the club, Williams briefly returned to Rovers before leaving the club in December 2005 and joining the Shots on a contract that ran until the end of the
2007–08 season. In a pre-season friendly against Crystal Palace in July 2007, Williams tore his
anterior cruciate ligament. He was only able to play one game in the 2007–08 season, as Aldershot won the
Conference with a record points total. Following their promotion, Williams left by mutual agreement. On 6 May 2008, Williams joined another Conference club,
Weymouth, signing a one-year contract. In 2009, he joined
Mansfield Town. Following a loan spell with
Conference North side
Gainsborough Trinity in December 2010, he joined the club on a permanent basis in January 2011. In September 2012 he joined
North Ferriby United. Williams and Ferriby secured promotion to the
Conference North at the end of the 2012–13 season, and on 26 May 2013 he announced he had re-signed for Trinity. After starting several games and assisting on the coaching staff, Williams moved to
Scarborough Athletic in September 2013 after work commitments meant he couldn't continue playing at Conference North level. Williams stayed with the Seadogs until December 2014, when he completed a move to AFC Mansfield, joining former boss Rudy Funk and returning to the town where he began his career. ==Notes==