General manager John Lynch made the announcement on Twitter: "#Faithful - We've agreed to terms w/ @Tim_Hightower. We got better this week with Tim and @DuJuan_Harris. #brickbybrick #welcometothefamily."
Hightower, 30, joins running back DuJuan Harris, who re-signed with the 49ers earlier this week, as backups to starter Carlos Hyde.
The 6-foot, 220-pound Hightower spent the last two seasons with the New Orleans Saints after being off the field for three-plus years because of a knee injury. He played in eight games for the Saints in 2015, his first appearances since the 2011 season.
Hightower recorded a combined 923 rushing yards, 329 receiving yards and nine touchdowns in the last two years with the Saints as a backup to Mark Ingram.
Hightower began his career with the Arizona Cardinals in 2008 and sustained a torn ACL after being traded to the Redskins in 2011. An infection that was later discovered slowed his recovery.
Hightower has career totals of 2,977 rushing yards, 1,208 receiving yards and 34 touchdowns in six seasons.