He made his professional debut in 2012 with the Arizona League Rangers, hitting .313/.375/.448 with two home runs in 201 at bats over 48 games. He played the 2013 season with the Hickory Crawdads.[6] He played in 95 games during the season, hitting .293/.337/.543 with 17 home runs, 15 walks, and 110 strikeouts over 376 at bats.
Prior to the 2014 season, Williams was ranked by Baseball America as the Rangers fourth-best prospect, and the 97th-best overall in baseball.[7][8] Playing for three minor league teams in 2014, he hit .283 with 22 walks and 140 strikeouts in 452 at bats.[9] After the season he played for the Surprise Saguaros in the Arizona Fall League, and hit .277 with 1 walk and 32 strikeouts in 112 at bats.[9]
In 2016, in 125 games for the Lehigh Valley IronPigs in the International League in Triple A, Williams batted .258 with 13 home runs and 64 RBIs along with a .287 on-base percentage.[12] He walked 19 times, and struck out 136 times in 497 at bats.[12] That season, Manager Dave Brundage benched him a number of times, for disciplinary reasons ranging from him failing to hustle to him showing up opponents.[13] Williams reacted to his benching by his manager, saying: "That’s his decision. I can’t do anything about it."[14] Phillies manager Pete Mackanin said he was concerned about Williams "because we’re trying to establish a culture of playing the game the right way and we want players who grind it out, we want players who show energy."[15] The Phillies added him to their 40-man roster after the 2016 season.[16]
In 2017, he batted .280/.328/.511 with 15 home runs and 44 RBIs for Lehigh Valley, and walked 16 times while striking out 90 times in 282 at bats.[17]
In 2019 he batted .316/.381/.574 with 10 home runs and 25 RBIs for Lehigh Valley, and walked 14 times while striking out 52 times in 190 at bats.[18]
Major Leagues
The Phillies promoted Williams to the major leagues on June 30, 2017,[19] and Williams made his MLB debut that night. On July 9, Williams hit his first MLB home run off of Trevor Cahill of the Padres.[20] Nine days later, on July 18 Williams hit his first career grand slam against the Brewers.[21] As to his defense in the outfield and baserunning, beat writer Matt Gelb wrote in The Philadelphia Inquirer: "Progress is needed on defense and the bases. Williams has overcome bad reads in the outfield with his speed. But he’s shown cracks there. And, as a baserunner, Williams has committed mental mistakes. His instincts are not the sharpest. Sometimes, raw talent can rise above that."[22] He batted .288/.338/.473 for the 2017 season with the Phillies with 12 home runs, one stolen base, and 55 RBIs, and walked 20 times while striking out 97 times in 313 at bats.[9] On defense, he had a -9 Defensive Runs Saved (DRS) rating, the worst in the National League among right fielders.[23]
In 2018 he batted .256/.330/.434, with 16 home runs, 3 stolen bases, 58 RBIs, and 111 strikeouts in 407 at bats.[24] On defense, he had a -15 Defensive Runs Saved rating, the 2nd-worst in the National League among right fielders, behind Bryce Harper.[25][26]
In 2019 he batted .151/.196/.245, with 2 home runs, 5 RBIs, and 43 strikeouts in 106 at bats (striking out 38.4% of the time).[27][28] His batting average, on base percentage, and OPS (.442) were the lowest of all 219 NL batters who had 100 or more plate appearances, and his strikeout percentage was the highest.[29]
On August 11, 2020, Williams was designated for assignment by the Phillies.
Cincinnati Reds
On August 15, 2020, Williams was claimed off waivers by the Cincinnati Reds and optioned to their alternate training site.[30] On September 15, Williams was designated for assignment by the Reds without appearing in a game for the club.[31] He became a free agent on November 2.[32]
Chicago White Sox
On January 15, 2021, Williams signed a minor league contract with the Chicago White Sox organization.[33] He was selected to the major leagues on April 8, to fill in for the injured Billy Hamilton.[34] That night he was the starting left fielder for the White Sox, playing in his first MLB game since 2019. On April 15, Williams was designated for assignment after going hitless in 13 plate appearances for the team.[35] On April 17, he was outrighted to the alternate training site.[35] He was released by the White sox organization on August 3. In 126 at–bats for the Triple–A Charlotte Knights, he hit .262 with four home runs and 13 RBI.
Toros de Tijuana
On April 11, 2022, Williams signed with the Toros de Tijuana of the Mexican League.[36] In 84 games for Tijuana, he batted .370/.454/.718 with 29 home runs and 72 RBI.
In 2023, Williams made 44 appearances for the Toros, hitting .304/.389/.519 with 9 home runs and 28 RBI.[37]
Hanwha Eagles
On June 18, 2023, Williams signed with the Hanwha Eagles of the KBO League.[38] In 68 games for the Eagles, he hit .244/.275/.403 with 9 home runs and 45 RBI. Williams became a free agent following the season.
Toros de Tijuana (Second stint)
On January 16, 2024, Williams signed with the Toros de Tijuana of the Mexican League.[39] In 38 games for Tijuana, he batted .250/.338/.406 with four home runs and 15 RBI.
Personal life
Williams began dating Brianna Goodfriend, whom he later married, while playing for the Frisco RoughRiders.[40][41] His father is African American and his mother is Mexican American.[42]