| Result | W–L |    Date    | Tournament | Tier | Surface | Opponent | Score | 
|---|
| Loss | 0–1 | Mar 2017 | Egypt F10, Sharm El Sheikh | Futures | Hard |     Karim-Mohamed Maamoun  | 4–6, 2–6 | 
| Loss | 0–2 | Apr 2017 | Egypt F11, Sharm El Sheikh | Futures | Hard |     Karim-Mohamed Maamoun | 4–6, 6–3, 4–6 | 
| Loss | 0–3 | Aug 2018 | Belarus F3, Minsk | Futures | Hard |     Francesco Vilardo | 1–6, 3–6 | 
| Win | 1–3 | Oct 2019 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Alessandro Bega  | 6–2, 5–7, 6–1 | 
| Win | 2–3 | Oct 2019 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Adam Moundir  | 6–2, 6–3 | 
| Loss | 2–4 | Oct 2019 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Karim-Mohamed Maamoun | 4–6, 6–4, 4–6 | 
| Loss | 2–5 | Feb 2020 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Alessandro Bega | 4–6, 2–6 | 
| Loss | 2–6 | Feb 2020 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Alessandro Bega | 4–6, 5–7 | 
| Win | 3–6 | Feb 2021 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Jan Šátral  | 6–2, 6–2 | 
| Win | 4–6 | Oct 2021 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Péter Fajta | 6–4, 6–0 | 
| Win | 5–6 | Nov 2021 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Daniele Capecchi | 6–7(6–8), 6–2, 6–3 | 
| Win | 6–6 | Nov 2021 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Loïc Cloes | 6–0, 6–4 | 
| Loss | 6–7 | Feb 2022 | M25 Sharm El Sheikh, Egypt | WTT | Hard |     Hsu Yu-hsiou  | 3–6, 2–6 | 
| Win | 7–7 | Nov 2022 | M25 Sharm El Sheikh, Egypt | WTT | Hard |     Amr Elsayed | 6–3, 6–1 | 
| Win | 8–7 | Dec 2022 | M25 Trnava, Slovakia | WTT | Hard (i) |     Daniel Rincón  | 6–7(6–8), 6–3, 6–3 | 
| Win | 9–7 | Feb 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |   Aliaksandr Liaonenka | 6–3, 6–2 | 
| Win | 10–7 | Feb 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Oliver Ojakäär  | 6–3, 6–3 | 
| Win | 11–7 | Feb 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Niels Visker | 6–2, 6–2 | 
| Win | 12–7 | Sep 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Alexandr Binda | 6–4, 6–3 | 
| Win | 13–7 | Sep 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Robert Strombachs  | 6–4, 2–6, 7–5 | 
| Win | 14–7 | Oct 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Robert Strombachs | 6–4, 7–6(7–0) | 
| Loss | 14–8 | Oct 2024 | M25 Sharm El Sheikh, Egypt | WTT | Hard |   Ilia Simakin  | 5–7, 3–6 | 
| Loss | 14–9 | Oct 2024 | M25 Sharm El Sheikh, Egypt | WTT | Hard |   Petr Bar Biryukov | 3–6, 7–5, 4–6 | 
| Loss | 14–10 | Nov 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Fares Zakaria | 6–7(5–7), 6–3, 4–6 | 
| Win | 15–10 | Nov 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |     Vadym Ursu | 3–6, 6–4, 6–3 | 
| Win | 16–10 | Dec 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |   Ilia Simakin | 6–4, 6–0 | 
| Win | 17–10 | Dec 2024 | M15 Sharm El Sheikh, Egypt | WTT | Hard |   Ilia Simakin | 6–1, 6–1 |