The Polish international joined Juve in 2017 from Arsenal as back-up to club legend Gianluigi Buffon.
The 29-year-old took over as number one after Buffon’s departure to Paris Saint-Germain and has held on to the role despite the veteran Italian’s return to Turin this season.
“This renewal is a demonstration of the club’s trust in me,” Szczesny told Juventus TV.
“I’m very happy and I’ll try to give my best. I’ll be here for another four years and I want more titles, I want to win everything.
“You have to sweat, run and sacrifice yourself to achieve this goal that is mine but also that of the club.”
Szczesny joined the club following a two-year loan spell at Roma and has played 84 matches, winning two Serie A titles, one Coppa Italia and an Italian Super Cup.
Juve’s reign as eight-time Serie A champions is under threat this season as they sit in second place in Serie A behind leaders Inter Milan on goal difference.
Third-placed Lazio trail the pair by a point.
Juve play AC Milan in the Italian Cup semi-final first leg on Thursday, and are through to the Champions League last 16 where they will play Lyon later this month.