Chicago had just three outfielders on its 40-man roster before the addition of Pederson, who hit .190 with seven homers and 16 RBIs last season for the World Series champion Los Angeles Dodgers.
The Cubs let Kyle Schwarber go in December, and he signed a $10 million, one-year contract with Washington on Jan. 9. Pederson, another lefty bat with lots of power and some limitations at the plate, likely steps in for Schwarber in left.
For Pederson, who turns 29 in April, it's a chance for regular playing time before possibly trying free agency again next year.
Pederson was selected by Los Angeles in the 11th round of the 2010 amateur draft and spent his first seven seasons with the Dodgers. He is a .230 hitter with 130 homers and 303 RBIs in 748 career games.
While Pederson struggled during the pandemic-shortened season, he set career highs with 36 homers, 74 RBIs and a .249 batting average in 149 games in 2019.
Pederson also appeared in 64 playoff games with Los Angeles, including three World Series. He hit .382 with two homers and eight RBIs during the 2020 postseason, helping the Dodgers win the championship for the first time since 1988.
The 28-year-old Williams was designated for assignment by Pittsburgh after he went 2-8 with a 6.18 ERA in 11 starts last season.
Williams, a second-round pick by Miami in the 2013 draft, broke into the majors in 2016 and spent his first five seasons with the Pirates. The right-hander had his best year in 2018, going 14-10 with a 3.11 ERA in 31 starts.
He has a 31-37 record with a 4.43 ERA in 106 career games, including 94 starts.
Chicago's rotation will have a different look next season after it traded Yu Darvish to San Diego in December and Jon Lester departed in free agency. Williams could compete for one of the last two spots behind Kyle Hendricks, Zach Davies and Alec Mills.
Chafin finished last season with Chicago after he was acquired in an Aug. 31 trade with Arizona. The lefty reliever went 0-1 with a 3.00 ERA in four appearances with the Cubs.
The 30-year-old Chafin is 10-13 with a 3.67 ERA in 341 big league appearances. He has held lefties to a .230 batting average for his career.
Infielder Max Schrock was designated for assignment to make room on Chicago's roster.