The 35-year-old German, who currently drives for Aston Martin, won four successive titles from 2010 to 2013 with Red Bull.
His 53 Grand Prix victories place him third on the all-time list behind Lewis Hamilton (103) and Michael Schumacher (91).
"The decision to retire has been a difficult one for me to take, and I have spent a lot of time thinking about it," Vettel said in a team statement.
"At the end of the year I want to take some more time to reflect on what I will focus on next; it is very clear to me that, being a father, I want to spend more time with my family. But today is not about saying goodbye.
"Rather, it is about saying thank you - to everyone - not least to the fans, without whose passionate support Formula One could not exist."
Vettel joined Aston Martin last season after six years at Ferrari, with whom he twice finished runner-up for the world title to Hamilton in 2017 and 2018.
He came 12th in 2021 with his new team after achieving just one podium finish. Vettel is 14th in the standings this season.