HYROX Barcelona 2025: Open Men results

1,904 finishers on 25 Apr 2025. Typical finish 1:23:07, fastest 10% under 1:09:19. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Xavier Dufour 🇫🇷 FRA1st of 392 aged 25-29 25-29 57:04 27:05 26:08 3:56 4:14 2:24 3:26 3:01 4:07 1:33 3:08 4:15
2 Liam Shallicker 🇬🇧 GBR2nd of 392 aged 25-29 25-29 57:05 0:01 29:20 23:43 4:06 3:57 2:12 2:45 2:25 4:13 1:23 2:59 3:49
3 Craig Tebbutt 🇬🇧 GBR1st of 388 aged 35-39 35-39 57:55 0:51 29:57 23:56 4:07 3:56 2:36 2:58 2:54 3:55 1:32 2:40 3:25
4 Marcus Funken 🇩🇪 GER1st of 464 aged 30-34 30-34 59:00 1:56 29:10 25:52 4:01 4:00 3:16 3:41 2:51 4:17 1:27 2:46 3:34
5 Steven Beattie 🇬🇧 GBR2nd of 464 aged 30-34 30-34 59:08 2:04 29:11 25:42 4:20 4:07 2:29 3:23 3:12 4:13 1:28 3:17 3:33
6 Jack Kelbrick 🇬🇧 GBR3rd of 464 aged 30-34 30-34 59:51 2:47 31:43 23:51 4:21 4:00 2:21 3:23 2:27 4:16 1:27 2:45 3:12
7 Jacques Hladkyj 🇬🇧 GBR1st of 166 aged 16-24 16-24 59:57 2:53 29:53 25:50 4:17 3:58 2:24 2:53 3:58 4:02 1:26 2:54 4:15
8 Alberto Pareja García 🇪🇸 ESP4th of 464 aged 30-34 30-34 1:00:12 3:08 29:19 26:40 4:19 3:57 2:20 3:30 3:24 4:06 1:52 3:04 4:27
9 Conor Henry 🇬🇧 GBR5th of 464 aged 30-34 30-34 1:00:31 3:27 30:23 26:00 4:12 4:02 2:44 3:24 2:37 4:15 1:42 3:22 3:54
10 David Preciado 🇵🇹 POR6th of 464 aged 30-34 30-34 1:00:33 3:29 30:27 26:04 4:07 4:01 2:32 3:07 2:42 4:18 1:17 3:07 5:00
11 Lasse Pips 🇦🇹 AUT3rd of 392 aged 25-29 25-29 1:00:49 3:45 30:10 26:30 4:14 4:02 2:36 3:11 3:33 4:17 1:21 3:27 4:03
12 Josh McKenna 🇮🇪 IRL2nd of 166 aged 16-24 16-24 1:00:51 3:47 29:50 26:46 4:20 3:48 2:23 3:46 2:52 4:09 1:43 3:43 4:22
13 Dylan Mouzakki 🇫🇷 FRA7th of 464 aged 30-34 30-34 1:00:59 3:55 30:14 26:25 4:25 4:05 2:13 3:58 2:25 4:24 1:20 3:00 5:00
14 Daniel Perán Alcaraz 🇪🇸 ESP4th of 392 aged 25-29 25-29 1:01:03 3:59 29:20 27:11 4:37 4:03 3:00 3:35 2:36 4:10 1:27 3:56 4:24
15 Hamish Middlemiss 🇬🇧 GBR2nd of 388 aged 35-39 35-39 1:01:21 4:17 30:44 26:19 4:22 3:54 2:14 2:43 4:01 4:05 1:18 3:39 4:25
16 Jordan Hanson 🇬🇧 GBR3rd of 388 aged 35-39 35-39 1:01:25 4:21 31:07 26:01 4:22 3:49 2:32 3:17 3:33 4:06 1:24 3:46 3:34
17 Daniel Soares 🇵🇹 POR5th of 392 aged 25-29 25-29 1:01:34 4:30 32:10 25:03 4:26 3:57 2:33 3:02 3:01 4:04 1:32 3:26 3:28
18 Francisco Moreira 🇵🇹 POR4th of 388 aged 35-39 35-39 1:01:43 4:39 31:18 26:18 4:11 4:11 2:31 3:50 2:51 4:11 1:31 2:47 4:26
19 Ian Blanco 🇪🇸 ESP6th of 392 aged 25-29 25-29 1:01:44 4:40 29:31 27:54 4:23 4:11 2:59 3:53 2:54 4:22 1:40 3:37 4:18
20 Charlie Morris 🇬🇧 GBR3rd of 166 aged 16-24 16-24 1:01:44 4:40 29:42 28:00 4:06 4:23 2:24 3:37 3:45 4:23 1:33 3:01 4:54
21 Connor Stephenson 🇬🇧 GBR7th of 392 aged 25-29 25-29 1:01:52 4:48 31:27 26:19 4:10 3:59 2:38 3:07 3:17 4:07 1:35 3:42 3:54
22 Tiarnan O’Neill 🇮🇪 IRL4th of 166 aged 16-24 16-24 1:01:56 4:52 30:55 26:40 4:27 4:16 2:49 3:47 3:12 4:05 1:36 2:45 4:10
23 Raul Martinez Torres 🇪🇸 ESP8th of 464 aged 30-34 30-34 1:02:21 5:17 32:02 25:42 4:42 4:07 2:19 3:22 2:51 4:12 1:55 3:21 3:35
24 Robert§ Stols 🇳🇱 NED5th of 388 aged 35-39 35-39 1:02:22 5:18 31:20 26:11 4:56 3:59 2:37 3:17 3:10 4:07 1:35 3:43 3:43
25 Mattia Piaia 🇮🇹 ITA9th of 464 aged 30-34 30-34 1:02:23 5:19 31:10 26:45 4:33 4:11 2:10 3:28 3:06 4:19 1:52 3:08 4:31
26 Willow Zeghdani 🇫🇷 FRA8th of 392 aged 25-29 25-29 1:02:27 5:23 32:12 25:57 4:23 4:15 2:09 3:24 3:32 4:13 1:16 3:22 3:46
27 Harry Coppin 🇬🇧 GBR9th of 392 aged 25-29 25-29 1:02:30 5:26 31:51 26:07 4:37 4:11 2:32 3:29 3:03 4:13 1:38 3:18 3:43
28 Quentin Dupuis 🇧🇪 BEL10th of 464 aged 30-34 30-34 1:02:42 5:38 30:26 27:56 4:25 3:51 2:28 3:08 3:41 4:21 1:38 3:29 5:20
29 Cian O’Shaughnessy 🇮🇪 IRL1st of 220 aged 40-44 40-44 1:02:43 5:39 31:24 26:45 4:39 4:07 2:18 3:39 3:22 4:15 1:36 3:27 4:01
30 Mitchell Rice 🇬🇧 GBR10th of 392 aged 25-29 25-29 1:02:44 5:40 33:09 25:24 4:16 3:51 2:03 4:27 2:45 4:03 1:22 3:09 3:44
31 Roman van Eijk 🇳🇱 NED5th of 166 aged 16-24 16-24 1:02:47 5:43 31:26 26:46 4:41 4:17 2:31 3:24 2:46 4:26 1:21 3:34 4:27
32 Carlos Ayela Penalva 🇪🇸 ESP6th of 388 aged 35-39 35-39 1:02:48 5:44 30:46 27:14 4:53 4:05 2:32 3:45 2:54 4:14 1:41 3:45 4:18
33 Hugo Torregrossa 🇫🇷 FRA11th of 392 aged 25-29 25-29 1:02:57 5:53 30:31 27:52 4:37 4:06 2:30 3:49 3:19 4:23 1:29 3:26 4:50
34 Jordan White 🇬🇧 GBR11th of 464 aged 30-34 30-34 1:03:01 5:57 32:22 25:41 5:02 3:49 2:21 3:31 3:24 4:07 1:21 3:29 3:39
35 Jason van der Geugten 🇳🇱 NED12th of 392 aged 25-29 25-29 1:03:01 5:57 32:50 25:58 4:18 4:10 2:15 3:23 3:01 4:18 1:35 3:32 3:44
36 Alejandro Cerrejón 🇪🇸 ESP12th of 464 aged 30-34 30-34 1:03:01 5:57 31:15 27:36 4:14 4:07 3:13 3:27 3:18 4:17 1:39 3:19 4:16
37 Pedro Ramos Ramos 🇪🇸 ESP7th of 388 aged 35-39 35-39 1:03:01 5:57 28:32 30:18 4:16 4:28 2:58 3:47 3:00 4:19 1:48 4:15 5:43
38 Adrian Martinez Jimenez 🇪🇸 ESP8th of 388 aged 35-39 35-39 1:03:04 6:00 31:01 27:49 4:19 4:04 2:45 3:14 3:22 4:08 1:30 3:20 5:26
39 Luca Jumabhoy 🇬🇧 GBR6th of 166 aged 16-24 16-24 1:03:05 6:01 31:06 27:34 4:30 4:00 2:51 3:09 3:51 4:08 1:22 4:00 4:13
40 Romain Chamayou Brien 🇫🇷 FRA13th of 392 aged 25-29 25-29 1:03:09 6:05 29:30 29:31 4:13 4:10 2:48 4:07 3:37 4:32 1:39 3:26 5:12
41 Alex Neville 🇬🇧 GBR14th of 392 aged 25-29 25-29 1:03:12 6:08 33:05 25:43 4:29 3:56 2:03 3:30 3:35 4:15 1:23 3:27 3:34
42 Vincent Angel 🇫🇷 FRA15th of 392 aged 25-29 25-29 1:03:12 6:08 32:14 26:20 4:42 4:16 2:19 3:08 3:09 4:19 1:40 3:40 3:49
43 Daniel Redondo Muñoz 🇪🇸 ESP13th of 464 aged 30-34 30-34 1:03:14 6:10 31:55 26:51 4:33 4:15 2:49 3:41 2:50 4:28 1:37 3:15 3:56
44 Jamie Penton 🇬🇧 GBR14th of 464 aged 30-34 30-34 1:03:16 6:12 30:40 28:03 4:39 4:14 2:32 4:10 3:19 4:19 1:43 3:43 4:03
45 Mike Fecik 🇨🇦 CAN2nd of 220 aged 40-44 40-44 1:03:17 6:13 30:39 28:18 4:24 3:58 2:51 3:19 4:18 4:09 1:39 3:50 4:14
46 Asier Felipe Sosa Navarro 🇪🇸 ESP15th of 464 aged 30-34 30-34 1:03:26 6:22 32:07 27:09 4:13 3:53 2:38 3:05 2:58 4:14 1:36 3:52 4:53
47 Guillaume Coroller 🇫🇷 FRA16th of 464 aged 30-34 30-34 1:03:31 6:27 30:08 27:42 5:45 4:08 3:11 4:09 3:16 4:40 1:15 3:24 3:39
48 Sergio Jiménez Caballero 🇪🇸 ESP17th of 464 aged 30-34 30-34 1:03:35 6:31 31:14 28:07 4:18 3:55 2:55 4:07 3:15 4:34 1:23 3:34 4:24
49 John O Rourke 🇮🇪 IRL3rd of 220 aged 40-44 40-44 1:03:43 6:39 30:47 27:36 5:24 4:00 2:24 3:18 3:23 4:21 1:27 4:00 4:43
50 Grant Major 🇬🇧 GBR9th of 388 aged 35-39 35-39 1:03:54 6:50 33:10 26:12 4:38 3:50 2:16 3:09 4:00 4:10 1:34 3:33 3:40
51 Mathew Harrison 🇬🇧 GBR10th of 388 aged 35-39 35-39 1:03:57 6:53 32:03 27:39 4:20 3:55 2:38 3:19 3:59 4:20 1:42 3:51 3:55
52 Declan Mullan 🇮🇪 IRL11th of 388 aged 35-39 35-39 1:04:01 6:57 32:04 27:19 4:44 3:52 2:19 3:32 3:19 4:13 1:20 3:31 5:13
53 Adrián Rodríguez Martín 🇪🇸 ESP16th of 392 aged 25-29 25-29 1:04:02 6:58 31:16 27:59 4:51 4:04 2:32 3:33 4:35 4:10 1:28 3:45 3:52
54 Luis Caja Nacher 🇪🇸 ESP17th of 392 aged 25-29 25-29 1:04:02 6:58 29:07 30:27 4:31 4:00 2:42 5:33 3:22 4:27 1:41 3:14 5:28
55 Hodei Aspuru 🇪🇸 ESP18th of 392 aged 25-29 25-29 1:04:03 6:59 31:46 27:38 4:44 4:01 2:40 3:18 3:51 4:23 1:43 3:12 4:30
56 Boris Gurtner 🇨🇭 SUI19th of 392 aged 25-29 25-29 1:04:04 7:00 30:53 28:34 4:40 4:14 2:42 4:10 3:36 4:19 1:32 3:37 4:24
57 Gauthier Masson 🇧🇪 BEL18th of 464 aged 30-34 30-34 1:04:06 7:02 32:06 27:17 4:47 4:24 1:47 3:24 2:48 4:20 1:18 3:54 5:22
58 Mohamed Nessah 🇫🇷 FRA19th of 464 aged 30-34 30-34 1:04:07 7:03 32:17 26:55 4:59 3:51 2:51 3:43 3:05 4:04 1:30 3:17 4:34
59 Scott Glover 🇬🇧 GBR7th of 166 aged 16-24 16-24 1:04:10 7:06 31:51 28:05 4:19 4:06 2:27 3:58 3:28 4:15 1:42 3:39 4:30
60 Gonzalo Villar 🇪🇸 ESP20th of 464 aged 30-34 30-34 1:04:15 7:11 31:59 27:56 4:26 4:09 2:25 3:28 2:55 4:27 1:34 3:52 5:06
61 Tom Gregory 🇬🇧 GBR8th of 166 aged 16-24 16-24 1:04:18 7:14 31:06 29:02 4:15 4:08 2:57 3:21 4:00 4:15 1:58 3:44 4:39
62 Guille Mariscal 🇪🇸 ESP12th of 388 aged 35-39 35-39 1:04:22 7:18 33:31 26:10 4:44 4:01 2:44 3:10 2:42 4:12 1:47 3:49 3:45
63 Isaac Eustance 🇬🇧 GBR9th of 166 aged 16-24 16-24 1:04:27 7:23 32:36 27:05 4:50 4:05 2:47 3:22 3:25 4:28 1:38 3:31 3:49
64 Cian Galvin 🇮🇪 IRL20th of 392 aged 25-29 25-29 1:04:29 7:25 32:40 27:05 4:49 4:04 2:44 3:04 3:29 4:15 1:39 3:52 3:58
65 Stephen Lynch 🇮🇪 IRL4th of 220 aged 40-44 40-44 1:04:32 7:28 32:59 26:03 5:33 3:52 1:56 3:21 3:00 4:08 1:29 3:47 4:30
66 Sven Jungmann 🇩🇪 GER13th of 388 aged 35-39 35-39 1:04:38 7:34 32:28 27:46 4:29 4:07 2:24 3:05 3:45 4:29 1:29 3:50 4:37
67 Rubén Caballer Boix 🇪🇸 ESP14th of 388 aged 35-39 35-39 1:04:38 7:34 31:13 28:55 4:35 4:06 2:53 3:56 3:08 4:18 1:49 4:16 4:29
68 Ciaran Wheeldon 🇬🇧 GBR15th of 388 aged 35-39 35-39 1:04:45 7:41 33:14 26:55 4:41 3:52 2:30 3:19 3:33 4:05 1:45 3:28 4:23
69 Juan Francisco Fernández Abril 🇪🇸 ESP21st of 464 aged 30-34 30-34 1:04:46 7:42 32:03 28:07 4:41 3:59 2:39 3:28 3:20 4:04 1:58 3:45 4:54
70 Djibril Diallo 🇫🇷 FRA16th of 388 aged 35-39 35-39 1:04:47 7:43 33:40 25:58 5:13 3:51 3:06 3:40 3:03 4:04 1:33 3:26 3:15
71 Dan Garnett 🇬🇧 GBR5th of 220 aged 40-44 40-44 1:04:49 7:45 32:16 27:45 4:52 4:08 2:23 3:48 3:11 4:16 1:56 3:34 4:29
72 Rodrigo Marques 🇵🇹 POR10th of 166 aged 16-24 16-24 1:04:50 7:46 33:06 26:50 4:59 4:16 2:51 3:19 3:03 4:10 1:47 3:25 3:59
73 Martín Lucas 🇪🇸 ESP11th of 166 aged 16-24 16-24 1:04:50 7:46 31:25 28:56 4:33 4:11 2:31 4:14 3:41 4:26 1:51 4:10 3:52
74 Andrew Duchart 🇬🇧 GBR22nd of 464 aged 30-34 30-34 1:04:52 7:48 32:16 28:00 4:41 4:13 2:58 3:51 3:20 4:28 1:48 3:03 4:19
75 Alexi Panetier 🇫🇷 FRA23rd of 464 aged 30-34 30-34 1:04:52 7:48 31:43 28:47 4:27 4:16 3:17 3:30 3:20 4:26 1:25 3:56 4:37
76 Miguel Reis e Silva 🇵🇹 POR17th of 388 aged 35-39 35-39 1:04:52 7:48 30:11 30:13 4:32 4:12 2:34 4:12 3:58 4:29 1:42 4:19 4:47
77 David Giles 🇮🇪 IRL18th of 388 aged 35-39 35-39 1:04:53 7:49 32:52 27:05 5:01 4:09 2:35 3:25 3:33 4:06 1:30 3:36 4:11
78 Carlos Pérez Morillas 🇪🇸 ESP24th of 464 aged 30-34 30-34 1:04:57 7:53 31:43 28:00 5:17 4:27 2:47 2:54 3:16 4:25 1:32 4:01 4:38
79 Ronan O Brien 🇮🇪 IRL25th of 464 aged 30-34 30-34 1:04:58 7:54 32:20 28:13 4:29 4:01 2:34 3:53 3:30 4:12 1:58 3:45 4:20
80 Andrew Firth 🇬🇧 GBR21st of 392 aged 25-29 25-29 1:05:06 8:02 32:06 28:33 4:31 4:03 2:37 3:19 4:04 4:11 1:56 3:37 4:46
81 Alexandre Debhi-Durand 🇫🇷 FRA26th of 464 aged 30-34 30-34 1:05:09 8:05 30:32 29:30 5:12 4:13 2:57 3:44 3:24 4:33 1:20 3:26 5:53
82 Nathanael Worku 🇫🇷 FRA27th of 464 aged 30-34 30-34 1:05:13 8:09 33:42 26:53 4:43 4:04 2:07 3:30 3:24 4:17 1:27 3:33 4:31
83 Alberto Caraballo 🇪🇸 ESP12th of 166 aged 16-24 16-24 1:05:16 8:12 33:21 27:31 4:30 4:13 2:36 3:17 2:49 4:21 1:46 3:35 4:54
84 Ryan Smith 🇬🇧 GBR19th of 388 aged 35-39 35-39 1:05:21 8:17 33:17 27:16 4:53 4:03 2:53 4:03 2:36 4:23 1:43 3:20 4:15
85 Edward Scott 🇬🇧 GBR22nd of 392 aged 25-29 25-29 1:05:21 8:17 32:44 28:00 4:42 4:06 2:34 3:57 3:29 4:18 1:46 4:16 3:34
86 David González 🇪🇸 ESP28th of 464 aged 30-34 30-34 1:05:23 8:19 31:43 28:02 5:41 4:12 2:35 3:42 3:01 4:36 1:58 3:07 4:51
87 Ally Russell 🇬🇧 GBR23rd of 392 aged 25-29 25-29 1:05:30 8:26 31:16 29:32 4:46 4:14 3:06 4:26 3:21 4:24 1:39 3:12 5:10
88 Jorge Cardoso 🇵🇹 POR20th of 388 aged 35-39 35-39 1:05:39 8:35 32:47 28:10 4:47 4:03 2:25 3:36 3:09 4:15 1:57 4:04 4:41
89 Conor Maguire 🇮🇪 IRL13th of 166 aged 16-24 16-24 1:05:40 8:36 30:13 31:03 4:29 4:24 3:08 4:09 3:36 4:22 2:03 3:34 5:47
90 Ray Shah 🇮🇪 IRL1st of 131 aged 45-49 45-49 1:05:41 8:37 32:46 27:53 5:08 4:19 2:29 3:32 3:37 4:23 1:29 3:13 4:51
91 Lars Rademaker 🇳🇱 NED29th of 464 aged 30-34 30-34 1:05:41 8:37 31:02 30:01 4:42 4:01 2:40 3:45 3:59 4:15 2:23 3:59 4:59
92 Jason Briscoe 🇨🇦 CAN2nd of 131 aged 45-49 45-49 1:05:44 8:40 32:37 28:34 4:40 4:10 2:43 4:03 3:11 4:14 1:27 4:01 4:45
93 Leroy de Graaff 🇳🇱 NED24th of 392 aged 25-29 25-29 1:05:49 8:45 33:44 27:39 4:30 4:08 3:00 3:10 3:15 4:18 1:33 3:09 5:06
94 Liam Brennan 🇮🇪 IRL25th of 392 aged 25-29 25-29 1:05:51 8:47 32:14 28:44 4:59 3:56 2:56 3:58 3:34 4:13 1:49 3:21 4:57
95 Ramón Alarcón Rodriguez 🇪🇸 ESP3rd of 131 aged 45-49 45-49 1:05:54 8:50 31:07 30:07 4:46 4:21 3:04 3:48 3:23 4:19 1:25 4:12 5:35
96 Sam Garcia 🇪🇸 ESP30th of 464 aged 30-34 30-34 1:06:07 9:03 33:04 28:00 5:08 3:53 2:27 3:20 4:09 4:13 1:36 3:47 4:35
97 Lucas Aveldaño 🇦🇷 ARG21st of 388 aged 35-39 35-39 1:06:07 9:03 32:36 28:13 5:22 3:54 2:37 3:33 3:19 4:29 1:53 4:26 4:02
98 Matt Reid 🇬🇧 GBR26th of 392 aged 25-29 25-29 1:06:13 9:09 32:06 29:30 4:41 4:08 2:59 3:34 3:27 4:22 1:47 3:59 5:14
99 Guillaume Lescarboura 🇫🇷 FRA27th of 392 aged 25-29 25-29 1:06:16 9:12 33:24 28:08 4:49 4:08 2:35 4:01 3:25 4:21 1:26 3:43 4:29
100 Vlad Matei 🇷🇴 ROU28th of 392 aged 25-29 25-29 1:06:16 9:12 30:51 30:41 4:49 4:19 2:55 4:05 2:41 4:30 2:14 3:54 6:03
How to read

The place is among timed finishers in Open 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.

RoxHype app home: days to your HYROX, your expected finish range and this week's sessions RoxHype workout player guiding a sled push, with the next exercise lined up
Find my result