The contract includes a club option for 2017, along with performance and award bonuses.
Ruiz, 34, hit .268 with 16 doubles, five home runs and 37 RBI in 92 games (83 starts) for the Phillies this past season.
Against left-handed pitching, he batted .300 with a .374 on-base percentage and a .463 slugging percentage.
"Numerous times we've stated Carlos' importance to our ballclub," Senior VP & GM Ruben Amaro Jr. said in a statement. "Not only does he combine excellent defense with offensive production, but the last couple years he has developed into a clubhouse leader and someone who is relied upon, not just by the pitchers he works with but by young position players, as well. Carlos is a championship-caliber player at a premium position and we are very happy to have him as a Phillie for 2014 and beyond."
In 2012, Ruiz was selected to the National League All-Star team en route to hitting .325 with 32 doubles, 16 home runs and 68 RBI, all career highs, in 114 games. Over the last four seasons (2010-13), he compiled a .295 batting average, which is third-best among NL catchers in that span. During his first four years (2006-09), Ruiz batted a combined .246.
Originally signed by the Phillies in 1998 as an amateur free agent out of David, Panama, Ruiz has spent his entire professional career with Philadelphia.
He has a .274 batting average with 57 home runs and 336 RBI in 825 career games and started all 46 Phillies playoff games from 2007-11, along with Ryan Howard, Jimmy Rollins, Chase Utley and Shane Victorino.