Vettel won his four F1 titles from 2010-13 with the Red Bull team. His last race victory came with Ferrari in 2019.
This season with Aston Martin, he has been largely unsuccessful with a best finish of sixth place.
"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.
"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."
Vettel won 53 races, the third-highest total in F1 behind Lewis Hamilton (103) and Michael Schumacher (91). He won an F1 record 13 races in 2013.
Vettel became the youngest world champion at 23 in 2010 and later became the third driver to win four consecutive championships after F1 greats Juan Miguel Fangio and Michael Schumacher. Mercedes driver Lewis Hamilton has since joined them.
"I love this sport. It has been central to my life since I can remember," Vettel posted on his Instagram video.
"But as much as there is life on track, there is my life off track, too. Being a racing driver has never been my sole identity."
Vettel's title bids with Ferrari were unsuccessful after promising starts were undone by driver errors under pressure. He led the standings at the midway point in 2017 and was in contention the following year, only to lose both championships to Hamilton. He crashed from pole position at the Singapore GP in 2017 and swerved off track into the barriers when comfortably leading the rain-soaked German GP the following year.
He was stunned when Ferrari did not renew his contract after he struggled to compete alongside newcomer Charles Leclerc in 2019, and again in 2020. He thought about retiring then, before joining Racing Point in 2021.
Along with Hamilton, Vettel has also been increasingly vocal about human rights conditions in countries where F1 races and environmental issues.
"I am tolerant and feel we all have the same rights to love, no what what we look like, where we come from and who we love," he said.
"I believe in change and progress and every little bit makes a difference."
At the Austrian GP in Spielberg three weeks ago, he wore a T-shirt with "Save the Bees" written on it. At the Canadian GP in June he had the message, "Stop mining tar sands. Canada's climate crime," written on his race helmet.
"I feel we live in very decisive times and how we all shape these next years will determine our lives. My passion comes with certain aspects that I have learned to dislike," Vettel said.
"They might be solved in the future but the will to apply that change has to grow much, much stronger and has to be leading to action today. Talk is not enough and we cannot afford to wait. There is no alternative. The race is under way."
Vettel's team is sponsored by Saudi state oil firm Aramco.