Snead signed a contract with the 49ers on Friday, Aaron Wilson of Pro Football Network reports.
Snead recently worked out with the Cardinals and came away without a deal, but a different NFC West team has decided to bring him in. The 29-year-old wide receiver will compete for a depth role in a receiving corps that lacks an established No. 3 option behind Deebo Samuel and Brandon Aiyuk.