Career
Early career
Born in Preston, Lancashire, Williams started his career with West Lancashire League side Charnock Richard. He moved up the leagues to Chorley before he joined Bamber Bridge in January 2007. He moved on to Hyde United at the start of the 2008-2009 season, before moving to Fleetwood Town in January 2009.
In February 2009, when he returned to Bamber Bridge.
Williams balanced his semi-professional football career with a job as a barber. Professional career
Williams signed his first professional contract with Bradford City in July 2009.
Williams made his debut for Bradford on the opening day of the 2009-2010 season, on 8 August 2009, in a 5–0 defeat against N ottinghamshire County, when he came on as a second-half substitute for Matthew Clarke with City already losing 4–0. Williams scored his first goal for Bradford on 22 August 2009, in a 5–4 victory away at Cheltenham Town.
Williams signed a new three-year contract in June 2010.
Ahead of the 2011-2012 season, Williams was informed by new manager Peter Jackson that he faced a "make or break" season. In January 2012, Williams moved on loan to Inverness Caledonian Thistle. Upon his return to Bradford City, Williams ruptured his achilled tendon, and his next appearance for Bradford City came in February 2013, as he played 45 minutes for their reserve side.
Williams signed on loan for Barrow in March 2013.
In May 2013, it was announced that Williams would leave his contract at the end of the season at the end of June 2013. He signed for Macclesfield Town in July 2013.
Williams joined Conference Premier side Football Club Halifax Town on 1 July 2014. He returned to Barrow in July 2015.