The 33-year-old goalkeeper Subasic said he made the decision to end his journey with Croatia before the World Cup, and reaching the final in Moscow was a dream come true.
"The time has come for me to say farewell to our favourite jersey, after 10 years in the national team," Subasic, who earned 44 caps, said in a statement.
"I have made this decision long before the 2018 FIFA World Cup, since I wanted to close this international chapter appearing at the world stage.
"We have been dreaming awake during the welcome in Zagreb, my Zadar, and the entire Croatia. These have been the best, most emotional moments of my career, that have defined my international career."
The 32-year-old netted three goals in his team's run to the World Cup final in July, where they fell to a 4-2 defeat by France.
"There is no ideal moment to retire. If possible, we would all play for Croatia until we die, since there is no prouder feeling, but I feel this moment has come for me -- now," the Juventus forward said in a statement on the national team's website.
"I've given my best for Croatia, I have contributed to the biggest success of Croatian football... As of today, my place is alongside you -- among the most loyal Croatia fans."
Apart from two World Cups, Mandzukic also represented Croatia in two European Championships and was named the nation's Footballer of the Year in 2012 and 2013.
Defender Vedran Corluka also announced his retirement from the Croatian national team last week.