The Colombian-born player, who was 18 when he was on target against France at Euro 2004, quit just over a year ago at the age of 26 because of a knee injury.
His last professional club was Itagui in the country of his birth.
"Johan is an exceptionally good player," Grasshoppers sporting director Dragan Rapic said in a statement on Tuesday. "We're convinced he will strengthen our attack."
Vonlanthen's story is typical of many players from smaller football countries who leave clubs at an early age, fail to settle at their new team and then see their career stall.
The son of a Colombian father and Swiss mother, he was raised at Young Boys Berne where he made his debut at 16 and became the youngest player to score in the Swiss top flight.
Vonlanthen left Young Boys in 2003 for Dutch club PSV Eindhoven where he stayed until 2006. He also had loan spells at Brescia, in Italy, and NAC Breda, another Dutch club.
After being ruled out of the 2006 World Cup with a hamstring injury, he joined Austrian side Salzburg, stayed until 2009 and returned to Switzerland to play for FC Zurich.
Vonlanthen returned to Colombia to play for Itagui in 2011.
He made 40 appearances for Switzerland and scored seven goals.
Grasshoppers, Switzerland's most successful team in terms of domestic titles, finished second in the league this season and won the Cup, their first major trophy in more than 10 years.