Cotton signed with the Los Angeles Chargers as an undrafted free agent on April 25, 2020.[2] He was waived by the Chargers during final roster cuts on September 5, 2020, but was signed to the team's practice squad the next day.[3]
Jacksonville Jaguars
Cotton was signed by the Jacksonville Jaguars on July 31, 2021.[4] He was cut by the Jaguars at the end of training camp on August 31, 2021, and was re-signed back to the team's practice squad.[5][6] Cotton was elevated to the active roster on January 2, 2022, for the team's Week 17 game against the New England Patriots and made his NFL debut in the game.[7] He signed a reserve/future contract on January 10, 2022.[8]
On August 30, 2022, Cotton was waived by the Jaguars.[9]
Arizona Cardinals
On September 14, 2022, Cotton signed with the practice squad of the Arizona Cardinals.[10] He was released off the practice squad six days later.[11]
Green Bay Packers
On November 9, 2022, Cotton was signed to the Green Bay Packers practice squad.[12] He signed a reserve/future contract on January 10, 2023.[13] He was waived/injured on July 26, 2023.[14]