The 36-year-old right-armer was a member of New Zealand's 15-man World Cup squad but didn't play in any of its nine matches.
Mills made his one-day international debut against Pakistan in 2001, and his test debut in 2004.He played 19 tests, taking 44 wickets at an average of 33, but became a specialist in the shorter forms of the game, taking 240 wickets in 170 ODIs at an average of 27.02 with an economy rate of 4.72. Mills also took 43 wickets in 42 Twenty20s.
He retires with New Zealand's second-highest tally of wickets in ODIs after Daniel Vettori's 305.
"The time is right for me to step away from playing this great game, and devote more time to my family, who have sacrificed so much for me to keep playing the game I love," Mills said.
"There have been many good times and some tough times on the field over the years, but my best memories will be of the team camaraderie and having the time of my life playing cricket for my country with my mates."
Mills reached No. 1 on the world one-day international bowler rankings in 2009 after taking nine wickets in New Zealand's series against Australia.
While he played at three World Cups, his career was persistently dogged by injuries and he required surgeries for chronic shoulder and knee problems.