Inizia la carriera in Serie D nel 2007 col Como. Dopo 23 presenze, l'allora portiere diciannovenne viene notato dallo staff del Genoa che lo porta in Serie A nel 2008 come terzo estremo difensore in rosa di prima squadra; partecipa per tutta la stagione al Campionato Primavera e al Torneo di Viareggio, entrambe le competizioni sempre da titolare e piazzamento finale ai primi posti e nel 2009 vince la Coppa Italia di categoria.[3] Durante il campionato 2008-2009, colleziona 9 panchine con la maglia rossoblù senza mai scendere in campo.
I prestiti a Gubbio e Bari
Successivamente viene prestato al Gubbio in Serie C2,[4] dove conquista subito la promozione in Serie C1 e l'anno dopo in Serie B. Dopo due stagioni in Umbria rientra al Genoa.
Nel 2011 viene ceduto in prestito al Bari, con cui milita fino al 2013, disputando due campionati di Serie B.[5] Esordisce nel campionato cadetto il 27 agosto 2011 nel pareggio interno contro il Varese, disputando tutte e 42 le partite da titolare. Nella sua seconda stagione in Puglia disputa quasi tutte le partite da titolare, ad eccezione delle ultime due dove viene fatto esordire il portiere Alex Pena. Nell'estate 2013 torna al Genoa.
Siena e Genoa
Viene ceduto al Siena, militante in Serie B, col quale colleziona 39 presenze subendo 39 reti. Esordisce con la sua nuova maglia il 24 agosto 2013 contro il Crotone, e sarà protagonista di un autogol nel pareggio per 2-2 col Padova del dicembre 2013. Conclude la sua esperienza in bianconero con un buon nono posto e viene acquistato nuovamente dal Genoa.
Esordisce finalmente in Serie A il 14 dicembre 2014, subentrando all'espulso Mattia Perin nella gara persa in casa per 1-0 contro la Roma.[6]
Durante il suo primo campionato con la maglia rossoblù para ben 3 rigori: a Ljajic della Roma, a Tevez della Juventus e a Simone Zaza del Sassuolo, guadagnandosi l'appellativo di Para-rigori.[7] Nella stagione successiva viene impiegato 13 volte: le prime 7 giornate per infortunio del titolare Mattia Perin e le ultime 6 per lo stesso identico motivo. Anche nella sua terza stagione in rossoblù, sostituisce il portiere laziale, ma soltanto per le prime due giornate nell'agosto 2016, subendo due reti.
Nella stagione 2016-2017 gioca 21 partite su 38 per via dell'infortunio di Perin (anche se nel periodo con Andrea Mandorlini in panchina gli veniva preferito Rubinho) in cui subisce 37 goal. Ha contribuito alla salvezza del Genoa parando un rigore ad Antonio Candreva e consentendo al Genoa di vincere per 1-0[8] una gara fondamentale contro l'Inter in chiave salvezza (ha parato un rigore in precedenza anche a Lucas Biglia in Genoa-Lazio 2-2 ma Biglia ha segnato sulla ribattuta).[9] Salvezza che arriva 2 settimane dopo nella partita vinta per 2-1 in casa contro il Torino.[10]
Per la stagione 2017-2018 esordisce in A solo alla penultima giornata, il 12 maggio 2018, nella sconfitta contro il Benevento per 1-0, in quanto aveva collezionato tutte le altre presenze Mattia Perin, ristabilito dagli infortuni.
Spezia e Monza
Il 12 luglio 2018 si trasferisce a titolo definitivo allo Spezia con cui firma un contratto biennale.[11] Con i liguri disputa 32 gare del campionato di serie B chiudendo al sesto posto finale. Gioca inoltre la sfida spareggio play-off, dove lo Spezia è sconfitto dal Cittadella per 2-1.
Il 13 luglio 2019 passa al Monza, legandosi al club brianzolo fino al 2022.[12] Gioca da titolare solo nella prima stagione, quella del ritorno in Serie B, vivendo poi dalla panchina la promozione in Serie A. In quattro stagioni e mezzo mette insieme 39 presenze complessive.