The 24-year-old, born in Liverpool, joins after his release by Bolton Wanderers last month. Glovers fans will remember Tom from a seven game loan spell at Yeovil over the Christmas period of 2014-15.
After a year as a teenager with Oldham, the 6 foot 5 forward then spent six years with Bolton although his time was punctuated by loan spells with Bristol Rovers, Shrewsbury, Rotherham, Yeovil and Bury.
Glovers manager Darren Way said "the club have been tracking Tom for a long time now and we're very pleased to have the option to take him on a permanent deal. He's a hard working player who is athletic and has had very good previous loan spells at other clubs."
"Tom's an honest player with a good personality and I'm very excited to have him at the football club."