After redshirting his first year at Ohio State in 2013, Marshall played in all 15 games as a redshirt freshman in 2014. He finished second on the team with 38 receptions for 499 yards and six touchdowns. The receptions were second most by an Ohio State freshman behind Cris Carter's 41 in 1984. Marshall also added a rushing touchdown and a punt return touchdown. Marshall was suspended for the first game of his redshirt sophomore year in 2015 due to a violation of team rules. He returned from suspension and played in the final 12 games. He finished the year with 36 receptions for 477 yards and five touchdowns. After the season, Marshall decided to forgo his remaining two years of eligibility and entered the 2016 NFL Draft.
Marshall signed as an undrafted free agent for the New York Jets on April 30, 2016. Going into the regular season, Marshall was named the fourth wide receiver on the Jets depth chart behind veterans Brandon Marshall, Eric Decker, and Quincy Enunwa. He was also given punt and kick return duties. He made his professional regular season debut in the Jets' season opener against the Cincinnati Bengals and finished with three kick returns for 36-yards and two punt returns for 5-yards. He finished that game with three catches for 45 receiving yards in a 37–31 victory over the Buffalo Bills. On November 6, 2016, Marshall caught three passes for 59 receiving yards and caught an 18-yard touchdown pass from Ryan Fitzpatrick for his first career touchdown during a 23–27 loss to the Miami Dolphins. During his rookie season, Marshall was diagnosed with a torn labrum on his right shoulder, but managed to power through it and play 10 games with 162 receiving yards and two touchdowns. He also made 13 kickoff returns for 324 yards and 18 punt returns for 100 yards. On March 7, 2017, it was announced that Marshall would be suspended the first four games of the 2017 season for violating the NFL policy on performance enhancing substances. On October 14, 2017, after being reinstated from suspension, Marshall was waived by the Jets and was re-signed to the practice squad. He signed a reserve/future contract with the Jets on January 1, 2018. He was waived by the Jets on April 28, 2018.
Dayton Hornets
He eventually played semi-pro football in Dayton, Ohio with the Dayton Hornets.
Orlando Apollos
In 2019, he signed on to play for the Orlando Apollos of the Alliance of American Football for the inaugural 2019 season. In the Apollos’ first game against the Atlanta Legends, Marshall scored the first-ever touchdown in both the Apollos' and AAF's history. In 8 games, Marshall caught 26 passes for 364 yards and 3 touchdowns. He also had a single rush for 2 yards, caught a 2-point conversion, and threw a 5 yard touchdown pass.
After the AAF's shutdown in April 2019, Marshall signed with the Oakland Raiders on May 7, but was waived two days later.
Hamilton Tiger-Cats
Marshall signed to the practice roster of the Hamilton Tiger-Cats of the Canadian Football League on June 18, 2019. On June 19, 2019, it was announced that he was suspended by the NFL for the first four weeks of the 2019 NFL season. He was promoted to the Tiger-Cats' active roster on June 27, and moved back to the practice roster on July 12. He was promoted to the active roster again on July 31, and moved back to the practice roster again on August 9. He was promoted again on August 23, and moved to the practice roster again on August 31. He was promoted to the active roster for the fourth time on September 19. He was reinstated from NFL suspension on October 1, 2019, while still a member of the Tiger-Cats' active roster.