The 25-year-old former Grays Athletic star has agreed a three-year contract with the Premier League club, who have the option of keeping him for a further year.
Championship club QPR had a bid accepted for Hooper, but he has opted for the top flight with City instead.
Hooper scored 31 goals for the Scottish champions last season, having joined from Scunthorpe in 2010 for £2.4m.
He has been Celtic’s leading goalscorer for the last three seasons. His final game for the club was Tuesday’s 2-0 Champions League second qualifying round second leg win over Cliftonville.
Hooper played 69 games, scoring 20 goals, for Grays Athletic between 2003 and 2006.