| Result | W–L | Date | Category | Tournament | Surface | Partner | Opponents | Score |
|---|
| Win | 1–0 | Jun 2016 | Futures | Poland F3,Sopot | Clay | Kacper Żuk | Andriej Kapaś
Adam Majchrowicz | 7–6(7–5), 6–3 |
| Win | 2–0 | Oct 2016 | Futures | Egypt F27,Sharm El Sheikh | Hard | Kacper Żuk | Antonio Massara
Andrea Vavassori | 6–3, 6–2 |
| Win | 3–0 | Oct 2016 | Futures | Czech Republic F9,Opava | Carpet | Grzegorz Panfil | Lukáš Klein
Patrik Nema | 6–1, 6–3 |
| Win | 4–0 | Nov 2016 | Futures | Egypt F34,Sharm El Sheikh | Hard | Kacper Żuk | Kamil Gajewski
Szymon Walków | 3–6, 6–2, [10–7] |
| Loss | 4–1 | Apr 2017 | Futures | Egypt F11,Sharm El Sheikh | Hard | Kacper Żuk | Gijs Brouwer
Jelle Sels | 5–7, 1–6 |
| Win | 5–1 | Oct 2017 | Futures | Egypt F27,Sharm El Sheikh | Hard | Kacper Żuk | Marek Gengel
Tomas Papik | 6–2, 6–2 |
| Loss | 5–2 | May 2019 | World Tennis Tour | M15Irpin, Ukraine | Clay | Michael Zhu | Georgii Kravchenko
Oleg Prihodko | 3–6, 2–6 |
| Win | 6–2 | Aug 2019 | World Tennis Tour | M25Poznań, Poland | Clay | Mateusz Kowalczyk | Diego Hidalgo
Pedro Sakamoto | 6–3, 6–4 |
| Win | 7–2 | Sep 2019 | World Tennis Tour | M25Varna, Bulgaria | Clay | Quentin Folliot | Juan Ignacio Galarza
Dante Gennaro | 6–1, 6–2 |
| Loss | 7–3 | Oct 2019 | World Tennis Tour | M15Sharm El Sheikh, Egypt | Hard | Daniel Michalski | Julian Cash
Jan Zieliński | 6–7(2–7), 6–7(3–7) |
| Loss | 7–4 | Nov 2019 | World Tennis Tour | M15Sharm El Sheikh, Egypt | Hard | Kacper Żuk | Sagadat Ayap
Kai Lemstra | 1–6, 6–7(2–7) |
| Win | 8–4 | Nov 2019 | World Tennis Tour | M15Sharm El Sheikh, Egypt | Hard | Maciej Smoła | Volodymyr Uzhylovskyi
Alexey Zakharov | 6–2, 6–1 |
| Loss | 8–5 | Nov 2019 | World Tennis Tour | M15Cairo, Egypt | Clay | Daniel Michalski | Fabrizio Ornago
Matias Zukas | 2–3RET |
| Win | 9–5 | Feb 2020 | World Tennis Tour | M15Sharm El Sheikh, Egypt | Hard | David Poljak | Jose Fco Vidal Azorin
Pablo Vivero Gonzalez | 6–4, 7–6(8–6) |
| Win | 10–5 | Jan 2021 | World Tennis Tour | M15Cairo, Egypt | Clay | Franco Agamenone | Naoki Tajima
Jose Fco Vidal Azorin | 4–6, 7–6(7–5), [10–7] |
| Loss | 10–6 | Apr 2021 | World Tennis Tour | M15Monastir, Tunisia | Hard | Franco Agamenone | Aziz Dougaz
Benjamin Lock | 6–7(2–7), 6–3, [9–11] |
| Win | 11–6 | Apr 2021 | World Tennis Tour | M15Monastir, Tunisia | Hard | Franco Agamenone | Mateus Alves
Igor Marcondes | 7–6(9–7), 7–5 |
| Win | 12–6 | May 2021 | World Tennis Tour | M25Prague, Czech Republic | Clay | Franco Agamenone | Andrew Paulson
Patrik Rikl | 6–4, 6–3 |
| Win | 13–6 | May 2021 | World Tennis Tour | M25Most, Czech Republic | Clay | Franco Agamenone | Gijs Brouwer
Mats Hermans | 6–1, 7–5 |
| Loss | 13–7 | Jun 2021 | World Tennis Tour | M25Grasse, France | Clay | Franco Agamenone | Dan Added
Leandro Riedi | 1–6, 4–6 |
| Win | 14–7 | Aug 2021 | World Tennis Tour | M25Grodzisk Mazowiecki, Poland | Clay | Mats Hermans | Gilbert Klier Junior
Pedro Sakamoto | 6–4, 7–5 |
| Loss | 14–8 | Aug 2021 | Challenger | Warsaw, Poland | Clay | Vladyslav Manafov | Hans Hach Verdugo
Miguel Ángel Reyes-Varela | 4–6, 4–6 |
| Loss | 14–9 | Dec 2021 | Challenger | Maia, Portugal | Clay | David Pichler | Nuno Borges
Francisco Cabral | 4–6, 5–7 |
| Loss | 14–10 | May 2022 | Challenger | Troisdorf, Germany | Clay | Hendrik Jebens | Dustin Brown
Evan King | 4–6, 5–7 |
| Win | 15–10 | Nov 2022 | Montevideo, Uruguay | Challenger | Clay | Karol Drzewiecki | Facundo Díaz Acosta
Luis David Martínez | 6–4, 6–4 |
| Win | 16–10 | Apr 2023 | World Tennis Tour | M25Split, Croatia | Clay | Oleg Prihodko | Maks Kaśnikowski
Jerome Kym | 6–2, 7–6(8–6) |
| Win | 17–10 | May 2023 | World Tennis Tour | M25 Santa Margherita di Pula, Italy | Clay | Kai Wehnelt | Mikalai Haliak
Augusto Virgili | 7–6(7–1), 7–6(8–6) |
| Loss | 17–11 | May 2023 | World Tennis Tour | M25Reggio Emilia, Italy | Clay | Kai Wehnelt | Francesco Forti
Julian Ocleppo | 3–6, 7–6(7–2), [7–10] |
| Win | 18–11 | Jul 2023 | Tampere, Finland | Challenger | Clay | Szymon Kielan | Vladyslav Orlov
Adam Taylor | 6–4, 7–6(9–7) |
| Win | 19–11 | Aug 2023 | World Tennis Tour | M25Poznań, Poland | Clay | Kai Wehnelt | Sander Jong
Jesse Timmermans | 3–6, 7–6(7–3), [10–4] |
| Loss | 19–12 | Sep 2023 | Tulln, Austria | Challenger | Clay | Kai Wehnelt | Zdeněk Kolář
Blaž Rola | 4–6, 6–4, [6–10] |
| Loss | 19–13 | Sep 2023 | Sibiu, Romania | Challenger | Clay | Kai Wehnelt | Andrew Paulson
Michael Vrbenský | 2–6, 2–6 |
| Loss | 19–14 | Oct 2023 | Shenzhen, Romania | Challenger | Hard | Matthew Romios | Alexander Erler
Lucas Miedler | 3–6, 4–6 |
| Win | 20–14 | Jan 2024 | Oeiras, Portugal | Challenger | Hard | Karol Drzewiecki | Arjun Kadhe
Marcus Willis | 6–3, 6–4 |
| Loss | 20–15 | Jan 2024 | Challenger | Tenerife, Spain | Hard | Karol Drzewiecki | Vasil Kirkov
Luis David Martínez | 6–3, 4–6, [3–10] |
| Win | 21–15 | Mar 2024 | New Delhi, India | Challenger | Hard | Matthew Christopher Romios | Jakob Schnaitter
Mark Wallner | 6–4, 6–4 |
| Loss | 21–16 | Apr 2024 | Cuernavaca, Mexico | Challenger | Hard | Matthew Christopher Romios | Arjun Kadhe
Jeevan Nedunchezhiyan | 6–7(5–7), 4–6 |
| Loss | 21–17 | Jul 2024 | Challenger | Brașov, Romania | Clay | Karol Drzewiecki | Javier Barranco Cosano
Nicolas Moreno de Alboran | 6–3, 1–6, [15–17] |
| Loss | 21–18 | Jul 2024 | Challenger | Iași, Romania | Clay | Karol Drzewiecki | Cezar Crețu
Bogdan Pavel | 6–2, 2–6, [4–10] |
| Win | 22–18 | Aug 2024 | Challenger | Porto, Portugal | Clay | Daniel Cukierman | Romain Arneodo
Théo Arribagé | 6–4, 6–0 |
| Loss | 22–19 | Sep 2024 | Challenger | Tulln, Austria | Clay | Karol Drzewiecki | Miloš Karol
Vitaliy Sachko | 4–6, 6–2, [9–11] |
| Loss | 22–20 | Oct 2024 | Challenger | Valencia, Spain | Clay | Karol Drzewiecki | Alexander Merino
Christoph Negritu | 3–6, 4–6 |
| Loss | 22–21 | Oct 2024 | Challenger | Curitiba, Brazil | Clay | Karol Drzewiecki | Fernando Romboli
Matías Soto | 6–7(5–7), 6–7(4–7) |
| Win | 23–21 | Oct 2024 | Challenger | Guayaquil, Ecuador | Clay | Karol Drzewiecki | Luís Britto
Marcelo Zormann | 6–4, 7–6(7–2) |
| Win | 24–21 | Nov 2024 | Challenger | Lima II, Peru | Clay | Karol Drzewiecki | Luís Britto
Gustavo Heide | 7–5, 6–4 |
| Win | 25–21 | Nov 2024 | Challenger | Montemar, Spain | Clay | Karol Drzewiecki | Daniel Rincón
Abdullah Shelbayh | 6–3, 6–4 |