Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
Loss | 0–1 | May 2015 | Czech Republic F1, Prague | Futures | Clay | Kamil Gajewski | František Čermák
Robin Stanek | 3–6, 3–6 |
Loss | 0–2 | Sep 2015 | Poland F4, Bytom | Futures | Clay | Hubert Hurkacz | Jan Kuncik
Petr Michnev | 7–5, 5–7, [8–10] |
Loss | 0–3 | May 2016 | Czech Republic F3, Jablonec nad Nisou | Futures | Clay | Hubert Hurkacz | Jan Choinski
Tom Schonenberg | 2–6, 6–7(7–9) |
Win | 1–3 | Jun 2016 | Poland F2, Koszalin | Futures | Clay | Kamil Gajewski | Adam Majchrowicz
Grzegorz Panfil | 6–2, 6–1 |
Loss | 1–4 | Aug 2016 | Poland F6, Poznań | Futures | Clay | Adam Majchrowicz | Marcin Gawron
Andriej Kapaś | 4–6, 5–7 |
Win | 2–4 | Oct 2016 | Egypt F28, Sharm El Sheikh | Futures | Hard | Kamil Gajewski | Antonio Massara
Andrea Vavassori | 7–6(8–6), 6–3 |
Loss | 2–5 | Nov 2016 | Egypt F34, Sharm El Sheikh | Futures | Hard | Kamil Gajewski | P Matuszewski
Kacper Żuk | 6–3, 2–6, [7–10] |
Loss | 2–6 | Jul 2017 | Poland F5, Mragowo | Futures | Clay | Kamil Gajewski | M Pena Lopez
Ewan Moore | 2–6, 5–7 |
Win | 3–6 | Sep 2017 | Poland F11, Koszalin | Futures | Clay | Iván Endara | Michal Dembek
Marcin Gawron | 6–3, 2–6, [10–7] |
Loss | 3–7 | Oct 2017 | Czech Republic F7, Jablonec nad Nisou | Futures | Carpet | Mateusz Kowalczyk | Niels Lootsma
David Poljak | 6–2, 4–6, [6–10] |
Loss | 3–8 | Nov 2017 | Czech Republic F8, Opava | Futures | Carpet | Mateusz Kowalczyk | Maciej Smola
Karol Drzewiecki | 6–7(4–7), 7–6(7–4), [8–10] |
Win | 4–8 | Nov 2017 | Czech Republic F9, Milovice | Futures | Hard | Marek Gengel | Michal Konecny
Filip Duda | 6–3, 6–7(4–7), [10–5] |
Win | 5–8 | Nov 2017 | Czech Republic F10, Říčany | Futures | Hard | Karol Drzewiecki | Matej Vocel
Michael Vrbenský | 3–6, 6–3, [10–8] |
Loss | 5–9 | Dec 2017 | Egypt F36, Cairo | Futures | Clay | Karol Drzewiecki | Jordan Correia
Mario Vilella Martínez | 6–7(11–13), 6–7(4–7) |
Win | 6–9 | Apr 2018 | Italy F9, Santa Margherita Di Pula | Futures | Clay | Sekou Bangoura | Vasile Antonescu
Patrick Grigoriu | 6–4, 6–4 |
Win | 7–9 | May 2018 | Poland F3, Ustroń | Futures | Clay | Sekou Bangoura | Vít Kopřiva
David Poljak | 0–6, 6–1, [10–4] |
Win | 8–9 | Jun 2018 | Poznań, Poland | Challenger | Clay | Mateusz Kowalczyk | Attila Balázs
Andrea Vavassori | 7–5, 6–7(8–10), [10–8] |
Win | 9–9 | Aug 2018 | Sopot, Poland | Challenger | Clay | Mateusz Kowalczyk | Ruben Gonzales
Nathaniel Lammons | 7–6(8–6), 6–3 |
Win | 10–9 | Aug 2018 | Poland F8, Poznań | Futures | Clay | Tomasz Bednarek | Mateusz Kowalczyk
Karol Drzewiecki | 6–4, 6–3 |
Loss | 10–10 | Nov 2018 | Czech Republic F8, Opava | Futures | Carpet | Karol Drzewiecki | Jaroslav Pospíšil
Vít Kopřiva | 6–7(5–7), 4–6 |
Win | 11–10 | Nov 2018 | Czech Republic F10, Milovice | Futures | Hard | Karol Drzewiecki | D Langmajer
Daniel Lustig | 5–7, 7–6(9–7), [15–13] |
Win | 12–10 | Nov 2018 | Andria, Italy | Challenger | Hard | Karol Drzewiecki | Marc-Andrea Hüsler
David Pel | 7–6(12–10), 2–6, [11–9] |
Win | 13–10 | Jan 2019 | M25 Nussloch, Germany | World Tennis Tour | Carpet | Karol Drzewiecki | Marek Gengel
Danylo Kalenichenko | 7–5, 6–3 |
Loss | 13–11 | Jul 2019 | Perugia, Italy | Challenger | Clay | Rogério Dutra Silva | Ante Pavić
Tomislav Brkić | 4–6, 3–6 |
Loss | 13–12 | Sep 2019 | Mallorca, Spain | Challenger | Hard | Karol Drzewiecki | Sander Arends
David Pel | 5–7, 4–6 |
Loss | 13–13 | Oct 2019 | Nur-Sultan, Kazakhstan | Challenger | Hard | Karol Drzewiecki | Illya Marchenko
Harri Heliövaara | 4–6, 4–6 |
Win | 14–13 | Feb 2020 | M25 Glasgow, United Kingdom | World Tennis Tour | Hard | Jan Zieliński | Evan Hoyt
Simon Freund | 6–1, 6–1 |
Win | 15–13 | Mar 2020 | M25 Sunderland, United Kingdom | World Tennis Tour | Hard | Jan Zieliński | Jesper De Jong
Bart Stevens | 6–4, 6–4 |
Loss | 15–14 | Sep 2020 | Ostrava, Czech Republic | Challenger | Clay | Karol Drzewiecki | Igor Zelenay
Artem Sitak | 5–7, 4–6 |
Win | 16–14 | Oct 2020 | Biella, Italy | Challenger | Clay | Harri Heliövaara | Lloyd Glasspool
Alex Lawson | 7–5, 6-3 |
Win | 17–14 | Oct 2020 | Barcelona, Spain | Challenger | Clay | Tristan-Samuel Weissborn | Harri Heliövaara
Alex Lawson | 6–1, 4–6, [10–8] |
Loss | 17–15 | Feb 2021 | Biella, Italy | Challenger | Hard | Jan Zieliński | Luis David Martinez
David Vega Hernández | 4–6, 6–3, [8–10] |
Loss | 17–16 | Apr 2021 | Split, Croatia | Challenger | Clay | Jan Zieliński | Andrey Golubev
Aleksandr Nedovyesov | 5–7, 7–6(7–5), [5–10] |
Win | 18–16 | Apr 2021 | Split II, Croatia | Challenger | Clay | Jan Zieliński | Grégoire Barrère
Albano Olivetti | 6-2, 7-5 |
Win | 19–16 | Jul 2021 | Sparkassen Open, Germany | Challenger | Clay | Jan Zieliński | Ivan Sabanov
Matej Sabanov | 6–4, 4–6, [10–4] |
Win | 20–16 | Aug 2021 | Meerbusch, Germany | Challenger | Clay | Jan Zieliński | Dustin Brown
Robin Haase | 6-3, 6-1 |
Loss | 20–17 | Apr 2022 | Barletta, Italy | Challenger | Clay | Ben McLachlan | Evgeny Karlovskiy
Evgenii Tiurnev | 3-6, 4-6 |
Win | 21–17 | Apr 2022 | Prague, Czech Republic | Challenger | Clay | Francisco Cabral | Tristan Lamasine
Lucas Pouille | 6–2, 7–6(14–12) |
Win | 22–17 | May 2022 | Poznań, Poland | Challenger | Clay | Hunter Reese | Marek Gengel
Adam Pavlásek | 1–6, 6–3, [10–6] |
Win | 23–17 | Aug 2022 | Meerbusch, Germany | Challenger | Clay | David Pel | Neil Oberleitner
Philipp Oswald | 7–5, 6–1 |
Loss | 23–18 | Nov 2022 | Roanne, France | Challenger | Hard (i) | Dustin Brown | Sadio Doumbia
Fabien Reboul | 6–7(5–7), 4–6 |