Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
---|
Loss | 0–1 | Oct 2015 | Greece F8, Heraklion | Futures | Hard | Alexandre Müller | Lloyd Glasspool Joshua Ward-Hibbert | w/o |
Win | 1–1 | Jan 2016 | France F1, Bagnoles-de-l'Orne | Futures | Clay (i) | Alexandre Müller | Benjamin Bonzi Grégoire Jacq | 2–6, 6–1, [10–6] |
Win | 2–1 | Mar 2016 | Israel F5, Ramat HaSharon | Futures | Hard | Maxime Janvier | Antoine Bellier Gábor Borsos | 4–6, 6–4, [12–10] |
Win | 3–1 | Sep 2016 | Belgium F13, Arlon | Futures | Clay | Antoine Hoang | Michael Geerts Jeroen Vanneste | 6–3, 6–4 |
Win | 4–1 | Jan 2017 | France F2, Bressuire | Futures | Hard (i) | Hugo Nys | Ante Pavić Ruan Roelofse | 6–4, 6–2 |
Win | 5–1 | Jul 2017 | Belgium F4, Lasne | Futures | Clay | Alexandre Müller | Maxence Brovillé Clément Tabur | 6–1, 6–3 |
Win | 6–1 | Jul 2017 | France F16, Uriage | Futures | Clay | Alexandre Müller | Antoine Bellier Johan Sébastien Tatlot | 6–3, 7–5 |
Loss | 6–2 | Dec 2017 | Hong Kong F5, Hong Kong | Futures | Hard | Takuto Niki | Evan King Michael Zhu | 4–6, 2–6 |
Loss | 6–3 | May 2018 | France F9, Grasse | Futures | Clay | Alexandre Müller | Hugo Gaston Clément Tabur | 2–6, 4–6 |
Win | 7–3 | Sep 2018 | Belgium F10, Damme | Futures | Clay | François-Arthur Vibert | Valentin Günther Mats Rosenkranz | 6–4, 2–6, [11–9] |
Win | 8–3 | Apr 2019 | M15 Madrid, Spain | World Tennis Tour | Clay | Johan Nikles | Tomás Lipovšek Puches Felipe Meligeni Alves | 7–5, 5–7, [13–11] |
Loss | 8–4 | Apr 2019 | M15 Grasse, France | World Tennis Tour | Clay | Amaury Delmas | Mick Lescure Christoph Negritu | 2–6, 3–6 |
Win | 9–4 | Jun 2019 | Blois, France | Challenger | Clay | Alexandre Müller | Sergio Galdós Andreas Siljeström | 7–5, 6–7(5–7), [10–6] |
Win | 10–4 | Sep 2019 | M15 Tabarka, Tunisia | World Tennis Tour | Clay | Clément Tabur | Ignacio Carou Franco Feitt | 6–0, 6–1 |
Win | 11–4 | Sep 2019 | M25 Jounieh, Lebanon | World Tennis Tour | Clay | Jonathan Eysseric | Eric Ahren Moonga Jonathan Mridha | 6–7(4–7), 7–6(7–2), [10–7] |
Loss | 11–5 | Nov 2019 | M25 Saint-Dizier, France | World Tennis Tour | Hard (i) | Benjamin Bonzi | Antoine Cornut-Chauvinc Harold Mayot | 4–6, 6–0, [8–10] |
Loss | 11–6 | Jan 2020 | M25 Nonthaburi, Thailand | World Tennis Tour | Hard | Chung Yun-seong | Sonchat Ratiwatana Wishaya Trongcharoenchaikul | 3–6, 6–4, [10–5] |
Win | 12–6 | Feb 2020 | M25 Nonthaburi, Thailand | World Tennis Tour | Hard | Benjamin Bonzi | Sebastian Fanselow Karim-Mohamed Maamoun | 6–2, 6–4 |
Loss | 12–7 | Mar 2020 | M25 Potchefstroom, South Africa | World Tennis Tour | Hard | Simon Carr | Benjamin Bonzi Matteo Martineau | 4–6, 2–6 |
Loss | 12–8 | Nov 2020 | M15 Heraklion, Greece | World Tennis Tour | Hard | Jonathan Eysseric | Mateus Alves Facundo Díaz Acosta | 6–4, 3–6, [4-10] |
Win | 13–8 | Apr 2021 | M25 Angers, France | World Tennis Tour | Clay (i) | Manuel Guinard | Arthur Cazaux Titouan Droguet | Walkover |
Loss | 13–9 | May 2021 | M25 Vic, Spain | World Tennis Tour | Clay | Michael Geerts | Mateus Alves Oscar José Gutierrez | 6–7(3–7), 2–6 |
Loss | 13–10 | Jun 2021 | Almaty, Kazakhstan | Challenger | Clay | Adrián Menéndez Maceiras | Vladyslav Manafov Vitaliy Sachko | 1–6, 4–6 |
Loss | 13–11 | Aug 2021 | M25 Pitești, Romania | World Tennis Tour | Clay | Clément Tabur | Valentin Royer Tseng Chun-hsin | 6–4, 2–6, [8–10] |
Win | 14–11 | Jan 2022 | M15+H Bagnoles-de-l'Orne, France | World Tennis Tour | Clay (i) | Luca Van Assche | Ronan Joncour Mandresy Rakotomalala | 6–3, 6–4 |
Win | 15–11 | Oct 2022 | M25 Gaziantep, Turkey | World Tennis Tour | Clay | Damien Venger | Sarp Ağabigün S Mert Özdemir | 6–3, 6–2 |
Loss | 15–12 | Jan 2023 | M25 Sheffield, UK | World Tennis Tour | Hard (i) | Simon Freund | Scott Duncan Marcus Willis | 3–6, 4–6 |
Win | 16–12 | May 2023 | M15 Pazardzhik, Bulgaria | World Tennis Tour | Clay | Alex Knaff | Riccardo Balzerani
Artsiom Sinitsyn | 6–0, 6–0 |
Win | 17–12 | Jun 2023 | M15 Tanger, Morocco | World Tennis Tour | Clay | Constantin Bittoun Kouzmine | Luigi Sorrentino Lorenzo Vatteroni | 7–5, 6–3 |
Loss | 17–13 | Jul 2023 | M25 Pitești, Romania | World Tennis Tour | Clay | Stefan Palosi | Radu Mihai Papoe Dan Alexandru Tomescu | 6–7(4–7), 3–6 |
Win | 18–13 | Sep 2023 | M25 Kigali, Rwanda | World Tennis Tour | Clay | Damien Wenger | Abraham Asaba Guy Orly Iradukunda | 4–6, 7–6(7–5), [10–5] |
Win | 19–13 | Sep 2023 | M25 Zlatibor, Serbia | World Tennis Tour | Clay | Damien Wenger | Viktor Jovic Luka Pavlović | 6–1, 4–6, [10–5] |
Win | 20–13 | Oct 2023 | M25 Telavi, Georgia | World Tennis Tour | Clay | Damien Wenger | Finn Reynolds Roy Stepanov | 6–0, 6–2 |
Loss | 20–14 | Dec 2023 | M15 Antalya, Turkey | World Tennis Tour | Clay | Sarp Ağabigün | Jay Clarke James Mackinlay | 6–7(5–7), 5–7 |
Win | 21–14 | Jan 2024 | M25 Hammamet, Tunisia | World Tennis Tour | Clay | Filip Cristian Jianu | Adrian Oetzbach Kelsey Stevenson | 6–3, 4–6, [10–7] |
Loss | 21–15 | Feb 2024 | M25 Hammamet, Tunisia | World Tennis Tour | Clay | Damien Wenger | Jay Clarke Sandro Kopp | 2–6, 5–7 |
Win | 22–15 | Apr 2024 | M15 Orange Park, United States | World Tennis Tour | Clay | Duarte Vale | Sekou Bangoura Boris Kozlov | 4–6, 7–5, [10–8] |
Loss | 22–16 | Jun 2024 | M25 Grasse, France | World Tennis Tour | Clay | Damien Wenger | Mariano Kestelboim Franco Roncadelli | 3–6, 5–7 |
Loss | 22–17 | Jun 2024 | Blois, France | Challenger | Hard (i) | Arthur Géa | Benjamin Lock Courtney John Lock | 1–6, 6–3, [4–10] |