HYROX Madrid 2025: Pro Men results
496 finishers on 29 Nov 2025. Typical finish 1:18:06, fastest 10% under 1:06:04. Back to the analysis.
| # | Athlete | Age | Time | Behind 1st | Runs | Stations | Rox | Ski | Push | Pull | BBJ | Row | Carry | Lunge | WB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Alan Cao 🇫🇷 FRA1st of 135 aged 30-34 | 30-34 | 57:56 | 29:10 | 24:42 | 4:07 | 4:04 | 2:25 | 3:34 | 2:55 | 3:59 | 1:34 | 2:46 | 3:25 | |
| 2 | Ollie Russell 🇬🇧 GBR1st of 109 aged 25-29 | 25-29 | 58:49 | 0:53 | 29:11 | 25:32 | 4:11 | 4:04 | 2:50 | 3:19 | 2:48 | 4:01 | 1:23 | 2:40 | 4:27 |
| 3 | Charlie Botterill 🇬🇧 GBR1st of 50 aged 16-24 | 16-24 | 59:48 | 1:52 | 28:52 | 27:08 | 3:52 | 3:56 | 3:50 | 3:33 | 3:16 | 3:56 | 1:52 | 2:47 | 3:58 |
| 4 | Beau Smith 🇬🇧 GBR2nd of 135 aged 30-34 | 30-34 | 59:59 | 2:03 | 29:36 | 26:19 | 4:09 | 3:51 | 2:54 | 3:20 | 3:06 | 3:55 | 1:26 | 3:26 | 4:21 |
| 5 | George Martindale 🇬🇧 GBR3rd of 135 aged 30-34 | 30-34 | 1:00:03 | 2:07 | 28:55 | 26:57 | 4:16 | 4:06 | 2:42 | 3:41 | 2:54 | 4:03 | 1:36 | 3:10 | 4:45 |
| 6 | Ryan Adamson 🇬🇧 GBR1st of 94 aged 35-39 | 35-39 | 1:00:14 | 2:18 | 29:26 | 26:48 | 4:04 | 4:13 | 2:39 | 3:27 | 3:18 | 4:08 | 1:27 | 3:10 | 4:26 |
| 7 | Jon Iriondo Arangonés 🇪🇸 ESP2nd of 109 aged 25-29 | 25-29 | 1:00:52 | 2:56 | 29:44 | 26:52 | 4:20 | 4:13 | 2:26 | 3:16 | 3:00 | 4:10 | 1:26 | 3:31 | 4:50 |
| 8 | Pedro Antonio Toral Leiva 🇪🇸 ESP3rd of 109 aged 25-29 | 25-29 | 1:00:56 | 3:00 | 29:45 | 27:10 | 4:05 | 4:00 | 3:00 | 4:07 | 2:48 | 3:59 | 1:49 | 3:14 | 4:13 |
| 9 | Jose Salama 🇪🇸 ESP4th of 135 aged 30-34 | 30-34 | 1:01:19 | 3:23 | 30:06 | 27:08 | 4:11 | 4:06 | 3:50 | 3:56 | 2:40 | 4:06 | 1:46 | 2:40 | 4:04 |
| 10 | Olivier Jouve 🇫🇷 FRA5th of 135 aged 30-34 | 30-34 | 1:01:22 | 3:26 | 30:32 | 26:37 | 4:18 | 4:06 | 3:27 | 3:47 | 2:49 | 4:01 | 1:43 | 2:57 | 3:47 |
| 11 | Jesse Owen 🇬🇧 GBR6th of 135 aged 30-34 | 30-34 | 1:01:45 | 3:49 | 30:00 | 27:37 | 4:13 | 4:17 | 2:50 | 3:55 | 3:14 | 4:11 | 1:41 | 3:19 | 4:10 |
| 12 | Daniel Soares 🇵🇹 POR4th of 109 aged 25-29 | 25-29 | 1:01:49 | 3:53 | 30:05 | 27:31 | 4:16 | 4:10 | 3:36 | 3:37 | 3:08 | 4:04 | 1:37 | 3:21 | 3:58 |
| 13 | Jacques Hladkyj 🇬🇧 GBR2nd of 50 aged 16-24 | 16-24 | 1:01:51 | 3:55 | 29:57 | 27:22 | 4:37 | 4:10 | 2:38 | 3:29 | 3:27 | 3:59 | 1:27 | 2:48 | 5:24 |
| 14 | Jocelyn Pacewicz 🇫🇷 FRA5th of 109 aged 25-29 | 25-29 | 1:01:59 | 4:03 | 31:47 | 25:37 | 4:39 | 4:15 | 3:00 | 3:26 | 2:15 | 4:04 | 1:39 | 2:53 | 4:05 |
| 15 | Benito Baez Ayala 🇩🇪 GER2nd of 94 aged 35-39 | 35-39 | 1:02:00 | 4:04 | 30:04 | 27:42 | 4:18 | 4:16 | 3:21 | 4:00 | 2:51 | 4:14 | 1:30 | 3:16 | 4:14 |
| 16 | Jakub Riedel 🇵🇱 POL3rd of 50 aged 16-24 | 16-24 | 1:02:27 | 4:31 | 31:11 | 27:10 | 4:12 | 4:08 | 3:10 | 4:06 | 2:41 | 4:07 | 1:43 | 3:21 | 3:54 |
| 17 | Dylan Caruso 🇮🇹 ITA4th of 50 aged 16-24 | 16-24 | 1:02:44 | 4:48 | 29:02 | 29:34 | 4:13 | 4:04 | 3:01 | 4:08 | 3:11 | 4:17 | 1:30 | 3:37 | 5:46 |
| 18 | Tiarnan O'Neill 🇮🇪 IRL5th of 50 aged 16-24 | 16-24 | 1:02:55 | 4:59 | 30:14 | 28:31 | 4:14 | 4:27 | 2:51 | 4:58 | 3:05 | 3:57 | 1:39 | 3:09 | 4:25 |
| 19 | Lawrence Brown 🇬🇧 GBR3rd of 94 aged 35-39 | 35-39 | 1:03:11 | 5:15 | 30:15 | 28:53 | 4:08 | 4:25 | 3:28 | 4:05 | 3:05 | 4:21 | 1:46 | 3:16 | 4:27 |
| 20 | David Parkin 🇬🇧 GBR4th of 94 aged 35-39 | 35-39 | 1:03:20 | 5:24 | 29:33 | 29:49 | 4:03 | 4:08 | 3:03 | 4:25 | 2:45 | 4:10 | 1:44 | 3:24 | 6:10 |
| 21 | MJ Sutton 🇮🇪 IRL6th of 109 aged 25-29 | 25-29 | 1:03:24 | 5:28 | 31:04 | 28:01 | 4:25 | 4:11 | 2:41 | 3:40 | 3:20 | 4:17 | 1:47 | 3:35 | 4:30 |
| 22 | Shane Mc Gowan 🇮🇪 IRL5th of 94 aged 35-39 | 35-39 | 1:03:26 | 5:30 | 30:29 | 28:46 | 4:16 | 4:16 | 2:45 | 3:46 | 3:34 | 4:22 | 1:48 | 3:59 | 4:16 |
| 23 | Sam Schilling 🇺🇸 USA7th of 109 aged 25-29 | 25-29 | 1:03:33 | 5:37 | 30:07 | 28:44 | 4:48 | 4:09 | 2:45 | 3:43 | 3:32 | 4:07 | 1:38 | 3:52 | 4:58 |
| 24 | Lars Rademaker 🇳🇱 NED7th of 135 aged 30-34 | 30-34 | 1:03:34 | 5:38 | 29:39 | 29:50 | 4:10 | 4:40 | 3:18 | 4:11 | 3:24 | 4:07 | 1:55 | 3:55 | 4:20 |
| 25 | William Means 🇬🇧 GBR8th of 109 aged 25-29 | 25-29 | 1:03:38 | 5:42 | 31:01 | 28:10 | 4:31 | 4:12 | 2:49 | 4:11 | 3:35 | 4:07 | 1:40 | 3:34 | 4:02 |
| 26 | Pepe Salama 🇪🇸 ESP8th of 135 aged 30-34 | 30-34 | 1:03:38 | 5:42 | 30:52 | 28:37 | 4:14 | 4:10 | 3:36 | 4:01 | 2:53 | 4:08 | 2:09 | 2:38 | 5:02 |
| 27 | François Becourt 🇫🇷 FRA9th of 109 aged 25-29 | 25-29 | 1:03:48 | 5:52 | 29:34 | 29:48 | 4:30 | 4:09 | 3:20 | 4:13 | 3:32 | 4:10 | 1:34 | 4:05 | 4:45 |
| 28 | Evan Marion 🇫🇷 FRA6th of 50 aged 16-24 | 16-24 | 1:03:49 | 5:53 | 30:00 | 29:32 | 4:22 | 4:01 | 3:38 | 4:45 | 3:23 | 4:10 | 1:44 | 3:32 | 4:19 |
| 29 | Jamie George 🇬🇧 GBR10th of 109 aged 25-29 | 25-29 | 1:04:00 | 6:04 | 31:15 | 28:33 | 4:16 | 4:14 | 3:22 | 3:55 | 3:00 | 4:00 | 1:43 | 3:47 | 4:32 |
| 30 | Robert Livesey 🇬🇧 GBR7th of 50 aged 16-24 | 16-24 | 1:04:01 | 6:05 | 31:11 | 28:23 | 4:31 | 4:18 | 3:07 | 3:48 | 3:26 | 4:13 | 2:01 | 2:58 | 4:32 |
| 31 | Fabio Portela 🇵🇹 POR6th of 94 aged 35-39 | 35-39 | 1:04:03 | 6:07 | 32:11 | 27:28 | 4:29 | 4:07 | 2:36 | 4:06 | 3:11 | 3:59 | 1:30 | 3:15 | 4:44 |
| 32 | Ryan Stafford 🇬🇧 GBR9th of 135 aged 30-34 | 30-34 | 1:04:18 | 6:22 | 31:30 | 28:25 | 4:28 | 4:28 | 2:57 | 4:20 | 2:52 | 4:16 | 1:55 | 3:11 | 4:26 |
| 33 | Kamil Kozioł 🇵🇱 POL10th of 135 aged 30-34 | 30-34 | 1:04:21 | 6:25 | 30:42 | 28:59 | 4:44 | 4:12 | 3:05 | 3:44 | 3:25 | 4:11 | 1:37 | 3:19 | 5:26 |
| 34 | Íñigo González 🇪🇸 ESP11th of 109 aged 25-29 | 25-29 | 1:04:23 | 6:27 | 29:23 | 30:50 | 4:14 | 4:22 | 3:15 | 4:52 | 3:31 | 4:13 | 1:36 | 3:26 | 5:35 |
| 35 | João Sousa 🇵🇹 POR7th of 94 aged 35-39 | 35-39 | 1:04:28 | 6:32 | 28:47 | 31:32 | 4:13 | 4:19 | 3:56 | 4:45 | 3:11 | 4:11 | 2:04 | 3:47 | 5:19 |
| 36 | Aaron Bassett 🇮🇪 IRL11th of 135 aged 30-34 | 30-34 | 1:04:57 | 7:01 | 30:40 | 29:53 | 4:28 | 4:17 | 2:53 | 4:29 | 3:18 | 4:15 | 2:10 | 3:12 | 5:19 |
| 37 | Christophe Morin 🇫🇷 FRA12th of 135 aged 30-34 | 30-34 | 1:05:11 | 7:15 | 31:01 | 29:53 | 4:21 | 4:16 | 3:17 | 4:05 | 3:36 | 4:09 | 1:41 | 3:38 | 5:11 |
| 38 | Kieran Higgs 🇬🇧 GBR12th of 109 aged 25-29 | 25-29 | 1:05:12 | 7:16 | 30:14 | 30:29 | 4:33 | 4:13 | 2:59 | 4:27 | 3:00 | 4:13 | 1:44 | 3:48 | 6:05 |
| 39 | Fernando Martorell Munar 🇪🇸 ESP8th of 94 aged 35-39 | 35-39 | 1:05:22 | 7:26 | 31:20 | 29:38 | 4:28 | 4:11 | 3:57 | 4:12 | 2:38 | 4:20 | 1:59 | 3:24 | 4:57 |
| 40 | Jordi Rossello Knabe 🇪🇸 ESP13th of 135 aged 30-34 | 30-34 | 1:05:25 | 7:29 | 31:25 | 29:44 | 4:21 | 4:13 | 3:56 | 4:17 | 3:26 | 4:12 | 1:46 | 3:33 | 4:21 |
| 41 | Martin Lecorgne 🇫🇷 FRA13th of 109 aged 25-29 | 25-29 | 1:05:44 | 7:48 | 29:14 | 32:08 | 4:25 | 4:12 | 3:57 | 4:13 | 3:18 | 4:19 | 2:00 | 3:36 | 6:33 |
| 42 | Erlaitz Cano Benito 🇪🇸 ESP14th of 109 aged 25-29 | 25-29 | 1:05:45 | 7:49 | 31:36 | 29:45 | 4:29 | 4:01 | 3:24 | 3:50 | 3:24 | 4:11 | 1:42 | 4:27 | 4:46 |
| 43 | Cole Lyall 🇬🇧 GBR8th of 50 aged 16-24 | 16-24 | 1:05:45 | 7:49 | 31:30 | 30:02 | 4:19 | 4:31 | 3:07 | 5:14 | 3:55 | 4:25 | 2:40 | 3:56 | — |
| 44 | Matías Dumpiérrez Ferrer 🇪🇸 ESP14th of 135 aged 30-34 | 30-34 | 1:05:46 | 7:50 | 30:52 | 30:01 | 4:57 | 4:13 | 3:33 | 4:29 | 2:44 | 4:19 | 1:49 | 4:07 | 4:47 |
| 45 | Yeray Toquero 🇪🇸 ESP9th of 94 aged 35-39 | 35-39 | 1:05:48 | 7:52 | 31:07 | 30:23 | 4:23 | 4:09 | 3:28 | 3:39 | 2:27 | 4:11 | 1:52 | 3:18 | 7:19 |
| 46 | Shaun Hudson 🇬🇧 GBR15th of 109 aged 25-29 | 25-29 | 1:05:53 | 7:57 | 30:33 | 30:56 | 4:28 | 4:16 | 2:47 | 4:18 | 4:07 | 4:30 | 1:29 | 3:31 | 5:58 |
| 47 | Julien Fontaine 🇫🇷 FRA16th of 109 aged 25-29 | 25-29 | 1:05:55 | 7:59 | 32:28 | 28:51 | 4:40 | 4:15 | 2:50 | 4:18 | 3:18 | 4:21 | 1:35 | 3:44 | 4:30 |
| 48 | Rayane Kara 🇫🇷 FRA9th of 50 aged 16-24 | 16-24 | 1:05:57 | 8:01 | 32:33 | 29:03 | 4:27 | 4:23 | 3:23 | 4:04 | 2:14 | 4:22 | 1:57 | 2:58 | 5:42 |
| 49 | Alvaro Denis Vivar Becerra 🇪🇸 ESP17th of 109 aged 25-29 | 25-29 | 1:05:57 | 8:01 | 31:11 | 30:25 | 4:26 | 4:12 | 3:08 | 4:08 | 3:31 | 4:23 | 1:47 | 3:51 | 5:25 |
| 50 | Daniel Stoksbjerg 🇩🇰 DEN10th of 50 aged 16-24 | 16-24 | 1:06:00 | 8:04 | 32:51 | 28:46 | 4:27 | 4:07 | 2:45 | 4:07 | 3:23 | 4:10 | 1:47 | 3:58 | 4:29 |
| 51 | Filipe Prates Pucarinho 🇵🇹 POR10th of 94 aged 35-39 | 35-39 | 1:06:08 | 8:12 | 31:50 | 29:41 | 4:42 | 4:13 | 3:33 | 4:05 | 2:56 | 4:17 | 1:43 | 3:15 | 5:39 |
| 52 | Santiago Martínez Torres 🇪🇸 ESP11th of 94 aged 35-39 | 35-39 | 1:06:09 | 8:13 | 30:17 | 31:13 | 4:43 | 4:21 | 3:17 | 4:01 | 2:54 | 4:16 | 1:37 | 3:48 | 6:59 |
| 53 | Lewis Harper 🇬🇧 GBR15th of 135 aged 30-34 | 30-34 | 1:06:16 | 8:20 | 30:31 | 31:08 | 4:43 | 4:06 | 2:57 | 4:30 | 3:48 | 4:18 | 1:36 | 4:08 | 5:45 |
| 54 | Milan Konopásek 🇨🇿 CZE11th of 50 aged 16-24 | 16-24 | 1:06:17 | 8:21 | 31:51 | 29:53 | 4:36 | 4:15 | 2:44 | 3:50 | 3:22 | 4:09 | 1:55 | 3:18 | 6:20 |
| 55 | Raul Capitan Sanchez 🇪🇸 ESP12th of 94 aged 35-39 | 35-39 | 1:06:18 | 8:22 | 32:13 | 29:35 | 4:34 | 4:06 | 3:33 | 4:20 | 2:21 | 4:20 | 1:59 | 4:07 | 4:49 |
| 56 | Toby Wilson 🇬🇧 GBR18th of 109 aged 25-29 | 25-29 | 1:06:27 | 8:31 | 32:22 | 29:35 | 4:36 | 4:25 | 3:16 | 3:34 | 3:06 | 4:12 | 1:30 | 3:24 | 6:08 |
| 57 | Oscar Espada Rodríguez 🇪🇸 ESP16th of 135 aged 30-34 | 30-34 | 1:06:35 | 8:39 | 31:04 | 31:03 | 4:32 | 4:12 | 3:53 | 4:10 | 3:09 | 4:13 | 2:07 | 3:44 | 5:35 |
| 58 | Nico Krackl 🇩🇪 GER13th of 94 aged 35-39 | 35-39 | 1:06:40 | 8:44 | 31:28 | 30:38 | 4:38 | 4:10 | 3:06 | 3:42 | 3:21 | 4:13 | 1:36 | 3:28 | 7:02 |
| 59 | Paul McKeown 🇮🇪 IRL14th of 94 aged 35-39 | 35-39 | 1:06:45 | 8:49 | 31:32 | 30:47 | 4:29 | 4:26 | 3:05 | 4:08 | 3:32 | 4:28 | 1:54 | 3:51 | 5:23 |
| 60 | Kevin Lasserre 🇫🇷 FRA19th of 109 aged 25-29 | 25-29 | 1:06:51 | 8:55 | 32:37 | 29:30 | 4:48 | 4:22 | 2:46 | 4:25 | 3:31 | 4:18 | 1:28 | 3:46 | 4:54 |
| 61 | Leonardo Alonso Mora 🇪🇸 ESP17th of 135 aged 30-34 | 30-34 | 1:06:54 | 8:58 | 32:52 | 29:08 | 4:59 | 4:10 | 3:05 | 4:14 | 3:40 | 4:05 | 1:39 | 3:48 | 4:27 |
| 62 | Fernando Suárez Medina 🇪🇸 ESP20th of 109 aged 25-29 | 25-29 | 1:06:55 | 8:59 | 33:25 | 24:55 | 8:39 | 4:27 | 2:55 | 4:00 | 3:39 | 4:22 | 1:46 | — | 3:44 |
| 63 | Klemen Alič 🇸🇮 SLO18th of 135 aged 30-34 | 30-34 | 1:06:57 | 9:01 | 33:24 | 28:41 | 4:55 | 4:25 | 2:46 | 3:57 | 3:12 | 4:21 | 1:43 | 3:42 | 4:35 |
| 64 | Baltasar Santos 🇵🇹 POR12th of 50 aged 16-24 | 16-24 | 1:07:05 | 9:09 | 32:08 | 30:13 | 4:50 | 4:24 | 3:22 | 3:58 | 3:29 | 4:15 | 1:36 | 3:34 | 5:35 |
| 65 | Ken David Villanger 🇳🇴 NOR21st of 109 aged 25-29 | 25-29 | 1:07:05 | 9:09 | 32:10 | 30:32 | 4:27 | 4:27 | 3:20 | 3:44 | 4:11 | 4:23 | 1:34 | 4:04 | 4:49 |
| 66 | Alberto Serrano 🇪🇸 ESP19th of 135 aged 30-34 | 30-34 | 1:07:10 | 9:14 | 31:12 | 30:15 | 5:47 | 4:12 | 3:49 | 4:16 | 2:51 | 4:18 | 1:51 | 4:29 | 4:29 |
| 67 | Joni Somoza 🇪🇸 ESP20th of 135 aged 30-34 | 30-34 | 1:07:14 | 9:18 | 31:38 | 30:59 | 4:42 | 4:18 | 3:29 | 3:58 | 3:49 | 4:23 | 1:53 | 4:10 | 4:59 |
| 68 | Luis Daniel Angullo Moral 🇪🇸 ESP15th of 94 aged 35-39 | 35-39 | 1:07:22 | 9:26 | 32:00 | 30:03 | 5:23 | 4:19 | 3:46 | 4:14 | 3:12 | 4:19 | 1:36 | 3:22 | 5:15 |
| 69 | José Adrián Beltran 🇪🇸 ESP16th of 94 aged 35-39 | 35-39 | 1:07:26 | 9:30 | 33:01 | 29:41 | 4:47 | 4:11 | 2:58 | 4:32 | 3:47 | 4:19 | 1:31 | 3:59 | 4:24 |
| 70 | José Sousa 🇵🇹 POR22nd of 109 aged 25-29 | 25-29 | 1:07:27 | 9:31 | 33:26 | 29:26 | 4:40 | 4:19 | 3:30 | 3:57 | 2:55 | 4:22 | 1:47 | 3:23 | 5:13 |
| 71 | Grant Hudson 🇬🇧 GBR21st of 135 aged 30-34 | 30-34 | 1:07:28 | 9:32 | 33:04 | 29:37 | 4:51 | 4:08 | 2:55 | 3:52 | 3:47 | 4:12 | 1:46 | 3:39 | 5:18 |
| 72 | Niels Post 🇳🇱 NED23rd of 109 aged 25-29 | 25-29 | 1:07:37 | 9:41 | 31:40 | 31:14 | 4:47 | 4:07 | 3:06 | 5:26 | 3:21 | 4:10 | 2:15 | 3:55 | 4:54 |
| 73 | Sam Girling 🇬🇧 GBR13th of 50 aged 16-24 | 16-24 | 1:07:42 | 9:46 | 32:31 | 30:54 | 4:23 | 4:26 | 3:14 | 4:27 | 3:25 | 4:25 | 1:49 | 3:50 | 5:18 |
| 74 | Antoine Bouhana 🇫🇷 FRA17th of 94 aged 35-39 | 35-39 | 1:07:44 | 9:48 | 32:31 | 30:28 | 4:50 | 4:12 | 3:21 | 3:51 | 3:33 | 4:17 | 1:54 | 3:36 | 5:44 |
| 75 | Joshua Braznell 🇬🇧 GBR22nd of 135 aged 30-34 | 30-34 | 1:07:44 | 9:48 | 32:02 | 31:13 | 4:35 | 4:22 | 3:19 | 4:21 | 3:01 | 4:22 | 1:20 | 3:49 | 6:39 |
| 76 | Jason Fernandez Birchwood 🇪🇸 ESP23rd of 135 aged 30-34 | 30-34 | 1:07:49 | 9:53 | 31:35 | 31:45 | 4:32 | 4:27 | 2:57 | 4:52 | 3:26 | 4:30 | 2:46 | 4:21 | 4:26 |
| 77 | Albin Hodza 🇫🇷 FRA18th of 94 aged 35-39 | 35-39 | 1:07:59 | 10:03 | 32:43 | 30:44 | 4:38 | 4:21 | 2:58 | 3:49 | 3:08 | 4:08 | 1:52 | 4:00 | 6:28 |
| 78 | Pablo Calero 🇪🇸 ESP19th of 94 aged 35-39 | 35-39 | 1:08:05 | 10:09 | 30:30 | 33:02 | 4:36 | 4:24 | 3:22 | 4:28 | 3:17 | 4:27 | 2:01 | 4:19 | 6:44 |
| 79 | Jon Gorostidi 🇪🇸 ESP20th of 94 aged 35-39 | 35-39 | 1:08:08 | 10:12 | 31:47 | 31:39 | 4:47 | 4:29 | 3:59 | 4:18 | 2:58 | 4:21 | 2:18 | 3:20 | 5:56 |
| 80 | Karim Nessah 🇫🇷 FRA24th of 109 aged 25-29 | 25-29 | 1:08:11 | 10:15 | 32:07 | 31:21 | 4:48 | 4:18 | 3:10 | 4:54 | 3:28 | 4:17 | 2:00 | 3:52 | 5:22 |
| 81 | Oumar BA 🇫🇷 FRA25th of 109 aged 25-29 | 25-29 | 1:08:12 | 10:16 | 30:42 | 32:14 | 5:21 | 4:26 | 3:29 | 4:32 | 3:33 | 4:25 | 2:33 | 5:24 | 3:52 |
| 82 | Theo Chatelier 🇫🇷 FRA26th of 109 aged 25-29 | 25-29 | 1:08:17 | 10:21 | 32:26 | 30:38 | 5:19 | 4:16 | 3:02 | 5:45 | 3:13 | 4:16 | 1:34 | 3:42 | 4:50 |
| 83 | Diego Mancera 🇪🇸 ESP1st of 51 aged 40-44 | 40-44 | 1:08:17 | 10:21 | 32:26 | 31:15 | 4:41 | 4:17 | 4:31 | 4:21 | 2:50 | 4:27 | 1:49 | 3:36 | 5:24 |
| 84 | Ekain Nogueira 🇪🇸 ESP27th of 109 aged 25-29 | 25-29 | 1:08:17 | 10:21 | 32:18 | 31:33 | 4:31 | 4:25 | 3:51 | 4:09 | 3:19 | 4:25 | 1:46 | 3:50 | 5:48 |
| 85 | Josué Ramírez Suárez 🇪🇸 ESP21st of 94 aged 35-39 | 35-39 | 1:08:20 | 10:24 | 31:04 | 32:27 | 4:54 | 4:16 | 4:23 | 4:02 | 3:47 | 4:21 | 1:59 | 4:36 | 5:03 |
| 86 | Patrik Vojtaško 🇸🇰 SVK28th of 109 aged 25-29 | 25-29 | 1:08:30 | 10:34 | 34:19 | 29:32 | 4:43 | 4:05 | 3:04 | 3:43 | 3:38 | 4:05 | 1:33 | 3:19 | 6:05 |
| 87 | Rafa Velazquez 🇪🇸 ESP29th of 109 aged 25-29 | 25-29 | 1:08:44 | 10:48 | 32:35 | 31:29 | 4:45 | 4:16 | 3:52 | 4:18 | 4:05 | 4:24 | 1:50 | 4:17 | 4:27 |
| 88 | Nacho Pedraza 🇪🇸 ESP2nd of 51 aged 40-44 | 40-44 | 1:08:46 | 10:50 | 33:19 | 30:42 | 4:48 | 4:29 | 2:50 | 4:14 | 2:49 | 4:20 | 1:39 | 4:03 | 6:18 |
| 89 | Julián David Rojas Cañas 🇨🇴 COL14th of 50 aged 16-24 | 16-24 | 1:08:46 | 10:50 | 33:09 | 31:09 | 4:33 | 4:33 | 3:29 | 4:13 | 3:47 | 4:17 | 1:30 | 3:51 | 5:29 |
| 90 | Jose Angel Hidalgo Izquierdo 🇪🇸 ESP1st of 34 aged 45-49 | 45-49 | 1:08:51 | 10:55 | 30:54 | 33:24 | 4:37 | 4:05 | 4:20 | 4:51 | 3:11 | 4:10 | 2:06 | 3:55 | 6:46 |
| 91 | Jamie Palmer 🇬🇧 GBR22nd of 94 aged 35-39 | 35-39 | 1:08:55 | 10:59 | 31:30 | 32:07 | 5:22 | 4:27 | 3:53 | 5:00 | 3:09 | 4:25 | 1:33 | 3:55 | 5:45 |
| 92 | Mitchell Rice 🇬🇧 GBR30th of 109 aged 25-29 | 25-29 | 1:08:57 | 11:01 | 33:22 | 31:16 | 4:24 | 4:31 | 3:06 | 4:10 | 3:05 | 4:19 | 1:37 | 3:58 | 6:30 |
| 93 | Florian Mille 🇫🇷 FRA24th of 135 aged 30-34 | 30-34 | 1:08:57 | 11:01 | 31:29 | 33:13 | 4:19 | 4:10 | 3:10 | 4:19 | 2:57 | 4:17 | 2:17 | 4:07 | 7:56 |
| 94 | al Whitehead 🇬🇧 GBR25th of 135 aged 30-34 | 30-34 | 1:08:59 | 11:03 | 32:43 | 31:06 | 5:13 | 4:20 | 3:12 | 4:05 | 4:07 | 4:19 | 1:41 | 3:34 | 5:48 |
| 95 | Jesús Prieto de Looe 🇪🇸 ESP23rd of 94 aged 35-39 | 35-39 | 1:08:59 | 11:03 | 31:14 | 33:13 | 4:36 | 4:13 | 3:31 | 5:27 | 3:22 | 4:08 | 1:43 | 4:06 | 6:43 |
| 96 | David Bustos 🇪🇸 ESP24th of 94 aged 35-39 | 35-39 | 1:09:03 | 11:07 | 31:17 | 32:59 | 4:52 | 4:07 | 3:41 | 5:03 | 4:13 | 4:16 | 1:54 | 3:49 | 5:56 |
| 97 | Sergio Olivares Plaza 🇪🇸 ESP25th of 94 aged 35-39 | 35-39 | 1:09:05 | 11:09 | 32:38 | 31:27 | 5:05 | 4:24 | 3:28 | 4:10 | 3:07 | 4:14 | 2:03 | 4:38 | 5:23 |
| 98 | Dino Karaman 🇭🇷 CRO31st of 109 aged 25-29 | 25-29 | 1:09:05 | 11:09 | 32:47 | 31:49 | 4:34 | 4:13 | 3:39 | 4:32 | 2:53 | 4:11 | 1:49 | 3:41 | 6:51 |
| 99 | Barney Fairnington 🇬🇧 GBR3rd of 51 aged 40-44 | 40-44 | 1:09:14 | 11:18 | 32:58 | 31:28 | 4:52 | 4:19 | 3:29 | 4:47 | 3:51 | 4:24 | 1:33 | 3:35 | 5:30 |
| 100 | Mohamed Nessah 🇫🇷 FRA26th of 135 aged 30-34 | 30-34 | 1:09:23 | 11:27 | 33:22 | 31:02 | 5:01 | 4:16 | 3:23 | 4:15 | 3:40 | 4:17 | 1:43 | 4:01 | 5:27 |
How to read
The place is among timed finishers in Pro Men; the line under the name is the place in the age group. Behind 1st is the gap to the winning time. Tap a time for that race's full report, or a name for every race of that athlete.
The RoxHype app
Found your result? Beat it at your next race.
The RoxHype app is your training plan to race day: built from your splits, your kit and your race date, and adjusted every week.
- A week-by-week plan that counts down to your race
- Extra work on your slowest stations
- Adjusts every week to what you actually did
Free to download. Used by more than 40,000 HYROX athletes.