Williams signed as an undrafted free agent with the Toronto Argonauts on January 22, 2016, and spent the year on the Argonauts' practice roster. He re-signed on December 7, 2016, and made his CFL debut on July 24, 2017, against the Ottawa Redblacks where he had four receptions for 39 yards in an Argonauts victory. He played in 14 regular season games, starting nine, finishing with 14 receptions for 153 yards. Williams played in both post-season games that year and won his first Grey Cup championship following the Argonauts' victory in the 105th Grey Cup game. He played in 10 games in 2018, recording 13 receptions for 113 yards. He was released by the Argonauts on June 8, 2019, as part of final training camp cuts.[3]
Winnipeg Blue Bombers
On July 22, 2019, Williams was signed to a practice roster agreement by the Winnipeg Blue Bombers.[4][5] He played in five regular season games for the Blue Bombers and was on the practice roster while the team won the 107th Grey Cup. He then became a free agent on November 26, 2019.[4]
Ottawa Redblacks
Williams signed with the Ottawa Redblacks on February 10, 2020.[6] He re-signed with the Redblacks on January 19, 2021.[7] He retired from football on June 22, 2021.[8]