A scan revealed Stamkos's fractured right tibia had not healed sufficiently for him to play, the Tampa Bay Lightning, the player's National Hockey League team, said.
"Today is obviously very disappointing for me," the Lightning center said in a statement released by the team.
"I honestly believe that we did everything possible in order to have my injured leg ready in time for the Olympics, but I realise you can't force healing.
"I know, in the best interest of my long term health, I cannot represent Canada in Sochi, as much as I would like to."
Team Canada is expected to announce Stamkos's replacement in the next few days.
Claude Giroux of the Philadelphia Flyers, Marty St. Louis of the Lightning and James Neal of the Pittsburgh Penguins are candidates.
Stamkos, who turns 24 on Friday, fractured his tibia during an NHL game against the Boston Bruins in November, causing him to miss 39 regular season games.
The two-time NHL All-Star led the league in scoring in 2010 and 2012, and was tied with Alex Steen as the NHL's top goal scorer, and with Sidney Crosby for the points lead at the time of his injury.
Stamkos won gold at the world junior championships in 2008 and played for Canada at the world under-18 tournament and multiple world championships.
He was not selected for the gold medal-winning Canadian team for the 2010 Vancouver Games.
Crosby will captain Canada, due to leave for Sochi on Sunday. They play their first game against Norway on February 13.