Formé à Monaco, il est prêté à Ajaccio en National qui remporte le championnat. Il passe deux saisons en Ligue 2 avec le club corse avant de retourner à Monaco. Il joue alors 19 matches de Ligue 1 et participe aux 6 matches de Monaco lors de la Ligue des Champions 2000-2001. Il dispute même la finale de la Coupe de la Ligue française de football 2000-2001, mais Monaco s'incline 2 buts à 1. La saison suivante avec l'arrivée du nouvel entraîneur, Didier Deschamps, il est relégué sur la banc de touche. Une grave blessure le tient éloigné des terrains plus d'un an[1].
Au mercato d'hiver il est prêté à Troyes qui lutte pour le maintien. À l'issue de la saison il est transféré à Lille où il retrouve Claude Puel qui vient de s'engager avec le club nordiste. Avec un temps de jeu qui rapidement diminue, il est prêté à Ajaccio. Revenant à Lille, il quitte le club en et se retrouve au chômage.
Il s'engage alors avec son ancien club au mercato d'hiver : l'AC Ajaccio. Il n'y reste que six mois et rejoint le Stade de Reims. Avec le club champenois, il dispute les demi-finales de la Coupe de la Ligue 2006-2007. À l'été 2007, non prolongé par Reims, il refuse une offre de Libourne-Saint-Seurin pour se diriger vers la péninsule arabique.
Malgré diverses négociation avec différents clubs, il s'engage finalement à l'hiver 2007 avec Bastelicaccia. En 2009 il s'engage avec le club d'Afa FA pour un salaire de 300 euros par mois pour entraîner l'équipe des moins de 19 ans.