Ha iniziato la carriera da farfallista, arrivando a disputare finali europee ed alla medaglia di bronzo ai Giochi del Mediterraneo del 2001.
Specializzatosi poi nello stile libero veloce (50 e 100 m), ha conquistato l'argento con la staffetta 4x100 m sl ai Campionati mondiali di Melbourne 2007, vincendo anche di un bronzo individuale agli europei di Madrid 2004.
Dal 2006 s'è anche specializzato nelle gare miste, specie nei 100 metri in vasca corta; ha disputato due finali ai campionati mondiali di nuoto in vasca corta e durante gli Europei in vasca corta 2008 di Fiume ha vinto la medaglia d'argento e migliorato il record italiano dei 100 m misti, con il tempo di 52"29.