Slater, 34, called a press conference in Sydney to announce his retirement and said he hoped to return to full fitness but it would have been irresponsible to sign a new contract with his state team New South Wales (NSW).
"The decision has been a painful one, a very tough one given that I still have the desire to play and believe that I still have a lot to offer New South Wales," Slater said on Wednesday.
Cricket Australia (CA) chief executive James Sutherland paid tribute to Slater, one of the most dashing openers in Australian Test cricket.
"Michael is one of those rare players whose contribution to the game was even greater than his impressive statistics imply," Sutherland said in a statement.
"Fourteen Test tons is pretty impressive, and so was his role helping Australia back to the top.
"But it was his approach and obvious pride in representing his country which inspired countless Australian kids and left fans with our most lasting memories of him as an international player.
"His practice of kissing the Australian coat-of-arms on his helmet upon reaching a century emphasised the passion and pride with which he represented our country."
Slater made his Test debut on the 1993 Ashes tour to England and played 74 Tests, scoring 5,312 runs at an average of 42.83 with 14 centuries.
His top score was 219 against Sri Lanka in Perth in 1995-96.
He played 216 first-class matches over 12 years for Australia, NSW and Derbyshire, scoring 14,912 runs at 40.85.
Slater will be remembered as an exhilarating shot-maker, who formed one half of Australia's most productive opening partnership with former skipper Mark Taylor.