The ex-Nigeria captain spent the 2018-2019 season in England's second tier with Middlesbrough before joining Turkish Super Lig side Trabzonspor.
However, Mikel left the club in March after expressing concerns about the league's decision to continue playing matches as the coronavirus pandemic took hold in Europe.
He is Stoke's fourth signing during the off-season, following Morgan Fox, James Chester and Steven Fletcher to the bet365 Stadium.
"We're delighted to bring John to the club. His playing career speaks for itself and underlines his calibre as a player," manager Michael O'Neill said.
"I was really impressed with him when we met for the first time and he outlined what he wants from the next phase of his career.
"We spent four hours talking and he made it clear he wants to get back into the Premier League and finish his career there and hopefully he can do that with Stoke City."
Mikel won two Premier League titles, three FA Cups and the 2011-2012 Champions League during a glittering career with Chelsea.
He earned 91 senior caps for Nigeria, played in two World Cups and lifted the 2013 Africa Cup of Nations before announcing international retirement last year.