Schnyder played in 59 Grand Slam tournaments, including 52 in a row from 1997-2009, and her best showing was making the semifinals at the 2004 Australian Open.
"It's time to close this amazing chapter of being a tennis player," the 32-year-old Schnyder said. "It's a very emotional decision. ... It's overwhelming feelings, and I'm going to need some time."
Schnyder, who turned professional in 1994, is ranked 55th in the world but her highest ranking was No. 7 in 2005.
Not reaching the last match of a Grand Slam tournament will remain Schnyder's only regret, however.
"The Grand Slam final was definitely a dream, and it will remain a dream," Schnyder said.
Schnyder, who was born in Basel, the same town as Roger Federer, compiled a 555-370 career record. She also won 11 singles titles in her career, but had only three wins in 12 matches this season.
Clinching the title in Zurich in 2002 was one of her career highlights, she said.
"The evening after singles (at the French Open) I said, 'I've reached my 100 percent,'" Schnyder said. "That's just a feeling of my heart. It feels right."