The striker scored in Milan’s 2-0 win against Lazio on Sunday in what was his first appearance for the Italian club since the end of last season, after he was ruled out of Euro 2020 due to a knee injury.
The 39-year-old was due to start an Anfield in his side’s Champions League opener but has suffered an Achilles tendon strain.
“Ibrahimovic would have started,” Milan manager Stefano Pioli said at his pre-match press conference. “An inflamed tendon after four months out can happen.
“He was fine but after the [Lazio] match, he felt a little discomfort. This morning, he tried to train but he felt pain so there’s need to take such a risk at this time of the season.
“Tomorrow’s is a hugely important game, but we have so many more.”
Milan have won all three of their opening games in Serie A and are back in the Champions League for the first time since 2014.
Ibrahimovic, who has scored 53 goals in the competition but is yet to win it, has not played in the Champions League since he was with Manchester United in 2017.
Former Chelsea and Arsenal striker Olivier Giroud will likely start up front for Pioli’s side at Anfield in Ibrahimovic’s absence.