The 20-year-old defender has joined the Championship side for an initial £1million, which could rise to £2million based on appearances.
Shawcross, who had been on loan with the Potters since last August, has signed a three-and-a-half year deal at The Britannia Stadium.