The 32-year-old centre-back has made 376 appearances for the club, returning to Turin in August 2018 after one season at rivals AC Milan.
He has played the full 90 minutes of all matches Juve have played this campaign, as they sit top of Serie A, one point ahead of Inter Milan in second.
“It’s a long and intense story; the one that links Leonardo Bonucci to Juventus,” the club said in a statement.
“And it’s a story that will continue to develop until 2024, after he officially penned in his contract renewal with the club today.
“Since his arrival at the club in 2010/11, Bonucci has played more games than anyone else, in all competitions.
“He is the player who, even this season, hasn’t stopped.
“In total, he has featured for Juventus in 1440 minutes of action played since the first official game at the end of August.
“In short, he has been a constant on the field.
“He is the only defender to have scored at least one goal in the last seven seasons of Serie A, and whilst wearing the Black and White jersey, he has scored 17 times.”
Bonucci has won 14 trophies in total with Juventus since arriving from southerners Bari in 2010, including seven Scudetto titles.
This season he has been promoted to captain while Giorgio Chiellini recovers from injury.