A 2002 fifth-round pick (154th overall) out of Michigan by the New York Jets, Goodwin started spent much of his first three seasons in the league backing up Kevin Mawae, stepping in to replace an injured Mawae for the final 10 games of the 2005 season.
Signed by the New Orleans Saints as a free agent in 2006, Goodwin backed up Jeff Faine for two seasons before becoming the full-time starter in 2008. Over the last three seasons, Goodwin has started 45 games for the Saints, earning Pro Bowl honors after the 2010 season.
The 32-year-old Goodwin will likely start for the 49ers, who released center Eric Heitmann and lost David Baas to the New York Giants in free agency.
San Francisco also signed special teams linebacker Blake Costanzo to a one-year deal.