The Pirates announced the signing on Monday. The 29-year-old has appeared in 18 major league games for St. Louis, Seattle and the Los Angeles Angels.
Hudson is a career .167 hitter with one RBI in 30 career at-bats. He will be in the mix to compete for the backup job behind Jacob Stallings, a Gold Glove finalist in 2020.
Hudson was originally a sixth-round pick by Cincinnati in the 2012 first-year player draft.