The 27-year-old central midfielder has signed a three-year deal at St Andrew’s to become the first new signing of the Lee Bowyer era.
It ends a nightmare two years at Stoke, whom he joined from Brentford in 2019, but spent much of the time on loan at Millwall.
The ex-Salop youngster, who made more than 100 appearances for the club including a starring role in promotion from League Two, was sold to Brentford for up to £1million in 2015 and made Town further funds due to a sell-on clause when he joined Stoke for £6.5m in 2018.
Woods said: “I’m 27 and coming into my prime but I still want to improve. I believe my best days are still in front of me. I wanted to choose a clubthat suits me and will be the best place for me to keep improving.
“To be through the door this early in the summer is a big positive for me. It means I’m here in time for pre-season and gives me chance to get to know everybody.
“This feels like the perfect move for me at this stage in my career. I managed to play a lot of games for Millwall last season and I’m looking to play more football and get back to the best I can be.
“I love being on the ball and if I can bring more attacking players in better positions into the game then hopefully we can play some really exciting stuff.
“I’m looking forward to seeing how far we can go."