The move Wednesday comes one day after the Padres declined to tender a contract to shortstop Everth Cabrera, an All-Star in 2013 who has had off-field drug issues.
Barmes spent the past three seasons with Pittsburgh. He played in only 48 games this year with 102 at-bats, hitting .245 with seven RBIs. He is a .246 career hitter.
Barmes played with division rival Colorado from 2003-10.
Cabrera faces charges of resisting arrest and possession of marijuana in a car after he was stopped by authorities in eastern San Diego County on Sept. 3, while he was on the disabled list. He is scheduled to be arraigned Dec. 8.
He was suspended by Major League Baseball for the final 50 games of the 2013 season for violating the sport's drug agreement in relation to its Biogenesis of America investigation.