Knockout bracket
Round of 16
Quarterfinal
Early rounds
Round of 32 12 matches
| Winner | Loser | Set 1 | Set 2 | Set 3 |
|---|---|---|---|---|
| Arthur Rinderknech | Dominic Stricker | 6-4 | 6-4 | · |
| Zizou Bergs | Oscar Otte | 7-63 | 6-1 | · |
| Laslo Djere | Thiago Seyboth Wild | 6-4 | 6-3 | · |
| Marc Polmans | Sandro Ehrat | 7-5 | 6-3 | · |
| Hugo Gaston | Juan Manuel Cerundolo | 6-4 | 6-2 | · |
| Federico Delbonis | Leandro Riedi | 6-3 | 6-3 | · |
| Benoit Paire | Jozef Kovalik | 6-3 | 7-62 | · |
| Tallon Griekspoor | Juan Ignacio Londero | 7-5 | 4-6 | 7-61 |
| Dennis Novak | Kacper Zuk | 6-4 | 6-4 | · |
| Feliciano Lopez | Marc Andrea Huesler | 6-4 | 4-6 | 6-5 |
| Mikael Ymer | Enzo Couacaud | 4-6 | 6-3 | 6-3 |
| Vit Kopriva | Johan Nikles | 6-2 | 6-1 | · |
Players
| Player | Country | Reached | |
|---|---|---|---|
| Casper Ruud | NOR | Winner | |
| Hugo Gaston | FRA | Final | |
| Laslo Djere | SRB | Semifinal | |
| Vit Kopriva | CZE | Semifinal | |
| Arthur Rinderknech | FRA | Quarterfinal | |
| Benoit Paire | FRA | Quarterfinal | |
| Cristian Garin | CHI | Quarterfinal | |
| Mikael Ymer | SWE | Quarterfinal | |
| Denis Shapovalov | CAN | Round of 16 | |
| Dennis Novak | AUT | Round of 16 | |
| Federico Delbonis | ARG | Round of 16 | |
| Feliciano Lopez | ESP | Round of 16 | |
| Marc Polmans | AUS | Round of 16 | |
| Roberto Bautista Agut | ESP | Round of 16 | |
| Tallon Griekspoor | NED | Round of 16 | |
| Zizou Bergs | BEL | Round of 16 | |
| Dominic Stricker | SUI | Round of 32 | |
| Enzo Couacaud | FRA | Round of 32 | |
| Johan Nikles | SUI | Round of 32 | |
| Jozef Kovalik | SVK | Round of 32 | |
| Juan Ignacio Londero | ARG | Round of 32 | |
| Juan Manuel Cerundolo | ARG | Round of 32 | |
| Kacper Zuk | POL | Round of 32 | |
| Leandro Riedi | SUI | Round of 32 | |
| Marc Andrea Huesler | SUI | Round of 32 | |
| Oscar Otte | GER | Round of 32 | |
| SE | Sandro Ehrat | SUI | Round of 32 |
| Thiago Seyboth Wild | BRA | Round of 32 |