| Result | W–L | Date | Tournament | Tier | Surface | Opponent | Score |
|---|
| Loss | 0–1 | Nov 2014 | Turkey F39,Antalya | Futures | Hard | Cem İlkel | 3–6, 1–6 |
| Loss | 0–2 | May 2015 | Romania F1,Galați | Futures | Clay | Alexandar Lazov | 6–4, 5–7, 4–6 |
| Loss | 0–3 | May 2015 | Romania F2, Galați | Futures | Clay | Maxim Dubarenco | 6–7(5–7), 3–6 |
| Win | 1–3 | May 2015 | Romania F3,Bucharest | Futures | Clay | Victor Crivoi | 6–4, 7–6(7–1) |
| Win | 2–3 | Jun 2015 | Serbia F1,Belgrade | Futures | Clay | Adrian Partl | 6–3, 6–4 |
| Loss | 2–4 | Jul 2015 | Austria F2,Seefeld | Futures | Clay | Andrea Basso | 2–6, 6–4, 4–6 |
| Win | 3–4 | Aug 2015 | Austria F8,Vogau | Futures | Clay | Sebastian Ofner | 6–0, 6–2 |
| Win | 4–4 | Oct 2015 | Kazakhstan F6,Shymkent | Futures | Clay | Aleksandre Metreveli | 6–4, 2–0 ret. |
| Loss | 4–5 | Nov 2015 | Tunisia F29,El Kantaoui | Futures | Hard | David Pérez Sanz | 6–3, 6–7(4–7), 3–6 |
| Win | 5–5 | Apr 2016 | Kazakhstan F4, Shymkent | Futures | Clay | Artem Smirnov | 6–3, 4–6, 6–3 |
| Win | 6–5 | Nov 2016 | Turkey F45, Antalya | Futures | Hard | Altuğ Çelikbilek | 6–2, 7–5 |
| Win | 7–5 | Nov 2016 | Turkey F46, Antalya | Futures | Hard | Victor Baluda | Walkover |
| Win | 8–5 | Dec 2016 | Thailand F6,Hua Hin | Futures | Hard | Fabien Reboul | 6–4, 6–2 |
| Win | 9–5 | Mar 2017 | Turkey F8, Antalya | Futures | Hard | Anıl Yüksel | 6–1, 6–2 |
| Win | 10–5 | Mar 2017 | USA F10,Bakersfield | Futures | Hard | Kimmer Coppejans | 6–3, 7–6(8–6) |
| Loss | 10–6 | Apr 2017 | Uzbekistan F1,Bukhara | Futures | Hard | Egor Gerasimov | 1–6, 5–7 |
| Win | 11–6 | Oct 2017 | Turkey F38,Antalya | Futures | Clay | Dimitar Kuzmanov | 7–5, 3–6, 6–3 |
| Win | 12–6 | Feb 2019 | M25,Weston, United States | World Tennis Tour | Clay | Alejandro Tabilo | 6–2, 6–3 |
| Win | 13–6 | Feb 2019 | M15,Antalya, Turkey | World Tennis Tour | Clay | Sebastian Korda | 6–4, 3–6, 6–3 |
| Win | 14–6 | Mar 2019 | M15,Antalya, Turkey | World Tennis Tour | Clay | Sebastian Korda | 5–7, 7–5, 7–5 |
| Loss | 14–7 | Mar 2019 | M15,Antalya, Turkey | World Tennis Tour | Clay | Ivan Nedelko | 4–6, 7–5, 2–6 |
| Win | 15–7 | Mar 2019 | M15,Antalya, Turkey | World Tennis Tour | Clay | Pietro Rondoni | 5–7, 6–4, 6–1 |
| Win | 16–7 | Apr 2019 | M15,Sunrise, United States | World Tennis Tour | Clay | Sebastian Korda | 6–3, 3–6, 6–4 |
| Win | 17–7 | Apr 2019 | M15,Orange Park, United States | World Tennis Tour | Clay | Agustín Velotti | 6–0, 5–7, 6–3 |
| Win | 18–7 | May 2019 | M25,Vero Beach, United States | World Tennis Tour | Clay | Sekou Bangoura | 6–1, 7–6(7–1) |
| Win | 20–9 | May 2023 | M25,Pensacola, United States | World Tennis Tour | Clay | Aidan Kim | 6–1, 6–4 |
| Win | 21–9 | Dec 2023 | M15,Antalya, Turkey | World Tennis Tour | Clay | Sergey Fomin | 6–4, 3–6, 6–2 |
| Win | 22–9 | Dec 2023 | M15,Antalya, Turkey | World Tennis Tour | Clay | Max Alcala Gurri | 6–4, 7–5 |
| Win | 23–10 | Feb 2024 | M15,Sunrise, United States | World Tennis Tour | Clay | Alex Rybakov | 7–5, 6–2 |
| Win | 24–10 | Feb 2024 | M15,Palm Coast, United States | World Tennis Tour | Clay | Andres Andrade | 7–5, 1–6, 7–5 |
| Win | 25–10 | Feb 2024 | M15,Naples, United States | World Tennis Tour | Clay | Andres Andrade | 3–6, 7–6(7–4), 6–4 |
| NP | 25–10 | Feb 2024 | M25,Tucumán, Argentina | World Tennis Tour | Clay | Pedro Sakamoto | not played (due to heavy rain)[6] |
| Loss | 25–11 | Mar 2024 | M25,Recife, Brazil | World Tennis Tour | Clay | Juan Pablo Ficovich | 4–6, 7–6(7–4), 3–6[6] |
| Win | 26–11 | Mar 2024 | M25,Feira de Santana, Brazil | World Tennis Tour | Hard | Harrison Adams | 6–4, 6–4 |