Arriva dal San Donato Tavarnelle.Muove i primi passi nel calcio nel settore giovanile del Castelfranco di Sotto. Quindi approva al Forcoli e successivamente al Tuttocuoio.
Con i neroverdi esordisce in prima squadra (serie D) nel 2010-11 collezionando 7 presenze. La stagione successiva conquista la maglia da titolare (35 presenze e 1 rete). Rimarrà al Tuttocuoio, complessivamente, per sei stagioni: tre in serie D (oltre alle due citate anche il 2012-13; 28 presenze e 2 reti) e altrettante in Lega Pro (2013-14: 12 presenze; 2014-15: 31 presenze e due reti; 2015-16: 29 presenze).
Nel 2016-17 si trasferisce alla Pistoiese (17 presenze e 1 rete).
Nel 2017-18 torna in serie D andando a rinforzare una nobile decaduta come il Messina: con i siciliani colleziona 13 presenze perchè a dicembre si trasferisce al San Donato Tavarnelle (serie D), club con cui finisce la stagione raccogliendo altre 17 presenze.