The Cacau omission means Loew will travel to Poland and Ukraine with only two out-and-out strikers in Mario Gomez and Miroslav Klose.
"I knew from the start that there would be a lot of competition," said the 31-year-old Brazil-born striker who was part of the 2010 World Cup squad but lost his starting spot at VfB Stuttgart this season.
"Like the younger players I am also very disappointed but still feel part of the team and wish them from the bottom of my heart to play a great Euro."
Loew also left 20-year-old Borussia Moenchengladabach goalkeeper Marc-Andre ter Stegen at home after he conceded five goals in the 5-3 friendly defeat by Switzerland on Saturday.
"I am obviously disappointed. But the defeat on my international debut was an important moment in my career and I hope to get the chance again," Ter Stegen said.
Midfielder Sven Bender was also dropped but his twin brother Lars made the squad.
Germany are in Group B and play Portugal in Ukraine's Lviv on June 9 before facing Netherlands and Denmark.
Goalkeepers: Manuel Neuer (Bayern Munich), Tim Wiese (Werder Bremen), Ron-Robert Zieler (Hanover 96)
Defenders: Holger Badstuber (Bayern Munich), Jerome Boateng (Bayern Munich), Benedikt Hoewedes (Schalke 04), Mats Hummels (Borussia Dortmund), Philipp Lahm (Bayern Munich), Per Mertesacker (Arsenal), Marcel Schmelzer (Borussia Dortmund);
Midfielders: Lars Bender (Bayer Leverkusen), Mario Goetze (Borussia Dortmund), Ilkay Guendogan (Borussia Dortmund), Sami Khedira (Real Madrid), Toni Kroos (Bayern Munich), Thomas Mueller (Bayern Munich), Mesut Ozil (Real Madrid), Lukas Podolski (Cologne), Marco Reus (Borussia Moenchengladbach), Andre Schuerrle (Bayer Leverkusen), Bastian Schweinsteiger (Bayern Munich);
Forwards: Mario Gomez (Bayern Munich), Miroslav Klose (Lazio).
(For more sports news and updates, follow Ahram Online Sports on Twitter: @AO Sports)