The
Washington Redskins signed Williams as an undrafted free agent on April 28, 2013.[3] He was released during final cuts,[4] but signed to the practice squad a few days later.[5] On November 8, Williams was promoted to the active roster in place of
Chris Thompson.[6] He made his NFL debut in Week 11 against the
Philadelphia Eagles, where he had a five-yard reception and scored a two-point conversion.[7]
Williams was signed to the team's practice squad on August 31, 2014, after being waived the day before.[8] He was waived by the team on September 9, 2014.[9]
Atlanta Falcons
On February 24, 2015, Williams signed with the
Atlanta Falcons.[10] Williams played in 14 games with the Falcons in 2015, catching 17 passes for 159 yards and two touchdowns.[11]
On September 4, 2016, Williams was released by the Falcons and was signed to the practice squad the next day.[12][13] He was promoted to the active roster on December 9, 2016.[14]
Williams only played in one game for the Falcons in 2017, recording three receptions for 30 yards in a Week 4 loss to the
Buffalo Bills.
Tennessee Titans
On May 16, 2018, Williams signed with the
Tennessee Titans.[17] He was released on September 1, 2018.[18] He was re-signed on September 18, 2018.[19] Following a Week 5 game in which he dropped a potential go-ahead touchdown from
Marcus Mariota, Williams was released by the Titans on October 9, 2018.[20]
Los Angeles Rams
On October 16, 2018, Williams was signed by the
Los Angeles Rams.[21] He was released on November 30, 2018.[22]
Denver Broncos
On July 26, 2019, Williams was signed by the
Denver Broncos.[23] He was released on August 26, 2019.[24]
San Francisco 49ers
On August 27, 2019, Williams was signed by the
San Francisco 49ers.[25] He was placed on
injured reserve on August 31.[26] He was released from injured reserve with an injury settlement on September 6.