The 2014 World Cup winner earned 106 caps for his country, contributing 17 goals and 19 assists.
He said his priority now would be to focus on his club career with Real Madrid and spending time with his family.
"I have played 106 games for Germany," Kroos wrote. "There won't be another one.
"I was hoping that I could end up with 109 caps and one more major title, the European Championship, and gave my all to try and make that happen. I had long decided that this tournament would be my last.
"I have known for a while that I won't be putting myself forward for Qatar 2022, mostly because I want to be fully focused on my goals with Real Madrid in the coming years. I also want to be able to afford myself some down time that I haven't been able to have in 11 years as a Germany international.
"On top of that, I want to be around more for my wife and three children as a husband and as a father. It has been a huge honour to have been able to wear this shirt for such a long time.
"I always did it with pride and passion. Thank you to all the fans and supporters that helped carry me with their applause and cheering, but also to those critics who gave me extra motivation.
"Finally, I want to sincerely thank Jogi [Joachim] Low. He made me a Germany international and a World Cup winner. He put his faith in me, and we have written a long success story together."
Kroos made his Germany debut in 2010 and was selected for five international tournaments, with the highlight coming in 2014 when Germany won the World Cup in Brazil.