Williams was born in
Spring Village, Saint Vincent and the Grenadines. He made his
first-class debut for the
Windward Islands in March 2011, playing against the
England Lions in the
2010–11 Regional Four Day Competition. For the 2012–13 season, Williams switched to the
Combined Campuses and Colleges, going on to play in the final of the
2012–13 Regional Super50 (a limited-overs competition). However, he made only irregular appearances for the team during the 2013–14 season, and subsequently did not return to top-level West Indian domestic cricket until 2016, when he was selected in the
Jamaica Tallawahs squad for the
2016 Caribbean Premier League season. In that tournament, Williams played in all thirteen of his team's matches, and took 17 wickets, the most for his team and the third-most overall (behind
Dwayne Bravo and
Sohail Tanvir). His best performance was 4/37 against the
Guyana Amazon Warriors, while he also took 3/19 against the
St Kitts and Nevis Patriots and 2/12 in the Tallawahs' victory over the Amazon Warriors in the final. On 3 June 2018, he was selected to play for the Toronto Nationals in the players' draft for the
inaugural edition of the
Global T20 Canada tournament. In November 2019, he was selected to play for the
Chattogram Challengers in the
2019–20 Bangladesh Premier League. In July 2020, he was named in the
St Lucia Zouks squad for the
2020 Caribbean Premier League. ==International career==