The San Francisco Giants selected Reynolds in the second round of the 2016 Major League Baseball draft. He signed and was assigned to the Salem-Keizer Volcanoes, where he made his professional debut. He was later promoted to the Augusta GreenJackets. In 56 total games between Salem-Keizer and Augusta, Reynolds batted .313 with six home runs, 38 RBIs, and an .847 OPS. He spent 2017 with the San Jose Giants where he posted a .312 batting average with ten home runs and 63 RBIs in 121 games.[7] He participated in the 2017 All-Star Futures Game.
On January 15, 2018, the Giants traded Reynolds, Kyle Crick, and $500,000 of international bonus slot money to the Pittsburgh Pirates in exchange for Andrew McCutchen and cash considerations.[8]MLB.com ranked Reynolds as Pittsburgh's sixth best prospect going into the 2018 season.[9] Reynolds began 2018 with the Pirates Double-A team the Altoona Curve. He was placed on the disabled list retroactive to April 9, underwent hand surgery in mid-April, and was activated on May 29.[10][11] Reynolds played in 88 games for the Curve driving in 46 runs along with a .302 batting average. In 2019 he started the season with the Pirates Triple-A team the Indianapolis Indians.
On April 20, 2019, the Pirates promoted Reynolds to the major leagues.[12] He made his major league debut that afternoon versus the San Francisco Giants and recorded his first career hit, a single, off Derek Holland.[13] On April 30, he hit his first major league home run off Texas Rangers' reliever Jesse Chavez.[14] Reynolds began his major league career with a hitting streak of eleven games.[15] He finished the season fourth in National League Rookie of the Year voting,[16] playing in 134 games.
In the pandemic-shortened 2020 season, Reynolds hit .189/.275/.357 with seven home runs and 19 RBIs in 55 games. His performance improved significantly the following season: he was one of two Pirates, along with Adam Frazier to play in the 2021 All-Star Game, where he started in center field and batted eighth.[17][18] He finished the 2021 season hitting .302/.390/.522 with 24 home runs and 90 RBIs. He tied for the major league lead with eight triples.
On April 14, 2022, Reynolds signed a two-year contract worth $13.5 million with the Pittsburgh Pirates.[19][20] On June 29, Reynolds hit three home runs in an 8–7 victory over the Washington Nationals.[21] After a slow start to the season, Reynolds finished 2022 hitting .262/.345/.461 with 62 RBIs, and a career high 27 home runs.
On April 25, 2023, Reynolds and the Pirates reached an agreement on an 8-year contract worth $106.75 million. The contract broke the record for both the largest in Pirates history, as well as the largest for any MLB player outfielder who was drafted out of college.[22]