Kittle has been playing through the injury since suffering it in Week 1 against the Detroit Lions. But he did not participate in practice all week and had been considered doubtful for Sunday's game against the Arizona Cardinals before the IR move.
Kittle, a two-time Pro Bowler, ranks second on the 49ers with 19 receptions and 227 yards this season.
This is the third straight year Kittle has missed time with injuries. He missed two games in 2019 with a knee injury and eight games last season with injuries to his knee and foot.
San Francisco activated Nate Sudfeld from the practice squad for Sunday's game to serve as Lance's backup. Tight end Tanner Hudson also was elevated to the active roster for the game.
The Niners promoted wide receiver Travis Benjamin from the practice squad to take Kittle's spot on the active roster.
ESPN's Nick Wagoner and The Associated Press contributed to this report.