Né à Courtrai en Belgique, Charles Vanhoutte est notamment formé par le KSC Wielsbeke et le SV Zulte Waregem avant de poursuivre sa formation au Cercle Bruges. C'est avec ce club qu'il fait ses débuts en professionnel, jouant son premier match le , lors d'une rencontre de championnat face au Royal Excel Mouscron. Il entre en jeu à la place de Naomichi Ueda ce jour-là, et son équipe s'incline sur le score de trois buts à zéro[1].
Le , Vanhoutte est prêté pour une saison à l'AFC Tubize[2].
De retour au Cercle Bruges à la fin de son prêt, Vanhoutte s'impose dans l'équipe première, devenant un joueur régulier du onze de départ. Il est récompensé en par un nouveau contrat avec le Cercle. Il est alors lié au club jusqu'en [3]. Le 18 avril 2021, lors d'une rencontre de championnat contre le KV Ostende, il commence pour la première fois un match en officiant comme capitaine du Cercle Bruges, en raison notamment de l'absence de Jérémy Taravel. Les deux équipes se neutralisent ce jour-là (1-1 score final)[4],[5]. Et pour sa première saison pleine avec les Groen-Zwart, il est élu joueur de la saison par les supporters du club[6]. Lors de l'été 2021, il est nommé nouveau capitaine par l'entraîneur Yves Vanderhaeghe[7].
Vanhoutte joue son premier match pour l'Union Saint-Gilloise le , lors de la première journée de la saison 2023-2024, contre le RSC Anderlecht. Il est titularisé et son équipe s'impose (2-0 score final)[9]. Il remporte la coupe de Belgique, étant titulaire lors de la finale qui a lieu le 9 mai 2024 face au Royal Antwerp FC. Son équipe s'impose par un but à zéro ce jour-là[10],[11].