The club confirmed he is the fourth signing of the summer.
“The Nigerian international midfielder joins Morgan Fox, James Chester and Steven Fletcher in checking in at the bet365 Stadium ahead of the 2020/21 Championship season,” a statement by the club’s website stated.
Manager Michael O’Neill told the club’s website: “We’re delighted to bring John to the Club. His playing career speaks for itself and underlines his calibre as a player.
“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 made more than 370 appearances for Chelsea, helping them to land the Premier League title twice, as well as three FA Cups, the Champions League and Europa League.
After a spell in China, he played for Middlesbrough after joining them on a short-term deal in January 2019, making 19 appearances. He won 91 caps before retiring from international football following last year’s African Cup of Nations.
Mikel described joining Stoke as “a new chapter”.