Knockout bracket
Round of 16
Quarterfinal
Early rounds
Round of 32 12 matches
| Winner | Loser | Set 1 | Set 2 | Set 3 |
|---|---|---|---|---|
| Gabriel Diallo | Roberto Carballes Baena | 4-6 | 7-64 | 7-5 |
| Jaume Munar | Alejandro Davidovich Fokina | 4-6 | 6-3 | 6-3 |
| Nuno Borges | Bu Yunchaokete | 3-6 | 6-3 | 7-66 |
| Zizou Bergs | Alejandro Moro Canas | 6-4 | 6-4 | · |
| Alexandre Muller | Marc Andrea Huesler | 2-6 | 6-4 | 6-3 |
| Miomir Kecmanovic | Luciano Darderi | 6-3 | 6-3 | · |
| Lorenzo Sonego | Brandon Nakashima | 7-64 | 6-3 | · |
| Cameron Norrie | Learner Tien | 6-3 | 7-5 | · |
| Kei Nishikori | Denis Shapovalov | 6-2 | 6-3 | · |
| Pedro Martinez | Francesco Passaro | 6-4 | 6-4 | · |
| Juncheng Shang | Coleman Wong | 7-63 | 6-4 | · |
| Fabian Marozsan | Roman Safiullin | 6-1 | 7-69 | · |
Players
| Player | Country | Reached | |
|---|---|---|---|
| Alexandre Muller | FRA | Winner | |
| Kei Nishikori | JPN | Final | |
| Jaume Munar | ESP | Semifinal | |
| Juncheng Shang | CHN | Semifinal | |
| Arthur Fils | FRA | Quarterfinal | |
| Cameron Norrie | GBR | Quarterfinal | |
| Fabian Marozsan | HUN | Quarterfinal | |
| Lorenzo Musetti | ITA | Quarterfinal | |
| Andrey Rublev | RUS | Round of 16 | |
| Gabriel Diallo | CAN | Round of 16 | |
| Karen Khachanov | RUS | Round of 16 | |
| Lorenzo Sonego | ITA | Round of 16 | |
| Miomir Kecmanovic | SRB | Round of 16 | |
| Nuno Borges | POR | Round of 16 | |
| Pedro Martinez | ESP | Round of 16 | |
| Zizou Bergs | BEL | Round of 16 | |
| Alejandro Davidovich Fokina | ESP | Round of 32 | |
![]() |
Alejandro Moro Canas | ESP | Round of 32 |
| Brandon Nakashima | USA | Round of 32 | |
| Bu Yunchaokete | CHN | Round of 32 | |
| Coleman Wong | HKG | Round of 32 | |
| Denis Shapovalov | CAN | Round of 32 | |
| Francesco Passaro | ITA | Round of 32 | |
| Learner Tien | USA | Round of 32 | |
| Luciano Darderi | ITA | Round of 32 | |
| Marc Andrea Huesler | SUI | Round of 32 | |
| Roberto Carballes Baena | ESP | Round of 32 | |
| Roman Safiullin | RUS | Round of 32 |
