"I have about a year or two left," he told USA Today's Mark Medina. "I'm serious this time. I got two left."
Iguodala, 36, is currently playing in his 16th season. He opened the campaign with the Memphis Grizzlies but didn't play a game for the club before being traded to Miami at the February deadline.
As part of the swap, Iguodala reportedly agreed to a two-year extension with the Heat that contains a team option in 2021-22; if exercised, the former Finals MVP would remain under contract until he's 38.
However, Iguodala says he wants to step away from the game soon in order to help raise his teenage son.
"He lives a rich and soft life," he said. "So, I have to prepare him to be self-sufficient. He's smart enough, but he hasn't dealt with any danger.
"Coming from where we come from, it helps us in terms of having street awareness. You have to scope the scene and know there is danger around. But he's so comfortable that I have to rein him in."
This isn't the first time Iguodala has openly discussed his own retirement. He told The New York Times' Marc Stein in June 2019 that he wasn't considering playing another handful of seasons.
"I have a good idea how much longer I want to play," the then-Golden State Warriors forward said. "I'm keeping it to myself, but it's going to be soon. I can play four or five more years. But I won't."