Gower fell down the pecking order at Swansea following the arrival of manager Michael Laudrup and was loaned out to Charlton in March.
The 34-year-old featured regularly in the closing weeks of the campaign and Addicks boss Chris Powell was glad to secure the free agent's services on a permanent basis from July 1.
"Mark is a player who came in towards the end of last season and, after initially having to wait for his chance, made a real impact in the final few games," Powell told the club's website.
"He offers us good experience in the middle of the park, is a good user of the ball and has played in the Premier League with Swansea.
"He is a player I have had my eye on for a while, even before he joined us on loan, and he adds to the competition for places in midfield.
"Along with the likes of Andy Hughes, who signed a new contract last week, he is another good character and I'm very glad to have him on board for next season."