O'Toole has made 66 appearances for Watford since making his debut at the start of last season, and has scored 12 goals for the club.
He had netted eight times for the Championship strugglers this term, including the Hornets' goal in a 2-1 defeat at Bramall Lane back in September.
Watford boss Brendan Rodgers revealed during the January transfer window that he was hoping to keep O'Toole at Vicarage Road, despite the club's financial predicament.
However, O'Toole has now headed to South Yorkshire, although he will be ineligible for Thursday's FA Cup fifth-round replay against Hull City.
Wolves and Preston were also linked with the 20-year-old.