Johnson played college football at the University of Texas.[2] He started in 18 of 42 total games played during his time at UT. During Spring 2014, Johnson was a member of the Big 12 Commissioner's Honor Roll. While at UT, Johnson was a physical culture and sports major with a career interest in either physical therapy or sports medicine.[1]
All values from Texas Pro Day on March 23, 2016.[3]
Philadelphia Eagles
Johnson signed with the Philadelphia Eagles as an undrafted free agent on May 5, 2016.[4] He suffered a quadriceps injury early in training camp that caused him to miss most of the practices.[5] He was waived during final roster cuts on September 3, but was re-signed to the team's practice squad the next day.[6][7] He was released by the Eagles on September 13, but was later re-signed back to their practice squad on December 2. He signed a reserve/future contract with the Eagles on January 2, 2017.[8]
After impressing coaches during training camp in 2017, Johnson made the 53-man roster on September 2.[9] In Week 5 against the Arizona Cardinals, he recorded his first career catch: a six-yard reception.[10] Johnson was a member of the Eagles' Super Bowl LII Championship team after defeating the New England Patriots 41–33. However, he was inactive in that game, including all other post-season games that year, as well as five of the six final games of the season.[11]
Seattle Seahawks
On March 7, 2018, Johnson and a 2018 fifth-round draft pick were traded to the Seattle Seahawks in exchange for Michael Bennett and a 2018 seventh-round draft pick.[12] The trade became official on March 14, 2018, at the start of the new league year.[13]
Indianapolis Colts
On September 1, 2018, Johnson was traded to the Indianapolis Colts for tight end Darrell Daniels.[14] In Week 6 against the New York Jets, he scored his first professional touchdown.[15] He was placed on injured reserve on October 16, causing the Colts to sign Dontrelle Inman, after suffering an ankle injury in that game.[16]
Johnson was waived/injured during final roster cuts on August 31, 2019,[17] and reverted to the team's injured reserve list the next day. He was waived from injured reserve with an injury settlement on September 9. On October 1, Johnson was re-signed to the Colts' practice squad.[18] He was promoted to the active roster on November 9 and played his first career start on November 17 against the Jacksonville Jaguars.[19]
In Week 14 against the Tampa Bay Buccaneers, Johnson caught three passes for 105 yards, including a 46-yard touchdown, in a 38–35 loss.[20] This season had been his most productive so far, catching 17 passes for 277 yards and 2 TD's.
On April 22, 2020, Johnson was re-signed to a one-year contract.[21] He was waived on September 5.[22] On September 23, Johnson was signed to the practice squad.[23] He was elevated to the active roster on October 3 for a Week 4 game against the Chicago Bears, but reverted to the practice squad afterwards. He was again promoted to the active roster on October 10, for their Week 5 game against the Cleveland Browns, and again reverted to the practice squad.[24][25] For the third consecutive week, he was promoted to the active roster on October 17.[26] In their Week 6 game against the Cincinnati Bengals, he recorded a career-high 108 receiving yards, where the Colts achieved a 31–27 victory.[27] On January 2, 2021, Johnson was waived by the Colts.[28]
Tennessee Titans
On January 6, 2021, Johnson signed to the Tennessee Titans' practice squad.[29] His practice squad contract with the team expired after the season ended on January 18.[30] He re-signed with the Titans on March 9.[31] Johnson was placed on injured reserve on September 2, just after earning a spot on the 53-man roster.[32] He was activated on October 9,[33] and placed on injured reserve again on November 23 after a hamstring injury while facing the Houston Texans.[34] This effectively ended his season.[35] As a Titan, he played in 7 games, starting in 3, and recorded 9 catches for 160 yards.
On September 6, 2022, Johnson was signed to the New York Giants practice squad.[38] Johnson was elevated from the practice squad for their Week 4 game against the Chicago Bears, and again for their Week 5 game against the Green Bay Packers.[39][40] On October 15, he was elevated from the practice squad for the third time that season for their Week 6 game against the Baltimore Ravens.[41] Because the Giants had elevated him from the practice squad for the maximum of three times that season, they officially signed Johnson off the practice squad on October 18.[42] He finished the season starting a career-high seven games, while playing in 14 games, with 9 catches for 99 yards, including a 17-yard catch in his first career post-season game.[43]
He had signed a 1-year, $1,035,000 contract with the Giants for the 2022 season, and became an unrestricted free agent the following year.[44]