Pena, 30, hit .236 with 10 doubles, two home runs and 25 RBIs in 68 games with the Royals last season. He hit .320 with runners in scoring position.
"We are pleased to add an experienced catcher like Brayan Pena to our club," Tigers general manager Dave Dombrowski said in a statement. "As a switch-hitter, he will serve as a solid complement to Alex Avila as our backup catcher for the 2013 season."
Pena has spent eight seasons in the big leagues, with the Braves (2005-08) and Royals (2009-12). He is a career .248 hitter with 46 doubles, 14 home runs and 98 RBIs in 335 games.
Hoffman appeared in 43 games for Triple-A Toledo last season, going 1-2 with a 3.69 ERA (19 earned runs in 46 1/3 innings).