Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
Loss | 0–1 | May 2013 | Spain F12, Balaguer | Futures | Clay | Jesper Korsbæk Jensen | Alexander Slabinsky
Ferran Ventura-Martell | 6–3, 3–6, [9–11] |
Loss | 0–2 | Mar 2014 | Spain F5, Reus | Futures | Clay | Iván Gómez Mantilla | Jason Kubler
Pol Toledo Bagué | 4–6, 1–6 |
Win | 1–2 | Apr 2014 | Italy F11, Santa Margherita di Pula | Futures | Clay | Albert Alcaraz Ivorra | Lorenzo Frigerio
Luca Vanni | 1–6, 7–5, [11–9] |
Win | 2–2 | Jul 2014 | Austria F3, Telfs | Futures | Clay | Patrick Ofner | Sebastian Bader
Gavin van Peperzeel | 6–2, 3–6, [10–7] |
Loss | 2–3 | Aug 2014 | Slovakia F3, Piešťany | Futures | Clay | Danylo Kalenichenko | Karol Beck
Filipp Kekercheni | 2–6, 6–2, [8–10] |
Loss | 2–4 | Aug 2014 | Austria F9, Pörtschach | Futures | Clay | Daniel Uhlig | Sebastian Bader
Tristan-Samuel Weissborn | 4–6, 6–7(3–7) |
Loss | 2–5 | Sep 2014 | Italy F31, Santa Margherita di Pula | Futures | Clay | Marcos Giraldi Requena | Federico Maccari
Gianluca Mager | 6–3, 4–6, [6–10] |
Loss | 2–6 | Sep 2014 | Italy F33, Santa Margherita di Pula | Futures | Clay | Gianluca Mager | Omar Giacalone
Pietro Rondoni | 5–7, 1–6 |
Win | 3–6 | Oct 2014 | Italy F34, Santa Margherita di Pula | Futures | Clay | Daniele Capecchi | Pietro Rondoni
Walter Trusendi | 2–6, 6–1, [11–9] |
Loss | 3–7 | Jan 2015 | Spain F1, Castelldefels | Futures | Clay | Jake Eames | Sergio Martos Gornés
Pol Toledo Bagué | 2–6, 3–6 |
Loss | 3–8 | May 2015 | Italy F10, Bergamo | Futures | Clay | Alexandre Sidorenko | Riccardo Bonadio
Pietro Rondoni | 4–6, 3–6 |
Win | 4–8 | Jun 2015 | Slovenia F1, Maribor | Futures | Clay | Danylo Kalenichenko | Rok Jarc
Mike Urbanija | 6–4, 7–6(7–3) |
Win | 5–8 | Jun 2015 | Slovenia F2, Ljubljana | Futures | Clay | Danylo Kalenichenko | Lucas Miedler
Maximilian Neuchrist | 7–5, 7–6(7–3) |
Loss | 5–9 | Jun 2015 | Slovenia F2, Litija | Futures | Clay | Cristóbal Saavedra Corvalán | Filip Brtnický
Dominik Süč | 5–7, 6–2, [5–10] |
Win | 6–9 | Aug 2015 | Netherlands F5, Oldenzaal | Futures | Clay | Pedro Bernardi | Sam Barry
Niels Lootsma | 6–2, 6–4 |
Win | 7–9 | Sep 2015 | Belgium F14, Middelkerke | Futures | Clay | Joran Vliegen | Timon Reichelt
George von Massow | 6–3, 3–6, [10–4] |
Win | 8–9 | Oct 2015 | France F20, Forbach | Futures | Carpet (i) | Matthieu Roy | Constantin Belot
Thibault Venturino | 6–7(5–7), 6–4, [10–6] |
Loss | 8–10 | Oct 2015 | France F22, Saint-Dizier | Futures | Hard (i) | Ronan Joncour | Sander Arends
Niels Lootsma | 5–7, 6–7(8–10) |
Loss | 8–11 | Dec 2015 | DR F1, Santiago de los Caballeros | Futures | Clay | Peter Torebko | Max Schnur
Raleigh Smith | 6–7(7–9), 2–6 |
Win | 9–11 | Jan 2016 | Spain F1, Castelldefels | Futures | Clay | Tomislav Brkić | Samuel Bensoussan
Michal Schmid | 6–2, 3–6, [10–1] |
Win | 10–11 | Feb 2016 | Spain F3, Peguera | Futures | Clay | Tomislav Brkić | Pietro Rondoni
Jacopo Stefanini | 6–7(6–8), 6–3, [10–6] |
Loss | 10–12 | Mar 2016 | Spain F6, Tarragona | Futures | Clay | Akira Santillan | Marc López
Jaume Munar | 7–6(7–4), 3–6, [7–10] |
Loss | 10–13 | May 2016 | France F9, Grasse | Futures | Clay | Marc Fornell Mestres | Maxime Authom
Andreas Beck | 4–6, 3–6 |
Loss | 10–14 | Jul 2016 | Italy F18, Albinea | Futures | Clay | Federico Maccari | Andrea Basso
Francesco Moncagatto | 6–7(4–7), 3–6 |
Win | 11–14 | Jul 2016 | Austria F4, Wels | Futures | Clay | Sebastian Bader | Lenny Hampel
David Pichler | 7–5, 6–3 |
Win | 12–14 | Aug 2016 | Switzerland F3, Collonge-Bellerive | Futures | Clay | Fabien Reboul | Antoine Bellier
Hugo Nys | 6–3, 7–5 |
Win | 13–14 | Aug 2016 | Switzerland F4, Lausanne | Futures | Clay | Fabien Reboul | Federico Coria
Louroi Martinez | 7–5, 6–2 |
Win | 14–14 | Sep 2016 | Switzerland F5, Sion | Futures | Clay | Fabien Reboul | Federico Coria
Louroi Martinez | 6–3, 6–3 |
Loss | 14–15 | Sep 2016 | Spain F29, Oviedo | Futures | Clay | Marc Fornell Mestres | Eduard Esteve Lobato
Jean-Marc Werner | 1–6, 1–6 |
Loss | 14–16 | Oct 2016 | Portugal F12, Porto | Futures | Clay | Marc Fornell Mestres | Frederico Gil
Marc Giner | 6–3, 3–6, [3–10] |
Loss | 14–17 | Nov 2016 | Tunisia F30, Hammamet | Futures | Clay | Lukas Mugevičius | Felipe Cunha e Silva
Frederico Gil | 6–7(2–7), 6–7(5–7) |
Win | 15–17 | Nov 2016 | Tunisia F33, Hammamet | Futures | Clay | Attila Balázs | Sergio Martos Gornés
Pol Toledo Bagué | 6–4, 6–3 |
Win | 16–17 | Dec 2016 | Tunisia F34, Hammamet | Futures | Clay | Loïc Perret | Igor Marcondes
Felipe Meligeni Alves | 6–1, 3–6, [10–3] |
Loss | 16–18 | Dec 2016 | Tunisia F35, Hammamet | Futures | Clay | Filipp Kekercheni | Filippo Baldi
Alessandro Petrone | 6–1, 3–6, [9–11] |
Win | 17–18 | Mar 2017 | Portugal F1, Vale do Lobo | Futures | Hard | Erik Crepaldi | Viktor Durasovic
Lucas Miedler | 1–6, 6–2, [10–5] |
Win | 18–18 | Apr 2017 | Tunisia F12, Hammamet | Futures | Clay | Lamine Ouahab | Juan Ignacio Galarza
Cristóbal Saavedra Corvalán | 6–1, 6–1 |
Loss | 18–19 | Apr 2017 | Portugal F5, Cascais | Futures | Clay | Marat Deviatiarov | Clément Geens
Jeroen Vanneste | 1–6, 6–4, [4–10] |
Win | 19–19 | May 2017 | Tunisia F19, Hammamet | Futures | Clay | Mariano Kestelboim | Cristian Carli
Nicolò Turchetti | 6–0, 6–1 |
Loss | 19–20 | Jun 2017 | Tunisia F22, Hammamet | Futures | Clay | Moez Echargui | Aziz Dougaz
Skander Mansouri | 6–7(4–7), 1–6 |
Loss | 0–1 | Jun 2017 | Lisbon, Portugal | Challenger | Clay | Frederico Gil | Christopher Rungkat
Ruan Roelofse | 6–7(7–9), 1–6 |
Loss | 0–2 | Jun 2017 | Poznań, Poland | Challenger | Clay | Tomasz Bednarek | Guido Andreozzi
Jaume Munar | 7–6(7–4), 3–6, [4–10] |
Win | 20–20 | Aug 2017 | Italy F25, Cornaiano | Futures | Clay | David Pel | Gianluca Di Nicola
Lorenzo Sonego | 6–3, 6–2 |
Loss | 0–3 | Oct 2017 | Lima, Peru | Challenger | Clay | Grzegorz Panfil | Miguel Ángel Reyes-Varela
Blaž Rola | 5–7, 3–6 |
Win | 21–20 | Dec 2017 | Tunisia F39, Hammamet | Futures | Clay | Raúl Brancaccio | Marco Bortolotti
Oriol Roca Batalla | 7–6(7–5), 6–2 |
Win | 22–20 | Dec 2017 | Hong Kong F4, Hong Kong | Futures | Hard | Chen Ti | Shintaro Imai
Kim Cheong-eui | 4–6, 7–5, [10–8] |
Loss | 0–4 | Jan 2018 | Bangkok, Thailand | Challenger | Hard | Zdeněk Kolář | Marcel Granollers
Gerard Granollers | 3–6, 6–7(6–8) |
Win | 1–4 | May 2018 | Ostrava, Czech Republic | Challenger | Clay | Attila Balázs | Lukáš Rosol
Sergiy Stakhovsky | 6–0, 7–5 |
Win | 2–4 | Jun 2018 | Shymkent, Kazakhstan | Challenger | Clay | Lorenzo Giustino | Lucas Miedler
Sebastian Ofner | 6–2, 7–6(7–4) |
Loss | 2–5 | Jul 2018 | Båstad, Sweden | Challenger | Clay | Zdeněk Kolář | Harri Heliövaara
Henri Laaksonen | 4–6, 3–6 |
Loss | 2–6 | Jul 2018 | Scheveningen, Netherlands | Challenger | Clay | Luis David Martínez | Ruben Gonzales
Nathaniel Lammons | 3–6, 7–6(10–8), [5–10] |
Loss | 2–7 | Sep 2018 | Cassis, France | Challenger | Hard | Marc-Andrea Hüsler | Matt Reid
Sergiy Stakhovsky | 2–6, 3–6 |
Win | 3–7 | Nov 2018 | Kobe, Japan | Challenger | Hard (i) | Akira Santillan | Li Zhe
Go Soeda | 2–6, 6–4, [12–10] |
Loss | 22–21 | Dec 2018 | Qatar F4, Doha | Futures | Hard | Bernardo Saraiva | Alexander Igoshin
Evgenii Tiurnev | 6–7(12–14), 3–6 |
Win | 23–21 | Dec 2018 | Qatar F5, Doha | Futures | Hard | Bernardo Saraiva | Adelchi Virgili
Mubarak Shannan Zayid | 4–6, 6–3, [13–11] |
Loss | 3–8 | Jan 2019 | Orlando, USA | Challenger | Hard | Andrea Vavassori | Romain Arneodo
Andrei Vasilevski | 6–7(2–7), 6–2, [13–15] |
Win | 4–8 | Feb 2019 | Bangkok, Thailand | Challenger | Hard | Li Zhe | Enrique López Pérez
Hiroki Moriya | 6–2, 6–1 |
Loss | 4–9 | Mar 2019 | Shenzhen, China, P.R. | Challenger | Hard | Li Zhe | Hsieh Cheng-peng
Christopher Rungkat | 4–6, 6–3, [6–10] |
Loss | 4–10 | May 2019 | Shymkent, Kazakhstan | Challenger | Hard | Andrei Vasilevski | Jurij Rodionov
Emil Ruusuvuori | 4–6, 6–3, [8–10] |
Win | 5–10 | May 2019 | Samarkand, Uzbekistan | Challenger | Clay | Andrei Vasilevski | Sergey Fomin
Teymuraz Gabashvili | 3–6, 6–3, [10–4] |
Win | 6–10 | June 2019 | Vicenza, Italy | Challenger | Clay | Andrei Vasilevski | Fabrício Neis
Fernando Romboli | 6–3, 6–4 |
Loss | 6–11 | June 2019 | Almaty, Kazakhstan | Challenger | Clay | Andrei Vasilevski | Andrej Martin
Hans Podlipnik | 6–7(4–7), 6–3, [8–10] |
Win | 7–11 | July 2019 | Recanati, Italy | Challenger | Clay | Ramkumar Ramanathan | David Vega Hernández
Andrea Vavassori | 6–2, 6–4 |
Loss | 7–12 | Feb 2020 | Drummondville, Canada | Challenger | Hard (i) | Roberto Cid Subervi | Manuel Guinard
Arthur Rinderknech | 6–7(4–7), 6-7(3–7) |
Loss | 7–13 | Aug 2020 | Prague, Czech Republic | Challenger | Clay | André Göransson | Sander Arends
David Pel | 5-7, 6-7(5–7) |
Win | 8–13 | Oct 2020 | Lisbon, Portugal | Challenger | Clay | Roberto Cid Subervi | Harri Heliövaara
Zdeněk Kolář | 7–6(7–5), 4–6, [10–4] |
Win | 9–13 | Mar 2021 | Santiago, Chile | Challenger | Clay | Luis David Martínez | Rafael Matos
Felipe Meligeni Alves | 7–5, 6-1 |
Win | 10–13 | Mar 2021 | Prostějov, Czech Republic | Challenger | Clay | Aleksandr Nedovyesov | Roman Jebavý
Zdeněk Kolář | 1–6, 7–6(7–5), [10–6] |
Loss | 10–14 | Jul 2021 | Amersfoort, Netherlands | Challenger | Clay | Sergio Galdós | Luca Castelnuovo
Manuel Guinard | 6–0, 4–6, [9–11] |
Loss | 10–15 | Aug 2021 | Verona, Italy | Challenger | Clay | Luca Margaroli | Sadio Doumbia
Fabien Reboul | 5–7, 6–4, [6–10] |
Win | 11–15 | Oct 2021 | Lima II, Peru | Challenger | Clay | Sergio Galdós | Marcelo Tomás Barrios Vera
Alejandro Tabilo | 6–2, 2–6, [10–5] |
Loss | 11–16 | Dec 2021 | Maia, Portugal | Challenger | Clay (i) | Andrej Martin | Nuno Borges
Francisco Cabral | 3–6, 4–6 |
Loss | 11–17 | Apr 2022 | Aguascalientes, Mexico | Challenger | Clay | Divij Sharan | Nicolás Barrientos
Miguel Ángel Reyes-Varela | 5–7, 3–6 |
Win | 12–17 | Sep 2022 | Lisbon, Portugal | Challenger | Clay | Zdeněk Kolář | Vladyslav Manafov
Oleg Prihodko | 6–1, 7–6(7–4) |