Hills gets a one-year deal for $850,000, while the team did not reveal Johnson's contract details.
Hill, 31, has spent the past four seasons in the Cubs organization, backing up Geovany Soto the past two. He batted .214 with one home run and 17 RBIs last season.
Johnson, 34, returns to the Cubs after a season with the Dodgers. He played in Chicago from 2008-09 and batted .287. He's a lifetime .281 hitter who plays primarily left and center field.
Bruce Levine covers baseball for ESPNChicago.com and ESPN 1000.