Williams signed on a permanent deal with Crewe in 2004, after his release from Manchester United. After two reasonable seasons with Crewe, Williams picked up an injury and was replaced by Ross Turnbull, Williams' season was made even worse when he was diagnosed with meningitis. By the end of the season, Williams had fully recovered and returned to the team at the start of the 2006–07 season. He moved to Carlisle United for the 2008–09 season, before signing for Colchester. He moved to Scottish club Hibernian in 2012, but was released after the club's relegation in 2014.