The right-back, who has been capped 54 times for England, was a free agent after leaving the Reds at the end of the season.
Johnson played for Portsmouth, Chelsea and West Ham prior to his move to Anfield in June 2009 for a fee of around £17m.
Turkish side Besiktas were also interested in the 30-year-old, but he has opted to stay in the Premier League with Stoke.
Stoke manager Mark Hughes is confident Johnson experience will help his team progress further next season.
“Glen’s a very experienced player,” Hughes said. “We obviously feel the qualities he has will help us, we are a team that’s trying to progress and we do that by getting good players in to the squad.
“Glen is a player who has played at a high level for a very long time and we can benefit from that.
Midfielder Marco van Ginkel also moved to Stoke on Friday on a one-year loan deal from Chelsea.
The Potters previously attempted to lure Van Ginkel from Vitesse and have continued to monitor the player, who suffered an anterior cruciate ligament following his move to Stamford Bridge.
Van Ginkel spent last season on loan with AC Milan after recovering from his setback, and Hughes is happy with the deal.
Hughes said: “Marco is a player that I have been aware of for quite some time. There was an interest, certainly the club had an interest before he went to Chelsea.
“Obviously when Chelsea got involved we had to step aside, but we’ve always kept an eye on his progress, he had a bad injury which set him back, but he’s come back from that, he’s fit and well now and had a good season at Milan and we’re delighted.”
Stoke have already signed striker Joselu from Hannover for £5.8m, while goalkeepers Jakob Haugaard has arrived from FC Midtjylland and Shay Given from Aston Villa.