Mikel, 33, spent 11 seasons at Chelsea, helping the London side to win two league titles, three FA Cups and the Champions League.
"We're delighted to bring John to the club," Stoke manager Michael O'Neill said in a statement.
"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."
Stoke finished 15th in the English League Championship last season.