Petrov, who has also played for Atletico Madrid and Bolton Wanderers, said that he is unsure whether he will stay in football, but will stop playing with immediate effect.
"Everything has a beginning and an end," Petrov told reporters. "I think it's time to stop playing football. I haven't yet decided what I'll be doing from now on."
Petrov scored 19 goals in 90 appearances for Bulgaria.