HYROX Bilbao 2026: Pro Men results
285 finishers on 7 Feb 2026. Typical finish 1:14:52, fastest 10% under 1:03:34. Back to the analysis.
| # | Athlete | Age | Time | Behind 1st | Runs | Stations | Rox | Ski | Push | Pull | BBJ | Row | Carry | Lunge | WB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Harry Thompson ENG1st of 82 aged 30-34 | 30-34 | 54:55 | 27:09 | 24:23 | 3:27 | 3:50 | 2:32 | 3:25 | 2:46 | 3:57 | 1:09 | 2:27 | 4:17 | |
| 2 | Graham Halliday 🇬🇧 GBR2nd of 82 aged 30-34 | 30-34 | 56:22 | 1:27 | 27:34 | 25:20 | 3:32 | 3:50 | 3:28 | 3:37 | 2:39 | 4:04 | 1:23 | 2:45 | 3:34 |
| 3 | Pablo Sánchez Santos 🇪🇸 ESP3rd of 82 aged 30-34 | 30-34 | 56:37 | 1:42 | 26:33 | 26:47 | 3:23 | 4:01 | 3:20 | 3:35 | 2:44 | 4:00 | 1:32 | 3:09 | 4:26 |
| 4 | Pedro Antonio Toral Leiva 🇪🇸 ESP1st of 55 aged 25-29 | 25-29 | 57:12 | 2:17 | 28:05 | 25:35 | 3:38 | 3:50 | 3:28 | 3:39 | 2:26 | 3:58 | 1:30 | 2:40 | 4:04 |
| 5 | Roberto Viciedo Gimeno 🇪🇸 ESP2nd of 55 aged 25-29 | 25-29 | 58:40 | 3:45 | 29:04 | 25:58 | 3:43 | 3:59 | 3:16 | 3:47 | 2:43 | 4:07 | 1:27 | 2:56 | 3:43 |
| 6 | José Ribeiro 🇵🇹 POR1st of 21 aged 16-24 | 16-24 | 58:51 | 3:56 | 28:44 | 26:13 | 4:00 | 4:01 | 3:04 | 3:59 | 2:21 | 4:03 | 1:30 | 3:10 | 4:05 |
| 7 | Olivier Jouve 🇫🇷 FRA4th of 82 aged 30-34 | 30-34 | 59:09 | 4:14 | 29:05 | 26:22 | 3:45 | 4:04 | 3:39 | 3:52 | 2:36 | 4:05 | 1:43 | 2:46 | 3:37 |
| 8 | Samuel Pimentel 🇪🇸 ESP1st of 35 aged 40-44 | 40-44 | 59:33 | 4:38 | 28:58 | 26:59 | 3:40 | 4:05 | 3:15 | 4:16 | 2:23 | 4:09 | 1:25 | 3:09 | 4:17 |
| 9 | Reynaldo Latinne 🇧🇪 BEL5th of 82 aged 30-34 | 30-34 | 59:34 | 4:39 | 29:27 | 26:16 | 3:57 | 3:56 | 2:46 | 3:42 | 2:47 | 4:13 | 1:27 | 2:53 | 4:32 |
| 10 | Cédric Khampasath 🇫🇷 FRA2nd of 35 aged 40-44 | 40-44 | 59:58 | 5:03 | 28:32 | 27:43 | 3:48 | 4:05 | 3:34 | 4:06 | 3:07 | 4:14 | 1:34 | 3:07 | 3:56 |
| 11 | Matías Dumpiérrez Ferrer 🇪🇸 ESP6th of 82 aged 30-34 | 30-34 | 1:00:52 | 5:57 | 30:12 | 27:00 | 3:46 | 4:04 | 3:07 | 3:53 | 2:25 | 4:12 | 1:30 | 3:15 | 4:34 |
| 12 | Florian Saurin 🇫🇷 FRA7th of 82 aged 30-34 | 30-34 | 1:01:06 | 6:11 | 29:06 | 28:16 | 3:49 | 4:00 | 3:41 | 4:07 | 2:30 | 4:11 | 1:27 | 3:01 | 5:19 |
| 13 | Bernat Anglada 🇪🇸 ESP8th of 82 aged 30-34 | 30-34 | 1:01:21 | 6:26 | 30:12 | 27:26 | 3:47 | 3:54 | 3:03 | 3:40 | 2:52 | 4:09 | 1:27 | 3:15 | 5:06 |
| 14 | Pedro Teresinho 🇵🇹 POR2nd of 21 aged 16-24 | 16-24 | 1:01:21 | 6:26 | 29:45 | 28:01 | 3:40 | 4:02 | 2:42 | 4:24 | 3:23 | 4:04 | 1:30 | 3:01 | 4:55 |
| 15 | Kristofer McSherry SCO9th of 82 aged 30-34 | 30-34 | 1:01:24 | 6:29 | 29:46 | 27:50 | 3:52 | 4:03 | 3:12 | 4:06 | 3:18 | 4:14 | 1:25 | 2:56 | 4:36 |
| 16 | Matteo Solari 🇨🇭 SUI3rd of 55 aged 25-29 | 25-29 | 1:01:31 | 6:36 | 29:00 | 28:39 | 3:56 | 4:08 | 2:58 | 4:08 | 2:51 | 4:17 | 1:44 | 3:31 | 5:02 |
| 17 | Erlaitz Cano 🇪🇸 ESP4th of 55 aged 25-29 | 25-29 | 1:01:32 | 6:37 | 29:41 | 28:03 | 3:52 | 3:53 | 3:01 | 3:52 | 3:05 | 4:07 | 1:30 | 3:59 | 4:36 |
| 18 | Francisco Dias 🇵🇹 POR10th of 82 aged 30-34 | 30-34 | 1:01:45 | 6:50 | 29:28 | 28:12 | 4:09 | 4:00 | 3:08 | 4:07 | 3:07 | 4:11 | 1:37 | 3:05 | 4:57 |
| 19 | Antoine Bouhana 🇫🇷 FRA1st of 60 aged 35-39 | 35-39 | 1:01:50 | 6:55 | 30:21 | 27:26 | 4:09 | 4:09 | 3:04 | 4:16 | 2:30 | 4:15 | 1:21 | 3:20 | 4:31 |
| 20 | Filipe Prates 🇵🇹 POR2nd of 60 aged 35-39 | 35-39 | 1:01:55 | 7:00 | 29:23 | 28:31 | 4:07 | 4:05 | 3:15 | 4:24 | 2:47 | 4:24 | 1:29 | 3:03 | 5:04 |
| 21 | Stephen Harold 🇮🇪 IRL3rd of 60 aged 35-39 | 35-39 | 1:02:04 | 7:09 | 30:30 | 27:34 | 4:05 | 3:54 | 3:15 | 3:59 | 2:50 | 4:06 | 1:32 | 3:23 | 4:35 |
| 22 | Emmanuel Lamothe 🇫🇷 FRA5th of 55 aged 25-29 | 25-29 | 1:02:08 | 7:13 | 29:57 | 28:40 | 3:36 | 4:02 | 3:47 | 4:30 | 3:09 | 4:13 | 1:29 | 3:26 | 4:04 |
| 23 | Ash Harrell 🇬🇧 GBR4th of 60 aged 35-39 | 35-39 | 1:02:33 | 7:38 | 27:20 | 31:43 | 3:33 | 4:03 | 4:17 | 4:11 | 3:29 | 4:12 | 1:37 | 4:03 | 5:51 |
| 24 | Rubén Patiño Vieites 🇪🇸 ESP5th of 60 aged 35-39 | 35-39 | 1:03:01 | 8:06 | 31:20 | 28:00 | 3:47 | 3:58 | 3:32 | 4:14 | 2:53 | 4:06 | 1:35 | 3:20 | 4:22 |
| 25 | Nicolas Mayoute 🇫🇷 FRA11th of 82 aged 30-34 | 30-34 | 1:03:12 | 8:17 | 30:29 | 28:55 | 3:54 | 4:01 | 3:24 | 3:44 | 3:18 | 4:15 | 1:20 | 3:44 | 5:09 |
| 26 | Jorge Arturo Barral 🇪🇸 ESP12th of 82 aged 30-34 | 30-34 | 1:03:17 | 8:22 | 30:34 | 28:25 | 4:21 | 4:04 | 3:30 | 3:56 | 2:46 | 4:10 | 1:46 | 3:19 | 4:54 |
| 27 | Julián D. Rojas Cañas 🇨🇴 COL3rd of 21 aged 16-24 | 16-24 | 1:03:32 | 8:37 | 30:29 | 29:14 | 3:53 | 4:03 | 3:27 | 3:47 | 3:11 | 4:17 | 1:23 | 3:28 | 5:38 |
| 28 | Alberto Serrano 🇪🇸 ESP13th of 82 aged 30-34 | 30-34 | 1:03:33 | 8:38 | 29:50 | 29:28 | 4:18 | 4:05 | 4:01 | 4:32 | 2:36 | 4:19 | 1:38 | 4:07 | 4:10 |
| 29 | Santi Mtnez 🇪🇸 ESP6th of 60 aged 35-39 | 35-39 | 1:03:33 | 8:38 | 29:03 | 30:27 | 4:07 | 4:08 | 3:28 | 4:40 | 2:51 | 4:23 | 1:26 | 3:55 | 5:36 |
| 30 | Jon Ander Obeso 🇪🇸 ESP6th of 55 aged 25-29 | 25-29 | 1:03:36 | 8:41 | 30:58 | 28:56 | 3:48 | 4:16 | 3:20 | 4:13 | 2:40 | 4:19 | 1:34 | 3:28 | 5:06 |
| 31 | Yeray Toquero 🇪🇸 ESP7th of 60 aged 35-39 | 35-39 | 1:04:04 | 9:09 | 29:07 | 31:14 | 3:46 | 3:54 | 3:05 | 3:46 | 2:27 | 4:05 | 1:25 | 3:04 | 9:28 |
| 32 | Romain Clot 🇫🇷 FRA3rd of 35 aged 40-44 | 40-44 | 1:04:17 | 9:22 | 30:06 | 30:11 | 4:06 | 4:06 | 3:32 | 4:13 | 3:20 | 4:09 | 1:38 | 3:56 | 5:17 |
| 33 | Dimitry Martins 🇫🇷 FRA7th of 55 aged 25-29 | 25-29 | 1:04:21 | 9:26 | 29:07 | 31:22 | 3:55 | 3:55 | 3:59 | 4:33 | 2:09 | 4:01 | 1:31 | 3:19 | 7:55 |
| 34 | Emmanuel Biguet 🇫🇷 FRA8th of 55 aged 25-29 | 25-29 | 1:04:34 | 9:39 | 29:00 | 31:29 | 4:11 | 4:11 | 3:35 | 4:51 | 3:15 | 4:16 | 1:39 | 3:44 | 5:58 |
| 35 | Pepe Salama 🇪🇸 ESP14th of 82 aged 30-34 | 30-34 | 1:04:36 | 9:41 | 30:23 | 30:15 | 4:04 | 4:00 | 3:55 | 5:24 | 4:27 | 4:10 | 1:33 | 2:31 | 4:15 |
| 36 | Evan Syrotiuk 🇫🇷 FRA9th of 55 aged 25-29 | 25-29 | 1:04:40 | 9:45 | 31:29 | 29:03 | 4:12 | 4:00 | 3:52 | 4:24 | 2:56 | 4:18 | 1:35 | 3:30 | 4:28 |
| 37 | Kyle Delavari 🇮🇪 IRL8th of 60 aged 35-39 | 35-39 | 1:04:49 | 9:54 | 31:18 | 29:42 | 3:53 | 4:11 | 2:53 | 4:04 | 3:16 | 4:17 | 1:36 | 3:19 | 6:06 |
| 38 | Alberto Pareja 🇪🇸 ESP15th of 82 aged 30-34 | 30-34 | 1:04:50 | 9:55 | 31:06 | 29:50 | 3:59 | 3:53 | 3:02 | 4:35 | 3:35 | 4:03 | 1:34 | 4:04 | 5:04 |
| 39 | Julian Arcos Liroa 🇪🇸 ESP4th of 35 aged 40-44 | 40-44 | 1:04:54 | 9:59 | 30:46 | 30:06 | 4:08 | 4:01 | 3:21 | 4:07 | 3:42 | 4:20 | 1:25 | 4:02 | 5:08 |
| 40 | Ion Gorostidi Diaz 🇪🇸 ESP9th of 60 aged 35-39 | 35-39 | 1:04:59 | 10:04 | 29:47 | 31:23 | 3:55 | 4:16 | 4:40 | 4:35 | 2:48 | 4:16 | 1:41 | 3:11 | 5:56 |
| 41 | Anthony Oliver 🇫🇷 FRA5th of 35 aged 40-44 | 40-44 | 1:05:01 | 10:06 | 32:09 | 28:26 | 4:31 | 4:07 | 3:27 | 4:19 | 2:53 | 4:14 | 1:22 | 3:28 | 4:36 |
| 42 | Guillaume Lescarboura 🇫🇷 FRA10th of 55 aged 25-29 | 25-29 | 1:05:01 | 10:06 | 30:39 | 30:19 | 4:06 | 4:01 | 4:00 | 4:24 | 3:01 | 4:11 | 1:31 | 3:37 | 5:34 |
| 43 | Francisco Javier Ponte Luna 🇪🇸 ESP11th of 55 aged 25-29 | 25-29 | 1:05:02 | 10:07 | 33:00 | 27:53 | 4:15 | 4:06 | 3:03 | 3:26 | 3:13 | 4:14 | 1:38 | 3:19 | 4:54 |
| 44 | David Maia 🇵🇹 POR16th of 82 aged 30-34 | 30-34 | 1:05:07 | 10:12 | 30:32 | 30:30 | 4:10 | 4:07 | 4:32 | 4:42 | 3:18 | 4:15 | 1:39 | 3:48 | 4:09 |
| 45 | Robert Stols 🇳🇱 NED6th of 35 aged 40-44 | 40-44 | 1:05:24 | 10:29 | 31:17 | 30:00 | 4:11 | 4:20 | 3:13 | 4:02 | 3:08 | 4:18 | 1:32 | 4:01 | 5:26 |
| 46 | Hodei Aspuru 🇪🇸 ESP12th of 55 aged 25-29 | 25-29 | 1:05:35 | 10:40 | 30:58 | 30:42 | 3:58 | 4:16 | 3:38 | 4:08 | 3:46 | 4:18 | 1:42 | 4:00 | 4:54 |
| 47 | Bradley Johnson 🇬🇧 GBR10th of 60 aged 35-39 | 35-39 | 1:05:55 | 11:00 | 29:51 | 32:14 | 3:54 | 4:17 | 3:47 | 4:47 | 3:56 | 4:21 | 1:44 | 4:02 | 5:20 |
| 48 | Michal Grabowski 🇵🇱 POL13th of 55 aged 25-29 | 25-29 | 1:06:13 | 11:18 | 27:49 | 34:37 | 3:52 | 3:52 | 4:17 | 5:21 | 3:58 | 4:13 | 2:27 | 4:09 | 6:20 |
| 49 | Iker Beristain 🇪🇸 ESP17th of 82 aged 30-34 | 30-34 | 1:06:21 | 11:26 | 30:11 | 32:08 | 4:07 | 4:14 | 3:29 | 5:16 | 3:11 | 4:27 | 1:47 | 4:09 | 5:35 |
| 50 | Maneu Manuel Roca 🇪🇸 ESP14th of 55 aged 25-29 | 25-29 | 1:06:21 | 11:26 | 28:53 | 33:02 | 4:31 | 4:10 | 3:31 | 5:08 | 3:05 | 4:18 | 1:26 | 3:44 | 7:40 |
| 51 | Jack Mullane 🇮🇪 IRL15th of 55 aged 25-29 | 25-29 | 1:06:23 | 11:28 | 31:05 | 31:22 | 4:00 | 4:13 | 3:03 | 4:17 | 2:51 | 4:18 | 1:43 | 3:24 | 7:33 |
| 52 | Andreas Vesterholm 🇩🇰 DEN16th of 55 aged 25-29 | 25-29 | 1:06:27 | 11:32 | 33:53 | 27:56 | 4:42 | 4:00 | 2:40 | 3:55 | 3:06 | 4:13 | 1:54 | 3:51 | 4:17 |
| 53 | Luis de la Peña 🇪🇸 ESP18th of 82 aged 30-34 | 30-34 | 1:06:27 | 11:32 | 33:27 | 29:00 | 4:05 | 3:55 | 3:26 | 4:03 | 4:21 | 4:03 | 1:29 | 3:17 | 4:26 |
| 54 | Grégoire Monguillon 🇫🇷 FRA11th of 60 aged 35-39 | 35-39 | 1:06:41 | 11:46 | 32:12 | 30:18 | 4:16 | 4:15 | 3:40 | 4:23 | 3:30 | 4:22 | 1:40 | 3:57 | 4:31 |
| 55 | Anders Næstholdt 🇩🇰 DEN19th of 82 aged 30-34 | 30-34 | 1:06:43 | 11:48 | 31:10 | 31:25 | 4:12 | 4:10 | 3:43 | 5:02 | 3:18 | 4:26 | 1:26 | 3:32 | 5:48 |
| 56 | Daniel Feijoo 🇪🇸 ESP1st of 17 aged 45-49 | 45-49 | 1:06:45 | 11:50 | 29:56 | 33:02 | 3:51 | 3:58 | 3:55 | 5:17 | 3:32 | 4:10 | 1:54 | 3:57 | 6:19 |
| 57 | Ruben Gonzalez Pereda 🇪🇸 ESP20th of 82 aged 30-34 | 30-34 | 1:06:58 | 12:03 | 30:20 | 32:03 | 4:39 | 4:09 | 3:30 | 4:19 | 3:15 | 4:20 | 1:44 | 4:36 | 6:10 |
| 58 | Guillerme Fernández Lorenzo 🇪🇸 ESP17th of 55 aged 25-29 | 25-29 | 1:07:09 | 12:14 | 30:57 | 31:51 | 4:24 | 3:53 | 3:33 | 5:11 | 3:12 | 4:02 | 1:52 | 4:03 | 6:05 |
| 59 | Robert Reynolds 🇮🇪 IRL18th of 55 aged 25-29 | 25-29 | 1:07:18 | 12:23 | 34:54 | 28:26 | 4:04 | 4:09 | 2:47 | 4:11 | 3:24 | 4:17 | 1:58 | 3:33 | 4:07 |
| 60 | Gonçalo Nunes 🇵🇹 POR21st of 82 aged 30-34 | 30-34 | 1:07:18 | 12:23 | 33:04 | 30:06 | 4:12 | 4:16 | 3:21 | 4:17 | 3:29 | 4:20 | 1:43 | 4:00 | 4:40 |
| 61 | Daniel Mas Serrano 🇪🇸 ESP19th of 55 aged 25-29 | 25-29 | 1:07:18 | 12:23 | 30:37 | 32:22 | 4:26 | 4:12 | 3:18 | 5:00 | 2:54 | 4:26 | 1:35 | 3:09 | 7:48 |
| 62 | Conor Shoemark 🇬🇧 GBR22nd of 82 aged 30-34 | 30-34 | 1:07:23 | 12:28 | 30:41 | 32:29 | 4:16 | 3:58 | 4:03 | 4:33 | 4:13 | 4:20 | 1:28 | 3:52 | 6:02 |
| 63 | Benjamin Adriani 🇩🇪 GER2nd of 17 aged 45-49 | 45-49 | 1:07:24 | 12:29 | 33:31 | 29:11 | 4:46 | 4:02 | 3:30 | 3:53 | 3:31 | 4:12 | 1:20 | 3:51 | 4:52 |
| 64 | Omar Jesús Santana Acosta 🇪🇸 ESP12th of 60 aged 35-39 | 35-39 | 1:07:32 | 12:37 | 33:51 | 29:27 | 4:19 | 3:52 | 3:08 | 3:46 | 3:33 | 4:08 | 1:38 | 4:19 | 5:03 |
| 65 | Max Villa 🇫🇷 FRA23rd of 82 aged 30-34 | 30-34 | 1:07:47 | 12:52 | 33:20 | 29:09 | 5:22 | 4:03 | 3:51 | 4:58 | 3:54 | 4:23 | 2:00 | 4:31 | — |
| 66 | Luis Gonzales 🇵🇪 PER24th of 82 aged 30-34 | 30-34 | 1:07:53 | 12:58 | 32:23 | 31:14 | 4:20 | 4:07 | 3:38 | 4:37 | 2:59 | 4:14 | 1:37 | 4:05 | 5:57 |
| 67 | Javier Perdomo Suárez 🇪🇸 ESP25th of 82 aged 30-34 | 30-34 | 1:08:03 | 13:08 | 31:37 | 32:16 | 4:15 | 4:12 | 3:13 | 4:50 | 3:51 | 4:24 | 1:47 | 4:08 | 5:51 |
| 68 | Juan Manuel Rodríguez Quintana 🇪🇸 ESP7th of 35 aged 40-44 | 40-44 | 1:08:16 | 13:21 | 35:03 | 28:00 | 5:19 | 3:48 | 2:42 | 4:48 | 2:59 | 4:19 | 1:36 | 3:31 | 4:17 |
| 69 | Tom Cansfield 🇬🇧 GBR13th of 60 aged 35-39 | 35-39 | 1:08:16 | 13:21 | 32:04 | 32:10 | 4:07 | 4:20 | 3:59 | 4:52 | 3:31 | 4:26 | 1:51 | 4:08 | 5:03 |
| 70 | David Rodríguez Azcunaga 🇪🇸 ESP14th of 60 aged 35-39 | 35-39 | 1:08:17 | 13:22 | 33:37 | 29:22 | 5:22 | 3:58 | 3:27 | 4:36 | 2:46 | 4:07 | 1:30 | 3:38 | 5:20 |
| 71 | Mikel Fernández Peña 🇪🇸 ESP8th of 35 aged 40-44 | 40-44 | 1:08:17 | 13:22 | 31:08 | 33:00 | 4:11 | 4:18 | 3:57 | 5:19 | 3:30 | 4:24 | 1:33 | 4:36 | 5:23 |
| 72 | Laurent Degoutte 🇫🇷 FRA9th of 35 aged 40-44 | 40-44 | 1:08:22 | 13:27 | 32:11 | 31:59 | 4:17 | 4:19 | 3:06 | 4:34 | 3:52 | 4:30 | 1:33 | 4:02 | 6:03 |
| 73 | Angel Rivero 🇪🇸 ESP3rd of 17 aged 45-49 | 45-49 | 1:08:25 | 13:30 | 32:45 | 31:34 | 4:10 | 4:06 | 4:00 | 4:09 | 3:45 | 4:16 | 1:57 | 4:24 | 4:57 |
| 74 | Francisco Henriques 🇵🇹 POR4th of 17 aged 45-49 | 45-49 | 1:08:25 | 13:30 | 32:10 | 31:54 | 4:27 | 4:06 | 3:59 | 4:15 | 3:13 | 4:17 | 2:08 | 4:24 | 5:32 |
| 75 | José Branco 🇵🇹 POR20th of 55 aged 25-29 | 25-29 | 1:08:26 | 13:31 | 32:44 | 31:11 | 4:36 | 4:00 | 4:39 | 4:56 | 3:40 | 4:14 | 1:30 | 3:28 | 4:44 |
| 76 | Samuel Eckstein Guerado 🇪🇸 ESP21st of 55 aged 25-29 | 25-29 | 1:08:29 | 13:34 | 34:21 | 29:18 | 4:54 | 4:07 | 2:58 | 4:28 | 4:12 | 4:15 | 1:53 | 3:17 | 4:08 |
| 77 | Steven Ansard 🇫🇷 FRA4th of 21 aged 16-24 | 16-24 | 1:08:29 | 13:34 | 28:38 | 36:10 | 3:44 | 4:13 | 3:40 | 4:40 | 3:32 | 4:14 | 2:53 | 3:55 | 9:03 |
| 78 | David Cespedosa Toribio 🇪🇸 ESP15th of 60 aged 35-39 | 35-39 | 1:08:39 | 13:44 | 34:40 | 29:29 | 4:35 | 4:09 | 3:05 | 4:37 | 3:37 | 4:17 | 1:40 | 3:44 | 4:20 |
| 79 | Mattia Bianchi 🇮🇹 ITA10th of 35 aged 40-44 | 40-44 | 1:08:47 | 13:52 | 33:24 | 30:49 | 4:39 | 4:20 | 3:15 | 4:40 | 2:58 | 4:19 | 1:57 | 4:07 | 5:13 |
| 80 | Joni Somoza 🇪🇸 ESP26th of 82 aged 30-34 | 30-34 | 1:08:51 | 13:56 | 31:14 | 33:25 | 4:16 | 4:09 | 4:15 | 4:32 | 3:52 | 4:26 | 2:03 | 4:28 | 5:40 |
| 81 | Bruno Abrantes 🇵🇹 POR27th of 82 aged 30-34 | 30-34 | 1:08:56 | 14:01 | 32:42 | 31:35 | 4:43 | 4:19 | 3:03 | 5:18 | 2:47 | 4:31 | 1:48 | 3:28 | 6:21 |
| 82 | Jose Ángel Piñeiro López 🇪🇸 ESP28th of 82 aged 30-34 | 30-34 | 1:09:00 | 14:05 | 33:31 | 30:46 | 4:47 | 4:00 | 3:50 | 4:14 | 3:34 | 4:16 | 1:37 | 3:52 | 5:23 |
| 83 | Oscar Espada Rodríguez 🇪🇸 ESP29th of 82 aged 30-34 | 30-34 | 1:09:02 | 14:07 | 33:34 | 31:32 | 4:01 | 4:03 | 3:58 | 5:35 | 3:19 | 4:15 | 1:37 | 3:58 | 4:47 |
| 84 | Bohdan Herashchenko 🇵🇹 POR22nd of 55 aged 25-29 | 25-29 | 1:09:13 | 14:18 | 31:50 | 33:22 | 4:05 | 3:59 | 3:41 | 4:56 | 4:34 | 4:13 | 1:42 | 4:16 | 6:01 |
| 85 | Andrei Canseco 🇪🇸 ESP5th of 21 aged 16-24 | 16-24 | 1:09:28 | 14:33 | 32:27 | 32:20 | 4:45 | 4:17 | 3:47 | 4:32 | 3:23 | 4:19 | 1:44 | 4:42 | 5:36 |
| 86 | Manuel Fraga Díaz 🇪🇸 ESP5th of 17 aged 45-49 | 45-49 | 1:09:32 | 14:37 | 30:26 | 34:48 | 4:23 | 4:16 | 4:31 | 6:14 | 3:04 | 4:29 | 1:42 | 3:22 | 7:10 |
| 87 | Preston Burnett 🇺🇸 USA30th of 82 aged 30-34 | 30-34 | 1:09:33 | 14:38 | 32:15 | 32:39 | 4:45 | 4:21 | 3:31 | 4:35 | 3:52 | 4:24 | 1:34 | 4:38 | 5:44 |
| 88 | Gonzalo Ruiz Gutiérrez 🇪🇸 ESP6th of 21 aged 16-24 | 16-24 | 1:09:53 | 14:58 | 33:23 | 31:38 | 4:56 | 4:02 | 3:11 | 5:28 | 3:44 | 4:27 | 1:33 | 5:36 | 3:37 |
| 89 | Borja Cespedes Garrido 🇪🇸 ESP23rd of 55 aged 25-29 | 25-29 | 1:09:55 | 15:00 | 35:13 | 29:26 | 5:21 | 4:00 | 3:58 | 4:47 | 3:19 | 4:17 | 1:38 | 3:44 | 3:43 |
| 90 | Tiá Llodrá 🇪🇸 ESP24th of 55 aged 25-29 | 25-29 | 1:09:57 | 15:02 | 33:52 | 31:50 | 4:19 | 4:07 | 3:09 | 4:51 | 3:15 | 4:28 | 2:00 | 3:45 | 6:15 |
| 91 | Andoni Gaztañaga 🇪🇸 ESP25th of 55 aged 25-29 | 25-29 | 1:10:03 | 15:08 | 35:41 | 29:49 | 4:38 | 4:09 | 2:38 | 5:29 | 3:15 | 4:10 | 1:45 | 3:24 | 4:59 |
| 92 | Iban Jauregi 🇪🇸 ESP31st of 82 aged 30-34 | 30-34 | 1:10:11 | 15:16 | 33:13 | 32:38 | 4:26 | 4:07 | 3:57 | 4:46 | 3:17 | 4:27 | 1:58 | 3:46 | 6:20 |
| 93 | Eloy Fernández Toca 🇪🇸 ESP26th of 55 aged 25-29 | 25-29 | 1:10:11 | 15:16 | 32:18 | 33:03 | 4:56 | 4:02 | 3:18 | 5:08 | 3:40 | 4:19 | 1:54 | 5:14 | 5:28 |
| 94 | Kyle Mizzi 🇲🇹 MLT27th of 55 aged 25-29 | 25-29 | 1:10:22 | 15:27 | 32:04 | 34:16 | 4:05 | 4:09 | 3:46 | 6:22 | 3:50 | 4:23 | 2:11 | 4:33 | 5:02 |
| 95 | Diego Navarro Pérez 🇪🇸 ESP7th of 21 aged 16-24 | 16-24 | 1:10:25 | 15:30 | 33:53 | 31:59 | 4:36 | 4:17 | 3:27 | 5:10 | 3:42 | 4:26 | 1:46 | 4:20 | 4:51 |
| 96 | Guillermo Ortolá 🇪🇸 ESP32nd of 82 aged 30-34 | 30-34 | 1:10:36 | 15:41 | 32:00 | 34:02 | 4:39 | 4:00 | 4:44 | 4:14 | 3:52 | 4:16 | 1:46 | 4:28 | 6:42 |
| 97 | Luís Pinho 🇵🇹 POR16th of 60 aged 35-39 | 35-39 | 1:10:39 | 15:44 | 34:44 | 31:24 | 4:35 | 4:17 | 3:43 | 4:33 | 3:00 | 4:12 | 1:48 | 4:12 | 5:39 |
| 98 | Pablo Aragón 🇪🇸 ESP28th of 55 aged 25-29 | 25-29 | 1:10:40 | 15:45 | 31:13 | 35:27 | 4:05 | 4:21 | 3:33 | 8:11 | 2:59 | 4:23 | 1:43 | 4:00 | 6:17 |
| 99 | Giuseppe Caruso 🇮🇹 ITA33rd of 82 aged 30-34 | 30-34 | 1:11:02 | 16:07 | 33:38 | 32:51 | 4:38 | 4:07 | 3:43 | 4:35 | 4:04 | 4:37 | 1:48 | 4:06 | 5:51 |
| 100 | Ricardo Rodrigues 🇵🇹 POR11th of 35 aged 40-44 | 40-44 | 1:11:10 | 16:15 | 34:31 | 32:03 | 4:41 | 4:10 | 4:08 | 4:49 | 3:48 | 4:21 | 1:46 | 4:08 | 4:53 |
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.