The deal is worth $555,000.
Peguero, 25, batted .316/.354/.408 in 70 games with Triple-A Fresno. He also appeared in 18 games with the Giants, going 6-for-29 with his first major league home run. His at-bats during 2013 were limited because of a concussion sustained in June that shelved him for a month.
The Giants non-tendered Peguero and attempted to re-sign him, but he reached agreement with the Orioles and took his physical yesterday.
In eight minor league seasons, Peguero is a career .306/.337/.427 hitter over 690 games. He's appeared in 35 major league games since 2012, batting .200/.217/.289 in 46 plate appearances.
Peguero was named the 98th-best prospect in baseball by MLB.com prior to the 2012 season, and was a Baseball America top 10 prospect after each season from 2009-2012.
Peguero will compete for a spot as an extra outfielder. He plays all three spots. But he's not penciled in as a starter in left field.
"He's an above-average runner, thrower, fielder and hitter," said executive vice president Dan Duquette. He has good tools. He's a lifetime .300 hitter in the minors. He's average in center field and well above-average in left and right. He's got an excellent arm. A very good contact hitter.
"This kid has good talent. He just needs an opportunity. I'm glad we could add him to the organization."
Duquette noted that the Orioles remain in the market for a left-handed hitting outfielder.
The Orioles now have 38 players on the 40-man roster. Reliever Ryan Webb will take his physical early next week before signing a two-year, $4.5 million contract.