Cresciuto nelle file di Mbaxaan Thiès e Jeanne d'Arc, nel 2006 è passato al Zob Ahan, club iraniano. Ha militato nelle file del club biancoverde per tre stagioni, totalizzando 60 presenze e 66 reti subite in campionato. Il 9 giugno 2009 ha firmato un contratto triennale con il Volyn'[1][2], club ucraino. Nella prima stagione in Ucraina ha ottenuto la promozione in Prem'er-Liga ed il titolo di miglior portiere del campionato[3]. Nella seconda stagione si è alternato a Vitaliy Nedilko, totalizzando 12 presenze e 20 reti subite. Nell'estate 2011 è stato messo fuori rosa. Nell'agosto 2011 ha denunciato il club alla FIFA[4][5] per mancato pagamento di stipendi e di bonus contrattuali. Nel gennaio 2016 il club ucraino è stato condannato al pagamento di 900.000 dollari al calciatore[6]. Nell'estate 2012 è passato al Greuther Fürth[7][8], club della massima divisione tedesca. A causa di un infortunio[9] non ha disputato alcun incontro con il club tedesco. Nell'estate 2013 è passato al Créteil-Lusitanos[10], club francese militante in Ligue 2. Al termine della stagione è rimasto svincolato. Il 6 dicembre 2014 è stato ingaggiato dal Tractor Sazi[11][12], club in cui ha militato fino al termine della stagione. Dopo essere rimasto inattivo per oltre un anno, nell'aprile 2017 è stato ingaggiato dallo Slavija-Mazyr[13]. Rimasto svincolato al termine della stagione, il 17 giugno 2018 è stato annunciato il suo ingaggio da parte del Mulhouse[14], club francese. L'esperienza con il club francese è durata quattro stagioni, durante le quali ha totalizzato 75 presenze tra campionato e coppa nazionale. Nell'agosto 2022 ha concluso la propria carriera da calciatore[15].
Ha debuttato in Nazionale maggiore il 21 novembre 2007, nell'amichevole Marocco-Senegal (3-0)[16], subentrando al minuto 35 del primo tempo a Tony Sylva. Ha collezionato la seconda ed ultima presenza in Nazionale il 14 agosto 2013, nell'amichevole Zambia-Senegal (1-1)[17], subentrando all'inizio del secondo tempo a Cheick N'Diaye.