World No. 119 · 42 career titles · career win–loss 968–701. Match history, ranking timeline and head-to-head records below.

| Country | Colombia |
| Born | 2000 |
| Plays | Right-handed |
| Height | 183 cm |
| Ranking | #119 · 509 pts |
| Career high | #119 |
Strength 0–100 is our own calculation, not an official tour ranking: 100 is the strongest in history, 70 is about the level of the world No. 100.
| Event · Round | Opponent | Score | Surface | |
|---|---|---|---|---|
| L | Saint Tropez, France, Qualifying · R32 | Ugo Blanchet (FRA) | 0-2 | Hard |
| L | Davis Cup Qualifiers 2nd Rd · UNK | Tallon Griekspoor (NED) | 2-6, 4-6 | Hard |
| L | US Open · Q1 | Liam Draxl (CAN) | 6-4, 6-7, 6-4 | Hard |
| L | ATP Challenger Cancun, Mexico #3449783 · R16 | Marcelo Tomas BARRIOS VERA () | 6-2, 7-6(6) | |
| L | Cancun Country Open · R32 | Camilo Ugo Carabelli (ARG) | 7-5, 6-4 | Hard |
| L | Cancun Country Open · R16 | Tomas Barrios Vera () | 6-2, 7-6 | Hard |
| W | Cincinnati Open · Q2 | Henrique Rocha (POR) | 7-5, 4-6, 6-3 | Hard |
| L | Cincinnati Open · R128 | Adam Walton (AUS) | 7-6, 6-0 | Hard |
| W | Cincinnati Open · Q1 | Jacob Fearnley (GBR) | 6-3, 3-6, 6-2 | Hard |
| L | Omnium Banque Nationale présenté par Rogers · R64 | Lorenzo Musetti (ITA) | 7-6, 6-2 | Hard |
| W | ATP Montreal, Canada #3409852 · R128 | Martin Landaluce () | 4-6, 6-4, 6-3 | |
| W | Omnium Banque Nationale présenté par Rogers · R128 | Martin Landaluce () | 4-6, 6-4, 6-3 | Hard |
| Season | Win–Loss | Titles | Year-end rank |
|---|---|---|---|
| 2026 | 45–46 | 2 | |
| 2025 | 77–81 | 2 | |
| 2024 | 81–65 | 4 | |
| 2023 | 44–66 | ||
| 2022 | 88–94 | 3 | |
| 2021 | 66–63 | ||
| 2020 | 26–23 | 1 | |
| 2019 | 141–77 | 11 | |
| 2018 | 144–72 | 5 | |
| 2017 | 171–56 | 8 | |
| 2016 | 65–38 | 6 | |
| 2015 | 11–10 |