Clubs
| Club | Seasons | Apps | Goals | Assists |
|---|---|---|---|---|
| Olympique Safi | 2025/26 | 2 | 0 | 0 |
| FUS Rabat | 2022/23 – 2024/25 | 36 | 5 | 0 |
| Cholet | 2020/21 | 20 | 1 | — |
| Concarneau | 2018/19 – 2019/20 | 28 | 1 | — |
| Vitré | 2018/19 | 21 | 4 | — |
| Trélissac | 2016/17 – 2017/18 | 48 | 9 | — |
| Aurillac Arpajon | 2015/16 | 24 | 4 | — |
| Clermont II | 2014/15 | 0 | 0 | — |
Transfers
| Date | From | To | Type |
|---|---|---|---|
| 20 Aug 2022 | Cholet | FUS Rabat | Free |
| 1 Jul 2020 | Concarneau | Cholet | — |
| 28 Jan 2019 | Vitré | Concarneau | — |
| 1 Jul 2018 | Trélissac | Vitré | — |
| 29 Jul 2025 | FUS Rabat | Olympique Safi | Transfer |
| 28 Jul 2025 | Brive | Olympique Safi | Transfer |
| 28 Jan 2025 | FUS Rabat | Brive | Free agent |
Season by season
| Season | Competition | Club | Apps | Starts | Min | Goals | Assists | Yellow | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | CAF Confederation Cup | Olympique Safi | 2 | 0 | 24 | 0 | 0 | 1 | 0 | 6.25 |
| 2023/24 | Botola Pro | FUS Rabat | 19 | 9 | 803 | 1 | 0 | 3 | 0 | 6.30 |
| 2023/24 | CAF Confederation Cup | FUS Rabat | 3 | 3 | 156 | 1 | — | 0 | 0 | — |
| 2022/23 | Botola Pro | FUS Rabat | 14 | 8 | 617 | 3 | — | 2 | 0 | — |
| 2020/21 | Ligue 3 | Cholet | 20 | 11 | 897 | 1 | — | 0 | 1 | — |
| 2019/20 | Ligue 3 | Concarneau | 18 | 10 | 1028 | 0 | — | 1 | 1 | — |
| 2019/20 | Coupe de France | Concarneau | 1 | 1 | 58 | 0 | — | 0 | 1 | — |
| 2018/19 | Ligue 3 | Concarneau | 9 | 5 | 447 | 1 | — | 1 | 0 | — |
| 2018/19 | National 2 - Group A | Vitré | 17 | 15 | 1347 | 2 | — | 1 | 0 | — |
| 2018/19 | Coupe de France | Vitré | 4 | 4 | 374 | 2 | — | 2 | 0 | — |
| 2017/18 | National 2 - Group A | Trélissac | 27 | 22 | 2007 | 6 | — | 3 | 0 | — |
| 2016/17 | National 2 - Group D | Trélissac | 21 | 13 | 1070 | 3 | — | 1 | 0 | — |
| 2015/16 | National 3 | Aurillac Arpajon | 24 | 24 | 1939 | 4 | — | 1 | 0 | — |
Availability history
No injuries or suspensions recorded.
Trophies
No trophies recorded.
