Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Salzburg Challenger Wimbledon - London Nordea Open - Bastad Hamburg European Open - Hamburg Davis Cup, Group A, Bologna U.S. Open - New York Mallorca Challenger Oeiras 4 Challenger Alicante Challenger Orleans Challenger Malaga Challenger Lima 2 Challenger Stockholm Open - Stockholm Guayaquil Challenger Valencia Challenger Montevideo Challenger Miami Open - Miami Naples Challenger Open 13 Provence - Marseille Oeiras 3 Challenger BNP Paribas Open - Indian Wells Qatar ExxonMobil Open - Doha Australian Open - Melbourne Manama Challenger ABN AMRO Open - Rotterdam Quimper Challenger Open Sud de France - Montpellier Davis Cup, World Group, Q, SWE-BRA 1-3 Dubai Duty Free Tennis Championships - Dubai Phoenix Challenger Ostrava Challenger Bucharest Open - Bucharest Wimbledon - London Internazionali BNL d'Italia - Rome French Open - Paris Mauthausen Challenger US Men's Clay Court Championship - Houston Mutua Madrid Open - Madrid Gonet Geneva Open - Geneva Boss Open - Stuttgart Citi Open - Washington Surbiton Challenger Cary Challenger National Bank Open - Montreal Sassuolo Challenger Nordea Open - Bastad Atlanta Open - Atlanta Orleans Challenger U.S. Open - New York Istanbul Challenger Davis Cup, Group D, Manchester Shanghai Rolex Masters - Shanghai Australian Open - Melbourne BNP Paribas Nordic Open - Stockholm Zug Challenger Francavilla Challenger Mouilleron-Le-Captif Challenger Seoul Challenger Swiss Indoors Basel - Basel Roanne Challenger Belgrade Open - Belgrade Matsuyama Challenger Kobe Challenger Mutua Madrid Open - Madrid Pune Challenger Abierto Mexicano Telcel - Acapulco Yokkaichi Challenger Chennai Challenger Yokohama Challenger BNP Paribas Open - Indian Wells St. Tropez Challenger Dallas Open - Dallas Grodzisk Mazowiecki Challenger BMW Open - Munich Davis Cup, World Group, QF, GER-CAN 2-0 Hong Kong Tennis Open - Hong Kong New Delhi Challenger Adelaide International - Adelaide Oeiras 5 Challenger Seoul Challenger Sassuolo Challenger Terra Wortmann Open - Halle Porto Challenger Mallorca Championships - Mallorca Naples Challenger Miami Open - Miami Rome Challenger Internazionali BNL d'Italia - Rome Tiriac Open - Bucharest Monte-Carlo Rolex Masters - Monte-Carlo Monza Challenger Hamburg Open - Hamburg French Open - Paris Perugia Challenger Rolex Paris Masters - Paris Heilbronn Challenger Boss Open - Stuttgart Braunschweig Challenger Nordea Open - Bastad Mifel Tennis Open - Los Cabos U.S. Open - New York National Bank Open - Toronto Cincinnati Open - Cincinnati Seville Challenger Porto 2 Challenger Szczecin Challenger Japan Open Tennis Championships - Tokyo Bad Waltersdorf Challenger Braga Challenger Shanghai Rolex Masters - Shanghai Lisbon Challenger Swiss Indoors Basel - Basel BNP Paribas Nordic Open - Stockholm Portugal F1 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Canada F7 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Great Britain F7 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Canada F9 Canada F11 Canada F3 Canada F6 USA F32 USA F33 USA F35 USA F3 USA F4 USA F5 Canada F1 Canada F2 USA F12 USA F13 USA F14 USA F15 Italy F12 Canada F1 (Gatineau) Canada F2 (Sherbrooke) Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Arad Challenger Poznan Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Shanghai Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Granby Challenger Aptos Challenger Vancouver Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger Jonkoping Challenger Drummondville Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Mestre Challenger Prostejov Challenger Caltanissetta Challenger Moscow Challenger Perugia Challenger Bastad Challenger Biella Challenger Granby Challenger Gatineau Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Rome Challenger Tiburon Challenger Stockton Challenger Mohammedia Challenger Fairfield Challenger Happy Valley Challenger Canberra Challenger Maui Challenger Dallas Challenger Drummondville Challenger Guadalajara Challenger Leon Challenger San Francisco Challenger Barletta Challenger Tallahassee Challenger Savannah Challenger Aix En Provence Challenger Bordeaux Challenger Heilbronn Challenger Vicenza Challenger Surbiton Challenger Nottingham Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Gatineau Challenger Granby Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Tiburon Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Rennes Challenger Budapest Challenger Irving Challenger St. Brieuc Challenger Tunis Challenger Aix En Provence Challenger Prostejov Challenger Bastad Challenger Chicago Challenger Cary Challenger Orleans Challenger Brest Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Rennes Challenger Phoenix Challenger Alicante Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Nur-Sultan Challenger Prague Challenger Prague II Challenger Aix En Provence Challenger Split Challenger Istanbul Challenger Orlando Challenger Biella 4 Challenger Marbella Challenger Split 1 Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Prague Challenger Lyon Challenger Aix En Provence Challenger Braunschweig Challenger St. Tropez Challenger Cassis Challenger Rennes Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Tenerife Challenger Marbella Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Salzburg Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Helsinki Challenger Andria Challenger Maia Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Split Challenger Bordeaux Challenger Prostejov Challenger Seville Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Citi Open - Washington Suisse Open - Gstaad If Stockholm Open - Stockholm Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Open 13 - Marseille Millennium Estoril Open - Estoril AEGON Championships - London SkiStar Swedish Open - Bastad European Open - Antwerp If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Erste Bank Open - Vienna Next Gen ATP Finals - Milan Brisbane International - Brisbane Qatar ExxonMobil Open - Doha ASB Classic - Auckland Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Mercedes Cup - Stuttgart Gerry Weber Open - Halle AEGON Championships - London AEGON International - Eastbourne SkiStar Swedish Open - Bastad Swiss Open - Gstaad Citi Open - Washington Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 Provence - Marseille Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Fever-Tree Championships - London SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Erste Bank Open - Vienna ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille St. Petersburg Open - St. Petersburg Erste Bank Open - Vienna bett1HULKS Championships - Cologne Sofia Open - Sofia Murray River Open - Melbourne Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart cinch Championships - London Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Swiss Open - Gstaad Truist Atlanta Open - Atlanta Citi Open - Washington St. Petersburg Open - St. Petersburg Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan San Diego Open - San Diego Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart cinch Championships - London Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Citi Open - Washington Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Erste Bank Open - Vienna Korea Open - Seoul Adelaide International 1 - Adelaide Tata Open Maharashtra - Pune Dallas Open - Dallas ABN AMRO World Tennis Tournament - Rotterdam Delray Beach Open - Delray Beach Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Banja Luka Open - Banja Luka Boss Open - Stuttgart Terra Wortmann Open - Halle ASB Classic - Auckland Sony Open Tennis - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Montreal Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Bangkok Challenger Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, World Group, PO, CAN-CHI 5-0 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, World Group, 1R, CAN-GBR 2-3 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, World Group, PO, CAN-IND 3-2 Davis Cup, Group II, 3R, SWE-LTU 5-0 Laver Cup - Prague Davis Cup, World Group, 1R, CRO-CAN 3-1 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, PO, CAN-NED 3-1 Davis Cup, World Group, QR, SVK-CAN 2-3 Davis Cup, World Group, QR, COL-SWE 4-0 Laver Cup - Geneva Davis Cup, Finals, Group F Davis Cup, Finals, QF, AUS-CAN 1-2 Davis Cup, Finals, SF, RUS-CAN 1-2 Davis Cup, Finals, F, ESP-CAN 2-0 ATP Cup - Brisbane, Perth, Sydney Davis Cup, World Group, QR, SWE-CHI 3-1 ATP Cup - Melbourne Laver Cup - Boston Davis Cup, Finals, Group B ATP Cup - Sydney Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Davis Cup, Finals, QF, GER-CAN 1-2 Davis Cup, Finals, SF, ITA-CAN 1-2 Davis Cup, Finals, F, CAN-AUS 2-0 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) Zadar Challenger All Lower level tournaments Cary Challenger Maia Challenger Mubadala World Tennis Championship Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, World Group I, 1R, SWE-IND 4-0