Williams began his playing career at Walsall when he was a teenager and made a handful of appearances for the Saddlers, being let go in 2013.
After a spell at Worcester City, he moved to Rushall Olympic and went on a prolific goalscoring run which saw him net 28 goals in thirty-nine appearances in the Evo-Stik League Premier.
The following season, a move to Nuneaton Town saw him continue an impressive goalscoring record of 12 goals in twenty-six games and caught the attention of League One Peterborough United.
In January 2016, Williams joined The Exiles from Peterborough in the January window, and contributed to the club's `Great Escape` with important goals against Hartlepool United and Morecambe.