
Il suo debutto nel mondo del fumetto avviene nel 2000 su Lazarus Ledd della Star Comics, serie per cui illustrerà un totale di 18 numeri fino alla chiusura nel 2006. Sempre per Star Comics diventa copertinista di Rourke e disegna albi di Jonathan Steele, Nemrod e Cornelio, il detective con le sembianze di Carlo Lucarelli. Su Valter Buio inizia il sodalizio artistico con Alessandro Bilotta, autore che in seguito diventerà il suo collaboratore principale.
Per Mondadori, insieme a Tito Faraci, adatta a fumetti un racconto di Alan D. Altieri, pubblicato nella raccolta Internationoir. Nel 2009 firma, insieme a Davide Barzi, il libro a fumetti G&G, dedicato a Giorgio Gaber (Premio miglior graphic novel FullComics 2010).
Dal 2011 disegna Dylan Dog per Sergio Bonelli Editore. Per la casa editrice realizza inoltre un albo della collana Le Storie, L'ultima trincea, e dal 2017 riprende la collaborazione con Alessandro Bilotta sulle pagine del pluripremiato Mercurio Loi.
Ha pubblicato quattro graphic novel da autore unico (testi e disegni): Le tragifavole (2010) per ReNoir Comics, e In inverno le mie mani sapevano di mandarino (2014), Un romantico a Milano (2018) e L'Aida (2020) per Bao Publishing.
A partire dal 2021 disegna la serie biografica in tre atti Molière su testi di Vincent Delmas per l'editore francese Glénat, inedita in Italia.
Nel novembre 2022 entra a far parte del team di disegnatori di Eternity di Alessandro Bilotta, edito da Sergio Bonelli Editore e vincitore del Premio Attilio Micheluzzi 2023 per la migliore serie italiana.
Nel 2024, per Feltrinelli comics, realizza come autore unico un volume su Valentina di Guido Crepax dal titolo “Valentina è vera”.