Né à Montmorency[2] mais originaire de Tournus en Bourgogne[3], Théo Hannoyer est formé, successivement, au RCV Montmorency[4], puis dès l'âge de 10 ans à l'AS Tournus[2],[5]. Il est repéré en catégorie des moins de 15 ans pour ses performances de jeu et intègre le pôle espoirs de Dijon ; il évolue en parallèle avec l'ABCD XV, entente de clubs de Bourgogne évoluant dans plusieurs championnats juniors[6]. Il étudie alors au lycée Hippolyte-Fontaine de Dijon pendant trois années[2].
Il porte le maillot de l'équipe de France dans différentes catégories de jeunes, avec les moins de 17 ans[7],[2], 18 ans[8],[6], puis les moins de 19 ans[9],[3].
Sur les conseils de Matthias Rolland, ancien deuxième ligne du Stade dijonnais et manager du Castres olympique[2], Hannoyer signe un contrat espoir de trois saisons pour le compte du club castrais, dont l'équipe première évolue en Top 14[10]. Il intègre un an plus tard le centre de formation[11].
Il est prêté pour la saison 2017-2018 au club de l'US Dax, évoluant en Pro D2[14]. Il est néanmoins éloigné des terrains jusqu'au mois de février en raison de complications physiques, en particulier une opération à l'épaule[15],[16].
Après son année de prêt dans les Landes, le joueur et le club du Castres olympique rompent à l'amiable le contrat les liant[17]. Il s'engage alors avec le Valence Romans Drôme Rugby, pensionnaire de Fédérale 1[18]. Il signe une prolongation de contrat dès sa première saison au club[19]. Avec l'accession du VRDR à la deuxième division, il retrouve la Pro D2 pendant deux saisons[20].
Alors que la saison 2020-2021 s'achève et que le club drômois est relégué en Nationale, Hannoyer quitte ce dernier[21]. Il fait alors son retour au Castres olympique, son club formateur évoluant en Top 14, signant un contrat de deux saisons[22] ; à la fin de la saison 2021-2022, il fait toujours partie du groupe tarnais sacré vice-champion de France.
En , il signe un contrat de trois années pour la saison à venir avec Provence Rugby, club de Pro D2[23]. Il entraîne auprès de l'école de rugby en parallèle de sa carrière de joueur, une activité transverse qu'il occupait déjà lorsqu'il jouait sous les couleurs de Valence Romans DR et du Castres olympique[24].