The 20-year-old has been with Tottenham for the last nine years, but has only made four first-team appearances for the London club - all of which came during the 2016-17 season.
Carter-Vickers spent time on loan at Sheffield United and Ipswich Town during the 2017-18 campaign, and after signing a new deal, the defender is now "looking to kick on" in a bid to win a first-team spot at Spurs.
"We are delighted to announce that Cameron Carter-Vickers has signed a new contract with the club until 2021," read a statement on Tottenham's official website.
"I'm delighted to sign a new contract. I've worked hard out on loan this season, trying to get as many minutes and games as I could. I feel like I've improved as a player and it's definitely benefited me, to be out at Sheffield United and Ipswich," added Carter-Vickers.
"I feel like I've improved a lot, though, and it gave me great experience going out on loan. Now I'm looking to kick on. The next step for me is to come back for pre-season, get my head down, work hard and try to impress the manager and as many people as I can."